@metricinsights/pp-dev 1.4.2 → 1.4.3-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/CHANGELOG.md +188 -492
  2. package/dist/CHANGELOG.md +188 -492
  3. package/dist/cjs/cli.js +1 -1
  4. package/dist/cjs/{index-CfU5FCBe.js → index-DPIu0wrS.js} +2 -2
  5. package/dist/cjs/{index-CfU5FCBe.js.map → index-DPIu0wrS.js.map} +1 -1
  6. package/dist/cjs/index.js +1 -1
  7. package/dist/cjs/{migrate-oEwnQkHD.js → migrate-Checopmm.js} +2 -2
  8. package/dist/cjs/{migrate-oEwnQkHD.js.map → migrate-Checopmm.js.map} +1 -1
  9. package/dist/cjs/package.json +2 -2
  10. package/dist/cjs/plugin-MtsIn7_9.js +2 -0
  11. package/dist/cjs/plugin-MtsIn7_9.js.map +1 -0
  12. package/dist/cjs/plugin.js +1 -1
  13. package/dist/cjs/{version-plugin-BJwg-VuB.js → version-plugin-DfM_szBe.js} +2 -2
  14. package/dist/cjs/{version-plugin-BJwg-VuB.js.map → version-plugin-DfM_szBe.js.map} +1 -1
  15. package/dist/esm/cli.js +1 -1
  16. package/dist/esm/{index-DazOwOme.js → index-CWPc3Ff1.js} +2 -2
  17. package/dist/esm/{index-DazOwOme.js.map → index-CWPc3Ff1.js.map} +1 -1
  18. package/dist/esm/index.js +1 -1
  19. package/dist/esm/{migrate-B-C3Jle-.js → migrate-MJ2lJut-.js} +2 -2
  20. package/dist/esm/{migrate-B-C3Jle-.js.map → migrate-MJ2lJut-.js.map} +1 -1
  21. package/dist/esm/package.json +2 -2
  22. package/dist/esm/plugin-Dj6CVJuV.js +2 -0
  23. package/dist/esm/plugin-Dj6CVJuV.js.map +1 -0
  24. package/dist/esm/plugin.js +1 -1
  25. package/dist/esm/{version-plugin-7IiIlfiD.js → version-plugin-jD_UuyYt.js} +2 -2
  26. package/dist/esm/{version-plugin-7IiIlfiD.js.map → version-plugin-jD_UuyYt.js.map} +1 -1
  27. package/package.json +5 -7
  28. package/dist/cjs/plugin-CUMuI9WJ.js +0 -2
  29. package/dist/cjs/plugin-CUMuI9WJ.js.map +0 -1
  30. package/dist/esm/plugin-CopRLVdS.js +0 -2
  31. package/dist/esm/plugin-CopRLVdS.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-MtsIn7_9.js","sources":["../../../src/constants.ts","../../../src/lib/logger.ts","../../../src/lib/helpers/color.helper.ts","../../../src/lib/helpers/url.helper.ts","../../../src/lib/helpers/login.helper.ts","../../../src/lib/helpers/cookie.helper.ts","../../../src/lib/proxy-pass.middleware.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/token.helper.ts","../../../src/lib/pp.middleware.ts","../../../src/lib/output-path.ts","../../../src/lib/helpers/svg-mi-normalize.helper.ts","../../../src/lib/version-manifest.ts","../../../src/lib/helpers/zip.helper.ts","../../../src/lib/next-build-runner.ts","../../../src/lib/dist.service.ts","../../../src/lib/client.service.ts","../../../src/lib/proxy-cache.middleware.ts","../../../src/lib/rewrite-response.middleware.ts","../../../src/lib/helpers/content-encoding.helper.ts","../../../src/lib/pp-redirect.middleware.ts","../../../src/lib/auth.provider.ts","../../../src/lib/load-pp-data.middleware.ts","../../../src/lib/internal.middleware.ts","../../../src/lib/request-store.ts","../../../src/lib/request-capture.middleware.ts","../../../src/lib/request-inspector.ts","../../../src/lib/page-variables-diff.ts","../../../src/lib/variables-editor.ts","../../../src/plugin.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,null,null],"names":["afterBundlePath","resolve","__filename","fileURLToPath","document","require","pathToFileURL","href","_documentCurrentScript","tagName","toUpperCase","src","URL","baseURI","beforeBundlePath","PP_DEV_PACKAGE_DIR","existsSync","PP_DEV_CLIENT_ENTRY","version","name","JSON","parse","readFileSync","toString","VERSION","PACKAGE_NAME","PP_DEV_NEXT_BUILD_ENV_VAR","storage","Map","DEFAULT_LOGGER_KEY","createLogger","level","has","get","logger","cL","set","colors","createColors","urlReplacer","originalHost","destinationHost","content","urlReplaceRegExp","RegExp","replace","substring","args","startsWith","redirect","res","url","statusCode","setHeader","end","tokenLoginFunction","TOKEN_TYPE_CONFIG","personal","placeholder","caption","host","endpoint","regular","updateTokenUI","type","tokenInput","tokenCaption","info","innerHTML","showError","message","errorElement","textContent","classList","add","hideError","remove","setupEventHandlers","formWrapper","submitButton","addEventListener","async","e","preventDefault","value","trim","focus","tokenTypeSwitcher","getElementById","activeOption","querySelector","tokenType","dataset","token","response","fetch","method","headers","body","stringify","window","location","origin","pathname","json","error","parseError","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","isSecureRequest","req","socket","encrypted","forwardedProto","proto","Array","isArray","split","toLowerCase","rewriteSetCookie","cookie","secureRequest","pair","attributes","rewritten","map","attribute","filter","test","join","rewriteSetCookieHeader","undefined","hostOriginRegExp","PROXY_HEADER","TEXTUAL_MEDIA_TYPE_REGEXPS","isRewritableStream","contentEncoding","contentType","mediaType","some","pattern","isTextualContentType","initProxy","opts","rewritePath","baseURL","disableSSLValidation","miAPI","templateName","Error","fileType","createProxyMiddleware","selfHandleResponse","pathFilter","proxyIgnore","rP","changeOrigin","autoRewrite","cookieDomainRewrite","warn","secure","on","proxyReq","referer","getHeader","personalAccessToken","originalUrl","requestUrl","v7Features","internalPageName","u","m","match","segmentDecoded","decodeURIComponent","search","hash","rewriteDataPagePathForV7Proxy","path","cyan","yellow","blue","green","protocol","setMaxListeners","once","setTimeout","destroyed","destroy","proxyRes","serverRes","includes","streamInterceptor","interceptor","data","encoding","Buffer","from","rewrite","statusMessage","Object","entries","pipe","decoder","StringDecoder","pending","waitingForDrain","flush","text","write","pause","resume","chunk","lastBreak","lastIndexOf","slice","length","rewriteInterceptor","responseInterceptor","responseBuffer","fileTypeFromBuffer","reqUrl","searchParams","redirectToFunction","storageKey","lastRedirectKey","redirectCount","localStorage","getItem","Number","isNaN","func","params","URLSearchParams","debug","removeItem","setItem","Date","toISOString","reqHost","urlPath","destinationPath","unescapedUrlReplaceRegExp","replacedContent","urlPathReplacer","err","errorMessage","stack","writable","writeHead","BaseAPI","axios","constructor","this","checkAuth","assign","accept","maxRedirects","then","catch","AssetsAPI","super","getDownloadUrl","appId","getDownloadTemplateUrl","templateId","getUploadUrl","getUploadTemplateUrl","downloadPageAssets","withCredentials","responseType","uploadPageAssets","file","formData","FormData","assetFile","File","Uint8Array","append","post","Referer","getUri","downloadTemplateAssets","uploadTemplateAssets","AssetsV7API","PAGE_DATA_FETCH_FRAGMENT","PAGE_TEMPLATE_FETCH_FRAGMENT","MAINTENANCE_SUFFIX","unavailablePageTemplateDataError","isUnavailableJsonApiError","PageAPI","getAll","Accept","Pragma","Expires","pages","id","page","getPageContent","create","PageTemplateAPI","internal_name","page_templates","page_template","PageVariableAPI","getById","pageId","page_id","tags","parsed","TypeError","malformedIndex","findIndex","entry","normalizePageVariableTags","updateById","put","getTokenErrorInfo","status","lowerMessage","code","userFriendlyMessage","suggestions","TEMPLATE_PAGE_NAME","axiosInstanceCache","MiAPI","pageTemplate","pageTitle","pageVars","isV710OrHigher","templateLoaded","templateLoadedResolve","templateLess","assetsApi","pageApi","pageTemplateApi","pageVariableApi","Promise","cacheKey","process","env","NODE_TLS_REJECT_UNAUTHORIZED","httpsAgent","https","Agent","keepAlive","rejectUnauthorized","timeout","httpAgent","http","defaults","isTemplateLoaded","clearHeaders","obj","keys","authorization","escapeRegExp","updateHeaders","localTemplateHTML","getPageTemplate","red","template_id","find","p","enabled","visible_in_homepage","getPageVariables","template","reason","getLivePageVariables","start","now","applyPageVariables","listPages","getPageVariablesFor","isTemplateLess","reloadPageVariables","getPageInfo","pageIdToFetch","fetchV7Page","fetchLegacyPage","handlePageFetchError","buildPage","miHudLess","result","v","escapedName","pageVarRegex","dom","JSDOM","placeholderText","container","scripts","insertBefore","item","title","titleEl","serialize","getAssets","pageInfo","templateInfo","updateAssets","assets","validateCredentials","testHeaders","isValid","errorInfo","cleanup","normalizedHeaders","context","contextPrefix","suggestion","index","logTokenError","tokenErrorInfo","normalizeRelativeOutputPath","relativePath","optionName","posix","isAbsolute","win32","root","normalized","normalize","createDefaultZipFileName","appName","resolveOutputFilePath","directory","fileName","safeRelativePath","resolvedDirectory","resolvedFile","relativeToDirectory","relative","sep","normalizeSvgLikeMi","svgText","svg","removeComments","isNamespaceDeclaration","ordered","attr","removeAttribute","reorderNamespaceAttributesFirst","reindent","outerHTML","normalizeSvgFilesInDir","dir","readdirSync","withFileTypes","fullPath","isDirectory","isFile","endsWith","original","writeFileSync","node","childNodes","child","nodeType","comment","removeChild","children","el","depth","elementChildren","innerIndent","repeat","outerIndent","createTextNode","BUILD_MANIFEST_FILE_NAME","walkDir","baseDir","excludeFiles","Set","files","push","sha256OfContent","filePath","createHash","update","digest","stripUrlUserInfo","normalizeRepositoryUrl","normalizedUrl","scpLikeMatch","repositoryPath","sshProtocolMatch","gitProtocolMatch","writeBuildVersionManifest","config","outDir","cwd","versionFileTemplate","packageVersion","outDirResolved","statSync","throwIfNoEntry","manifestDate","resolvedVersionFileTemplate","versionFileName","currentDate","resolveVersionFileName","manifestPath","allPaths","checksum","hashesConcatenated","sort","computeChecksum","buildFingerprint","normalizedEntries","computeBuildFingerprint","helperVersion","modulePath","currentDir","dirname","packageJsonPath","packageStat","packageJson","parentDir","resolveHelperVersion","branchName","configBranchName","ciBranchEnvVars","variableName","currentBranchName","execSync","stdio","resolveBranchName","packageBranchName","manifest","schemaVersion","date","repositoryUrl","packageRepositoryUrl","buildManifestPath","buildManifest","manifestType","generatedAt","versionFile","versionFileSchemaVersion","compat","versionFileRequired","mkdirSync","recursive","zipDirectoryToBuffer","zip","JSZip","addDir","current","fs","readdir","full","readFile","generateAsync","compression","extractZipSafe","zipPath","loadAsync","createFolders","values","rawName","unsafeOriginalName","dest","unixPermissions","mkdir","writeFile","runNextBuildProcess","projectRoot","reject","nextBin","nextPkgPath","createRequire","proc","child_process","spawn","execPath","NODE_ENV","TEMPLATE_PART_PAGE_NAME","TEMPLATE_PART_DATE","DIRNAME","pluginPath","node_modules_path","metaDirPath","metaFilePath","TEMPLATE_VARIABLES_FILE_NAME","DistService","backupFolder","backupNameTemplate","dateFormat","pageName","currentMeta","distZipFolder","distZipFilename","buildInputFolder","nextBuild","syncOptions","syncMeta","checkMeta","stat","readMetaFile","writeMetaFile","meta","getLatestSavedBackup","lastBackupName","backupPath","backupName","getBackupMeta","pathToPosix","normalizeBackupManifestPath","normalizeExtractedRootDir","extractedDir","listFilesRecursive","rootDir","buildManifestChecksum","crypto","buildBackupFingerprint","versionFileTemplateMatcher","placeholderPattern","segments","lastIndex","exec","staticPart","trailingStaticPart","isTemplateVariablesBasename","fileBasename","pickTemplateVariablesFromBackupZip","relativePaths","contentRootDir","basename","absolutePath","fileData","actualHash","manifestHash","resolveBackupAnalysisFromZip","backupFile","tempDir","mkdtemp","os","tmpdir","buildManifestCandidates","buildManifestAbsolutePath","versionManifestPath","requestedVersionFile","exactMatchCandidates","basenameMatchCandidates","resolvedCandidates","versionFileMatcher","versionManifestCandidates","normalizedManifestFiles","templateVariables","manifestChecksum","manifestFileActualHashes","versionManifestHashMismatches","versionManifestAbsolutePath","expectedHash","normalizedPath","prototype","hasOwnProperty","call","expected","actual","mismatchedManifestPaths","fingerprintFiles","unknownFiles","backupFingerprint","buildManifestMismatch","mainHash","allFilesInMeta","Boolean","rm","force","analyzeBackup","getPublicTemplateVariablesHash","templateVariablesPath","readPublicTemplateVariablesFile","saveTemplateVariablesFile","saveBackup","precomputedAnalysis","resolvedAnalysis","resolvedBackupFileHash","lastBackupHash","lastMainHash","backupDate","filename","lastBackupDate","finally","buildNewAssets","buildNextAssets","buildCommand","msg","buildInputPath","String","saveBackupAndBuild","distDir","ClientService","server","eventMap","syncActionResolvers","onInfoDataRequest","bind","onTemplateSync","onTemplateSyncActionResponse","onPageVariablesReload","init","ws","event","handler","clearAllPendingSyncActions","resolveSyncAction","requestId","approved","clearTimeout","timeoutId","delete","_data","client","send","payload","requestSyncAction","randomUUID","timeoutMs","syncActionTimeoutMs","distService","clientInjectionPlugin","canSync","currentAssets","isAxiosError","validation","refresh","validationError","cause","httpStatus","newAssets","backupAnalysis","onlyTemplateVariablesMismatch","mm","templateVarMismatches","otherManifestMismatches","mixedTemplateAndOthers","pathsForVersionModal","promptReplaceTemplateVariables","confirmText","cancelText","cancelled","maxPaths","paths","listed","remainder","fileList","suffix","updateResult","backupMeta","backupFilename","currentHash","syncedAt","syncError","reloaded","ok","count","skipped","FILE_EXTENSION_REGEX","DEFAULT_TTL","DEFAULT_MAX_SIZE","DEFAULT_MAX_ITEMS","cache","items","totalSize","maxSize","maxItems","expiresAt","del","ttl","size","clear","purgeExpired","getTotalSize","getItemCount","next","createResponseBuffer","chunks","alloc","totalLength","reduce","sum","byteLength","concat","initProxyCache","devServer","cleanUrl","generateCacheKey","cacheItem","header","setResponseHeaders","originalEnd","originalWrite","callback","hasHeader","safeEncoding","isBuffer","finalBuffer","responseSize","getHeaders","timestamp","toFixed","finalEncoding","initRewriteResponse","predicate","buffers","cb","unzipSync","brotliDecompressSync","inflateSync","decodeContent","bufferEncoding","endCallback","gzipSync","brotliCompressSync","deflateSync","encodeContent","initPPRedirect","base","baseWithoutTrailingSlash","parsedUrl","findPaths","redirectUrl","AuthProvider","state","isAuthenticated","isRedirected","lastChecked","listeners","getState","setAuthenticated","authenticated","notifyListeners","setRedirected","redirected","updateState","updates","reset","subscribe","listener","authProvider","apiResponseCache","getCachedResponse","cached","setCachedResponse","DEFAULT_REDIRECT_URL","initLoadPPData","applyUrlRegExp","mi","appBase","isNeedTemplateLoad","requestPath","cutUrlParams","isApplyRequest","isAppNavigation","normalizedBase","isUnderBase","isHtmlDocumentRequest","authState","handleTemplateLoad","encodeURIComponent","handlePageInfoOnly","headersSent","writableEnded","options","redirectOnAuthFailure","success","handleLoadError","loadPageData","operationType","isAuthError","fullRedirectUrl","createInternalServer","app","express","use","urlencoded","extended","internalServer","RequestStore","insertOrder","maxMemory","allocateId","storedEntry","bodyBytes","requestBody","responseBody","requestBodyTruncated","responseBodyTruncated","oldest","shift","old","list","duration","source","requestSize","q","limit","isFinite","offset","Math","max","memoryUsage","SKIP_PREFIXES","SKIP_EXACT","createRequestCaptureMiddleware","store","captureLimit","startTime","reqChunks","reqSize","reqTruncated","origReqEmit","emit","buf","resChunks","resSize","resTruncated","origWrite","origEnd","captureChunk","ArrayBuffer","isView","buffer","byteOffset","getWriteEncoding","detectSource","finalized","requestHeaders","responseHeaders","finalize","INSPECTOR_PATH","routeStates","WeakMap","registerInspectorRoutes","existing","activeStore","query","parsedLimit","parseInt","requests","total","_req","memoryUsageFormatted","formatBytes","maxMemoryFormatted","requestContentType","normalizeHeaderValue","responseContentType","requestBodySize","responseBodySize","getInspectorHtml","bytes","BOOLEAN_ALLOWED_VALUES","COLOR_PATTERN","optionMatches","normalizeFieldOption","validateListItemFieldValue","itemLabel","field","isSelectLike","severity","stringValue","o","unmatched","validateListItems","tag","fields","additionalOptions","normalizeListItemFields","additional_options","fieldNames","issues","itemRecord","extraKeys","validateValueAgainstTag","tag_type","typeCompatibilityIssue","VARIABLES_EDITOR_PATH","KNOWN_TAG_TYPES","NAME_FORMAT_REGEX","MISSING_DEPS_ERROR","readSchema","registerVariablesEditorRoutes","deps","exists","schema","raw","invalidIndex","warnings","seenNames","live","combined","schemaMap","liveMap","knownNames","default_value","buildPageVariablesExport","details","uid","allPages","currentPage","sameTemplate","currentPageName","isInteger","sourceValues","importable","sourceValue","issue","tagType","planPageVariablesImport","DEV_PANEL_POSITIONS","proxy","build","sync","inspector","devPanel","miMode","mode","appType","apiVersion","integrateMiTopBar","include","addSharedComponentsScripts","addRootElement","resolvedName","defaultVersionFileTemplate","distZip","zipCfg","versionPlugin","outFileName","inDir","vfCfg","imageOptimizer","fileNameTemplate","imgCfg","imageOptimisations","backendBaseURL","MI_BACKEND_URL","enableProxyCache","proxyCacheTTL","cacheTtl","tls","allowSelfSigned","syncBackupsDir","backupsDir","MI_ACCESS_TOKEN","inspectorEnabled","inspectorMaxMemory","inspectorCaptureLimit","devPanelPosition","position","devPanelHidden","hidden","devPanelAutoHide","autoHide","nextConfig","output","devTypesDir","rmSync","miUrl","isFirstRequest","apply","transformIndexHtml","_html","_ctx","html","injectTo","random","configureServer","middlewares","reqStore","baseUrlHost","miConfig","isIndexRegExp","proxyPassMiddleware","sendErrorResponse","handleTokenValidationError","enhancedErrorInfo","errorCode","Authorization","user","user_id","Token","users"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("./plugin-CUMuI9WJ.js");require("http-proxy-middleware"),require("url"),require("vite"),require("picocolors"),require("node:string_decoder"),require("axios"),require("node:http"),require("node:https"),require("jsdom"),require("path"),require("fs"),require("crypto"),require("process"),require("child_process"),require("os"),require("node:path"),require("jszip"),require("module"),require("zlib"),require("express"),require("node:crypto"),exports.default=e.vitePPDev,exports.normalizePPDevConfig=e.normalizePPDevConfig,exports.validatePPDevConfig=e.validatePPDevConfig,exports.vitePPDev=e.vitePPDev;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("./plugin-MtsIn7_9.js");require("http-proxy-middleware"),require("url"),require("vite"),require("picocolors"),require("node:string_decoder"),require("axios"),require("node:http"),require("node:https"),require("jsdom"),require("path"),require("fs"),require("crypto"),require("process"),require("child_process"),require("os"),require("node:path"),require("jszip"),require("module"),require("zlib"),require("express"),require("node:crypto"),exports.default=e.vitePPDev,exports.normalizePPDevConfig=e.normalizePPDevConfig,exports.validatePPDevConfig=e.validatePPDevConfig,exports.vitePPDev=e.vitePPDev;
2
2
  //# sourceMappingURL=plugin.js.map
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./plugin-CUMuI9WJ.js");require("http-proxy-middleware"),require("url"),require("vite"),require("picocolors"),require("node:string_decoder"),require("axios"),require("node:http"),require("node:https"),require("jsdom"),require("path"),require("fs"),require("crypto"),require("process"),require("child_process"),require("os"),require("node:path"),require("jszip"),require("module"),require("zlib"),require("express"),require("node:crypto"),exports.versionPlugin=function(r){let i=r.outDir,o=process.cwd();return{name:"pp-dev-version",apply:"build",enforce:"post",configResolved(e){i=e.build.outDir,o=e.root??o},closeBundle(){e.writeBuildVersionManifest({outDir:i,root:o,packageVersion:r.packageVersion,versionFileTemplate:r.versionFileTemplate,packageRepositoryUrl:r.packageRepositoryUrl,packageBranchName:r.packageBranchName,enabled:r.enabled})}}};
2
- //# sourceMappingURL=version-plugin-BJwg-VuB.js.map
1
+ "use strict";const e=require("./plugin-MtsIn7_9.js");require("http-proxy-middleware"),require("url"),require("vite"),require("picocolors"),require("node:string_decoder"),require("axios"),require("node:http"),require("node:https"),require("jsdom"),require("path"),require("fs"),require("crypto"),require("process"),require("child_process"),require("os"),require("node:path"),require("jszip"),require("module"),require("zlib"),require("express"),require("node:crypto"),exports.versionPlugin=function(r){let i=r.outDir,o=process.cwd();return{name:"pp-dev-version",apply:"build",enforce:"post",configResolved(e){i=e.build.outDir,o=e.root??o},closeBundle(){e.writeBuildVersionManifest({outDir:i,root:o,packageVersion:r.packageVersion,versionFileTemplate:r.versionFileTemplate,packageRepositoryUrl:r.packageRepositoryUrl,packageBranchName:r.packageBranchName,enabled:r.enabled})}}};
2
+ //# sourceMappingURL=version-plugin-DfM_szBe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version-plugin-BJwg-VuB.js","sources":["../../../src/plugins/version-plugin.ts"],"sourcesContent":[null],"names":["config","outDir","root","process","cwd","name","apply","enforce","configResolved","resolvedConfig","build","closeBundle","writeBuildVersionManifest","packageVersion","versionFileTemplate","packageRepositoryUrl","packageBranchName","enabled"],"mappings":"yeAWM,SAAwBA,GAC5B,IAAIC,EAASD,EAAOC,OAChBC,EAAOC,QAAQC,MAEnB,MAAO,CACLC,KAAM,iBACNC,MAAO,QACPC,QAAS,OAET,cAAAC,CAAeC,GACbR,EAASQ,EAAeC,MAAMT,OAC9BC,EAAOO,EAAeP,MAAQA,CAChC,EAEA,WAAAS,GACEC,4BAA0B,CACxBX,SACAC,OACAW,eAAgBb,EAAOa,eACvBC,oBAAqBd,EAAOc,oBAC5BC,qBAAsBf,EAAOe,qBAC7BC,kBAAmBhB,EAAOgB,kBAC1BC,QAASjB,EAAOiB,SAEpB,EAEJ"}
1
+ {"version":3,"file":"version-plugin-DfM_szBe.js","sources":["../../../src/plugins/version-plugin.ts"],"sourcesContent":[null],"names":["config","outDir","root","process","cwd","name","apply","enforce","configResolved","resolvedConfig","build","closeBundle","writeBuildVersionManifest","packageVersion","versionFileTemplate","packageRepositoryUrl","packageBranchName","enabled"],"mappings":"yeAWM,SAAwBA,GAC5B,IAAIC,EAASD,EAAOC,OAChBC,EAAOC,QAAQC,MAEnB,MAAO,CACLC,KAAM,iBACNC,MAAO,QACPC,QAAS,OAET,cAAAC,CAAeC,GACbR,EAASQ,EAAeC,MAAMT,OAC9BC,EAAOO,EAAeP,MAAQA,CAChC,EAEA,WAAAS,GACEC,4BAA0B,CACxBX,SACAC,OACAW,eAAgBb,EAAOa,eACvBC,oBAAqBd,EAAOc,oBAC5BC,qBAAsBf,EAAOe,qBAC7BC,kBAAmBhB,EAAOgB,kBAC1BC,QAASjB,EAAOiB,SAEpB,EAEJ"}
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,e as l,P as c,b as d,n as p,d as f,r as u,f as g,w as h,g as m,z as b,V as w,I as v,v as y,h as P,i as x,j as S,R as T,k,l as E,m as L,M as $,o as D,p as F,q as I,s as j,t as _,u as N,x as A,D as C,C as R,y as M,A as O}from"./plugin-CopRLVdS.js";import{r as z,l as H,g as U,s as V,a as W,b as Z,c as G,i as B}from"./index-DazOwOme.js";import{loadConfigFromFile as q,mergeConfig as J,build as K,resolveConfig as Y,optimizeDeps as X,preview as Q}from"vite";import{parse as ee}from"url";import*as te from"dir-compare";import oe from"diff-match-patch";import{isBinaryFile as ne}from"isbinaryfile";import*as ie from"os";import*as se from"crypto";import re from"svgtofont";import{WebSocketServer as ae,WebSocket as le}from"ws";import"http-proxy-middleware";import"picocolors";import"node:string_decoder";import"axios";import"node:http";import"node:https";import"jsdom";import"process";import"child_process";import"node:path";import"jszip";import"module";import"zlib";import"express";import"node:crypto";import"./helpers.js";import"ejs";function ce(e){return null!=e&&!1!==e}let de=null;const pe=[{key:"r",description:"restart the server",async action(e){await e.restart()}},{key:"u",description:"show server url",action(e){e.config.logger.info(""),e.printUrls()}},{key:"o",description:"open in browser",action(e){e.openBrowser()}},{key:"c",description:"clear console",action(e){e.config.logger.clearScreen("error")}},{key:"q",description:"quit",async action(e){await e.close().finally(()=>process.exit())}},{key:"C",description:"clear proxy cache",action(e){e.cache&&(e.cache.clear(),e.config.logger.info("Proxy cache cleared"))}}];const fe=/(.+)(-[a-f0-9]{6,20})(\.[a-z0-9]+)$/i;class ue{oldAssetsPath;newAssetsPath;destinationPath;changelogFilename;changelogTemplate='<!DOCTYPE html>\n <html lang="en">\n <head>\n <meta charset="UTF-8" />\n <title>Changelog Diff</title>\n <style>\n tr,\n td {\n padding: 0;\n }\n .diff-file {\n margin-top: 20px;\n border: 1px solid #e1e4e8;\n border-radius: 6px;\n }\n .diff-file-title {\n padding: 10px 20px;\n background-color: #f6f8fa;\n border-bottom: 1px solid #e1e4e8;\n border-radius: 6px 6px 0 0;\n font-weight: bold;\n }\n .diff-file-title .renamed {\n font-weight: normal;\n }\n .diff-file-title .renamed .from {\n color: #cb2431;\n }\n .diff-file-title .renamed .to {\n color: #22863a;\n }\n .diff-file-title .added {\n color: #22863a;\n }\n .diff-file-title .deleted {\n color: #cb2431;\n }\n .diff-file-content {\n }\n .diff-table {\n tab-size: 8;\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n }\n .blob-num {\n position: relative;\n color: #1f2328;\n width: 1%;\n min-width: 50px;\n padding: 0 10px;\n font-family:\n ui-monospace,\n SFMono-Regular,\n SF Mono,\n Menlo,\n Consolas,\n Liberation Mono,\n monospace;\n font-size: 12px;\n line-height: 20px;\n text-align: right;\n white-space: nowrap;\n vertical-align: top;\n cursor: pointer;\n -webkit-user-select: none;\n user-select: none;\n }\n .blob-num.addition {\n background-color: #ccffd8;\n border-color: #1f883e;\n }\n .blob-num.deletion {\n background-color: #ffd7d5;\n border-color: #cf222e;\n }\n .blob-num::before {\n content: attr(data-line-number);\n }\n .blob-code {\n position: relative;\n padding: 0 10px 0 22px;\n vertical-align: top;\n color: #1f2329;\n }\n .blob-code.code-addition {\n background-color: #e6ffec;\n }\n .blob-code.code-deletion {\n background-color: #ffebe9;\n }\n .blob-code.skip,\n .blob-code.message {\n text-align: center;\n }\n .blob-code.skip .blob-code-inner,\n .blob-code.message .blob-code-inner {\n font-weight: bold;\n color: #6a737d;\n padding: 10px 0;\n }\n .blob-code-inner {\n display: table-cell;\n overflow: visible;\n font-family:\n ui-monospace,\n SFMono-Regular,\n SF Mono,\n Menlo,\n Consolas,\n Liberation Mono,\n monospace;\n font-size: 12px;\n word-wrap: anywhere;\n white-space: pre-wrap;\n }\n .blob-code-inner::before {\n content: attr(data-code-prefix);\n position: absolute;\n top: 1px;\n left: 8px;\n padding-right: 8px;\n }\n </style>\n </head>\n <body>\n <h1>Changelog Diff</h1>\n\n %FILES%\n </body>\n </html>';diffFileTemplateHandler;diffLineTemplateHandler;contextLines=3;logger;constructor(t){const{oldAssetsPath:o,newAssetsPath:n,destinationPath:i,changelogTemplate:s,diffFileTemplateHandler:l,diffLineTemplateHandler:c,changelogFilename:d,contextLines:p}=t;if(this.logger=r(),!o||!n||!i)throw new Error("Previous assets path, current assets path and destination path are required");if(o===n)throw new Error("Previous and current assets paths must be different");if(!this.isExists(o))throw new Error(`Previous assets path ${o} does not exist`);if(!this.isExists(n))throw new Error(`Current assets path ${n} does not exist`);if(this.isZipFile(o)){const t=e.resolve(ie.tmpdir(),se.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(ie.tmpdir(),se.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 l(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 te.compare(await this.oldAssetsPath,await this.newAssetsPath,{compareContent:!0,skipSymlinks:!0,compareSize:!0,compareDate:!1,compareNameHandler:(e,t)=>(fe.test(e)&&(e=e.replace(fe,"$1$3")),fe.test(t)&&(t=t.replace(fe,"$1$3")),0===e.localeCompare(t)?0:e.localeCompare(t)>0?1:-1)});return e.diffSet?.filter(e=>"equal"!==e.state||e.name1!==e.name2)||[]}async generateAssetFilesDiff(e,t){const o=new oe,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 ne(n)||await ne(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 ge{sourceDir;outputDir;fontName;constructor(e){this.sourceDir=e.sourceDir,this.outputDir=e.outputDir,this.fontName=e.fontName}async generate(){await re({src:this.sourceDir,dist:this.outputDir,fontName:this.fontName,css:!0,typescript:!0,startUnicode:59905,svgicons2svgfont:{fontHeight:1024}})}}class he{wss;eventListeners=new Map;lifecycleListeners=new Map;clients=new Map;ws;constructor(){this.wss=new ae({noServer:!0}),this.wss.on("connection",e=>this.onConnection(e)),this.wss.on("error",e=>this.fireLifecycle("error",e)),this.ws={on:(e,t)=>{"close"!==e&&"error"!==e?this.getEventSet(e).add(t):this.getLifecycleSet(e).add(t)},off:(e,t)=>{this.eventListeners.get(e)?.delete(t),"close"!==e&&"error"!==e||this.lifecycleListeners.get(e)?.delete(t)},send:(e,t)=>{if("string"==typeof e)for(const o of this.clients.keys())this.sendToSocket(o,e,t);else{const t=JSON.stringify(e);for(const e of this.clients.keys())e.readyState===le.OPEN&&e.send(t)}}}}handleUpgrade(e,t,o){return(e.url??"").split("?")[0]===c&&(this.wss.handleUpgrade(e,t,o,t=>{this.wss.emit("connection",t,e)}),!0)}async close(){this.fireLifecycle("close");for(const e of this.clients.keys())e.terminate();this.clients.clear(),await new Promise(e=>this.wss.close(()=>e()))}onConnection(e){const t={send:(t,o)=>this.sendToSocket(e,t,o)};this.clients.set(e,t),e.on("message",e=>this.onMessage(t,e)),e.on("close",()=>this.clients.delete(e)),e.on("error",()=>{})}onMessage(e,t){let o;try{o=JSON.parse(t.toString())}catch{return}if(!o||"custom"!==o.type||"string"!=typeof o.event)return;const n=this.eventListeners.get(o.event);if(n)for(const t of n)try{t(o.data,e)}catch(e){r().error(`ws handler for "${o.event}" failed`,{error:e instanceof Error?e:new Error(String(e))})}}sendToSocket(e,t,o){e.readyState===le.OPEN&&e.send(JSON.stringify({type:"custom",event:t,data:o}))}fireLifecycle(e,t){for(const o of this.lifecycleListeners.get(e)??[])try{o(t)}catch{}}getEventSet(e){let t=this.eventListeners.get(e);return t||(t=new Set,this.eventListeners.set(e,t)),t}getLifecycleSet(e){let t=this.lifecycleListeners.get(e);return t||(t=new Set,this.lifecycleListeners.set(e,t)),t}}const me=s("pp-dev");function be(t,o,n){const s=[...O,"package.json","next.config.js","next.config.mjs","next.config.ts","vite.config.js","vite.config.mjs","vite.config.ts",".env",".env.local",".env.development",".env.development.local"].map(o=>e.join(t,o)),r=i(s,{ignored:t=>{const o=e.basename(t);return/(^|[\/\\])\../.test(t)&&!o.startsWith(".env")&&!o.startsWith(".pp-dev")&&!o.startsWith(".pp-watch")},persistent:!0,ignoreInitial:!0,followSymlinks:!1});let l=null;return r.on("change",i=>{n(a.blue(`🔧 Config file changed: ${e.relative(t,i)}`)),l&&clearTimeout(l),l=setTimeout(async()=>{try{n(a.yellow("🔄 Restarting dev server due to config change...")),await o()}catch(e){n(a.red(`❌ Failed to restart dev server: ${e?.message}. Stack: ${e?.stack}`))}},500)}),r.on("error",e=>{n(a.red(`❌ Config watcher error: ${e}`))}),{watcher:r,restartCallback:o,logger:n}}function we(e){e.watcher&&e.watcher.close()}function ve(e){if(!e||"object"!=typeof e||!("message"in e))return!1;const t=String(e.message);return/Turbopack is not supported/i.test(t)||/native bindings are not available/i.test(t)||/Only WebAssembly \(WASM\) bindings were loaded/i.test(t)}async function ye(o){const{changelog:n,executionRoot:i,newAssetsPath:s,backupsDirPath:l,changelogDestinationPath:c,logLevel:d}=o;let p;if("string"==typeof n)p=e.resolve(i,n);else{if(!t.existsSync(l))return void r(d).warn(a.yellow("backups directory not found, skipping changelog generation"));const o=t.readdirSync(l,{withFileTypes:!0});if(!o.length)return void r(d).warn(a.yellow("no backups found, skipping changelog generation"));const n=o.filter(e=>e.isFile()&&e.name.endsWith(".zip"));if(!n.length)return void r(d).warn(a.yellow("no ZIP backups found, skipping changelog generation"));const i=n.reduce((o,n)=>t.statSync(e.resolve(l,o.name)).mtimeMs>t.statSync(e.resolve(l,n.name)).mtimeMs?o:n).name;p=e.resolve(l,i)}const f=new ue({oldAssetsPath:p,newAssetsPath:s,destinationPath:c});await f.generateChangelog()}let Pe=global.__pp_dev_profile_session,xe=0;const Se=o=>{if(Pe)return new Promise((n,i)=>{Pe.post("Profiler.stop",(s,{profile:r})=>{if(s)i(s);else{const i=e.resolve(`./pp-dev-profile-${xe++}.cpuprofile`);t.writeFileSync(i,JSON.stringify(r)),o(a.yellow(`CPU profile written to ${a.white(a.dim(i))}`)),Pe=void 0,n()}})})},Te=e=>{for(const[t,o]of Object.entries(e))Array.isArray(o)&&(e[t]=o[o.length-1])};function ke(e){const t={...e};return delete t["--"],delete t.c,delete t.config,delete t.base,delete t.l,delete t.logLevel,delete t.clearScreen,delete t.d,delete t.debug,delete t.f,delete t.filter,delete t.m,delete t.mode,t}me.option("-c, --config <file>","[string] use specified config file").option("--base <path>","[string] public base path (default: /)").option("-l, --logLevel <level>","[string] info | warn | error | silent").option("--clearScreen","[boolean] allow/disable clear screen when logging").option("-d, --debug [feat]","[string | boolean] show debug logs").option("-f, --filter <filter>","[string] filter debug logs").option("-m, --mode <mode>","[string] set env mode"),me.command("[root]","start dev server").alias("serve").alias("dev").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port").option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--cors","[boolean] enable CORS").option("--strictPort","[boolean] exit if specified port is already in use").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action(async(t,o)=>{Te(o);let i=null,s=null,l=!1;const c=t?e.resolve(process.cwd(),t):process.cwd(),d=r(o.logLevel),p=async()=>{if(!l){l=!0;try{i&&(d.info(a.yellow("🛑 Stopping existing dev server...")),await i.close(),i=null);const{clearConfigCache:f,getConfig:u}=await import("./index-DazOwOme.js").then(e=>e.h);f();const{createServer:g}=await(import("vite")),h=o.mode||"development",m=e.resolve(process.cwd(),t??".");H(h,m);const b=await q({mode:h,command:"serve"},o.config,t,o.logLevel);let y=await U(void 0,{mode:h,root:m});if(b){const{plugins:e,...t}=b.config;y=J(y,t)}if(i=await g(J(y,{root:t,base:o.base,mode:o.mode,configFile:o.config,logLevel:o.logLevel,clearScreen:o.clearScreen,optimizeDeps:{force:o.force},server:ke(o),customLogger:d},!0)),!i.config.base||"/"===i.config.base)throw new Error('base cannot be equal to "/" or empty string');if(!i.httpServer)throw new Error("HTTP server not available");await i.listen();const P=global.__pp_dev_start_time??!1,x=P?a.dim(`ready in ${a.reset(a.bold(Math.ceil(n.now()-P)))} ms`):"";d.info(`\n ${a.green(`${a.bold("PP-DEV")} v${w}`)} ${x}\n`),i.printUrls();const S=await u(m);if(!1!==S.inspector?.enabled){const e=i.resolvedUrls?.local[0],t=e?new URL(e).origin:`http://localhost:${i.config.server.port??5173}`;d.info(`\n ${a.cyan("🔍 Request Inspector")} ${a.dim(t+v)}\n`)}!function(e,t){if(!e.httpServer||!process.stdin.isTTY||process.env.CI)return;e._shortcutsOptions=t;const o=r();t.print&&o.info(a.dim(a.green(" ➜"))+a.dim(" press ")+a.bold("h")+a.dim(" to show help"));const n=(t.customShortcuts??[]).filter(ce).concat(pe);de?.(),de=null;let i=!1;const s=process.stdin.isPaused(),l=process.stdin,c=Boolean(l.isRaw),d=async t=>{if(""===t)return void process.kill(process.pid,"SIGINT");if(""===t)return void await e.close().finally(()=>process.exit(0));if(i)return;"h"===t&&o.info(["",a.bold(" Shortcuts"),...n.map(e=>a.dim(" press ")+a.bold(e.key)+a.dim(` to ${e.description}`))].join("\n"));const s=n.find(e=>e.key===t);s&&(i=!0,await s.action(e),i=!1)};process.stdin.setRawMode(!0),process.stdin.on("data",d).setEncoding("utf8").resume();const p=e.httpServer,f=()=>{de===f&&(p.removeListener("close",f),process.stdin.off("data",d),c||process.stdin.setRawMode(!1),s&&process.stdin.pause(),de=null)};de=f,p.on("close",f)}(i,{print:!0,customShortcuts:[...Pe?[{key:"p",description:"start/stop the profiler",async action(e){if(Pe)await Se(d.info);else{const e=await import("node:inspector").then(e=>e.default);await new Promise(t=>{Pe=new e.Session,Pe.connect(),Pe.post("Profiler.enable",()=>{Pe?.post("Profiler.start",()=>{d.info("Profiler started"),t()})})})}}}]:[],{key:"l",description:"proxy re-login",action(e){e.ws.send({type:"custom",event:"redirect",data:{url:`/auth/index/logout?proxyRedirect=${encodeURIComponent("/")}`}})}}]}),s||(s=be(c,p,d.info),d.info(a.blue("🔧 Config file watcher started"))),l=!1}catch(e){l=!1,d.error(a.red(`error when starting dev server:\n${e.stack}`),{error:e}),Se(d.info),process.exit(1)}}},f=async e=>{d.info(a.yellow(`\n🛑 Received ${e}, shutting down gracefully...`));try{s&&(we(s),s=null),i&&(await i.close(),i=null),Se(d.info),d.info(a.green("✅ Graceful shutdown completed")),process.exit(0)}catch(e){d.error(a.red(`❌ Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",()=>f("SIGINT")),process.on("SIGTERM",()=>f("SIGTERM")),process.on("uncaughtException",e=>{d.error(a.red(`❌ Uncaught Exception: ${e}`)),f("uncaughtException")}),process.on("unhandledRejection",(e,t)=>{d.error(a.red(`❌ Unhandled Rejection at: ${t}, reason: ${e}`)),f("unhandledRejection")}),await p()}),me.command("next [root]","start Next.js development server with pp-dev integration").alias("next-serve").alias("next-dev").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port",{default:3e3}).option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--cors","[boolean] enable CORS").option("--strictPort","[boolean] exit if specified port is already in use").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").option("--webpack","[boolean] use Webpack for Next dev (use when Turbopack/native SWC is unavailable)").option("--turbopack","[boolean] use Turbopack for Next dev when native bindings work").action(async(n,i)=>{Te(i);let s=null,l=null,c=null,f=null,u=!1;const g=r(),h=async()=>{if(!u){u=!0;try{const{next:m,constants:b}=await V(),{PHASE_DEVELOPMENT_SERVER:w}=b;c&&(await c.close(),c=null),l&&(g.info(a.yellow("🛑 Stopping existing Next.js server...")),await new Promise(e=>{l.close(()=>{l=null,e()})})),s&&"function"==typeof s.close&&(await s.close(),s=null);const{clearConfigCache:O}=await import("./index-DazOwOme.js").then(e=>e.h);O();const{join:z,basename:U}=await(import("path")),{createServer:W}=await(import("http")),Z=await(import("next/dist/server/config.js")),q=Z.default.default||Z["module.exports"].default||Z.default,J=ke(i),K=n?z(process.cwd(),n):process.cwd();H(i.mode||"development",K),g.info(K);const Y=await q(w,K);let X=Y?.ppDev||{};if(0===Object.keys(X).length)try{const{getConfig:e}=await import("./index-DazOwOme.js").then(e=>e.h),t=await e(K);Object.keys(t).length>0?(X=t,g.info(a.blue("🔧 Loaded pp-dev config from standalone config file"))):g.info(a.yellow("⚠️ No pp-dev config found in Next.js config or standalone file, using defaults"))}catch(e){g.info(a.yellow("⚠️ Failed to load standalone pp-dev config, using defaults")),console.debug("Error loading standalone config:",e)}else g.info(a.blue("🔧 Loaded pp-dev config from Next.js config"));let Q=null;try{const{getPkg:e}=await import("./index-DazOwOme.js").then(e=>e.h);Q=e(K).name}catch{Q=U(K)}y(X,Q??"");const te=p(X,Q??""),oe=te.backendBaseURL??"http://localhost:8080",ne=te.templateLess,ie=te.v7Features,se=te.disableSSLValidation,re=te.enableProxyCache,ae=te.proxyCacheTTL,le=te.personalAccessToken,ce=te.miHudLess,de=te.inspectorEnabled,pe=te.inspectorMaxMemory,fe=te.inspectorCaptureLimit,ue=te.appId??(process.env.MI_APP_ID&&parseInt(process.env.MI_APP_ID,10)||void 0)??(process.env.MI_PORTAL_PAGE_ID&&parseInt(process.env.MI_PORTAL_PAGE_ID,10)||void 0)??1,ge=Y?.basePath;let me="";ge?me=ge:(me=ne?P:ie?x:S,me+=`/${Q}`);const ye=function(e){const t="1"===process.env.PP_DEV_NEXT_WEBPACK||"true"===process.env.PP_DEV_NEXT_WEBPACK;if(t&&(e.webpack||e.turbopack))throw new Error("Do not combine PP_DEV_NEXT_WEBPACK with --webpack or --turbopack");if(t)return{webpack:!0};if(e.webpack&&e.turbopack)throw new Error("Use only one of --webpack or --turbopack");return e.webpack?{webpack:!0}:e.turbopack?{turbopack:!0}:{}}(i),Pe=async e=>{delete process.env.TURBOPACK,s&&"function"==typeof s.close&&(await s.close(),s=null);const t={dev:!0,customServer:!0,hostname:J.host||"localhost",port:J.port,dir:K,conf:{...Y,basePath:me,assetPrefix:me}};e.webpack?t.webpack=!0:e.turbopack&&(t.turbopack=!0),s=m(t),await s.prepare()};if(ye.webpack)await Pe({webpack:!0});else if(ye.turbopack)try{await Pe({turbopack:!0})}catch(e){if(!ve(e))throw e;g.warn(a.yellow("⚠ Turbopack is unavailable (native bindings). Falling back to Webpack.")),await Pe({webpack:!0})}else try{await Pe({})}catch(e){if(!ve(e))throw e;g.warn(a.yellow("⚠ Turbopack cannot run (native Next.js bindings unavailable). Falling back to Webpack.")),await Pe({webpack:!0})}if(!s)throw new Error("Next.js app failed to initialize");if(me.endsWith("/")||(me+="/"),"/"===me)throw new Error('basePath cannot be equal to "/" or equal to empty string');g.info(a.green("✅ Next.js app prepared successfully")),g.info(a.blue(`🔧 pp-dev plugin configured for template: ${Q}`)),g.info(a.blue(`🔧 Base path configured: ${me}`)),oe&&(g.info(a.blue(`🌐 Backend URL: ${oe}`)),g.info(a.blue(`🆔 Custom App ID: ${ue}`)));const xe=s.getRequestHandler(),Se="number"==typeof J.port?J.port:3e3,Te="string"==typeof J.host?J.host||"0.0.0.0":"localhost",Ee=new Set;l=W(async(e,t)=>{try{const o=e.url||"/",n=o.split("?")[0];let i=ee(o,!0);if($e.length>0){if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_")){if(De.length>0){let l=0;const c=()=>{if(l>=De.length)return void s();const o=De[l];l++,o(e,t,c)};return void c()}return void s()}let r=0;const a=()=>{if(r>=$e.length)return void s();const o=$e[r];r++,o(e,t,a)};return void a()}async function s(){if(n.startsWith(me))i=ee(o,!0);else{if(n===me.replace(/\/$/,"")){const e=o.replace(n,me);return t.writeHead(302,{Location:e}),void t.end()}if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_"));else if("/"===n)return t.writeHead(302,{Location:me}),void t.end()}await xe(e,t,i)}s()}catch(d){g.error(`Error handling request: ${d instanceof Error?d.message:String(d)}`,{error:d instanceof Error?d:void 0}),t.statusCode=500,t.end("Internal Server Error")}});let Le=null,$e=[],De=[];if(!1!==de){const e=new T(pe);k(E,e,fe);const t=L(e,fe);$e.push(t)}if(oe){const n=new URL(oe).host;oe.startsWith("https://")&&(o.defaultMaxListeners=Math.max(o.defaultMaxListeners,20));const i={headers:{host:n,referer:oe,origin:oe.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},appId:ue,templateLess:ne,disableSSLValidation:se,v7Features:ie,personalAccessToken:le??process.env.MI_ACCESS_TOKEN};Le=new $(oe,i);const p=D(me,Q??void 0),f=(e,t,o)=>{p(e,t,o)};De.push(f),$e.push(f);const u=G(me);if(De.push(u),$e.push(u),re){let e=+ae;(!e||Number.isNaN(e)||e<0)&&(e=6e5);const t={middlewares:{use:e=>e},config:{logger:console}},o=F({devServer:t,ttl:e}),n=(e,t,n)=>{o(e,t,n)};$e.push(n),g.info(a.blue(`🔧 Proxy cache middleware added with TTL: ${e}ms`))}const h=new RegExp(`^((${r=me,r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})|/)$`),m=I(h,Le,Object.assign({base:me},i,{miHudLess:ce})),w=(e,t,o)=>{m(e,t,o)};$e.push(w);const y=me.endsWith("/")?me.substring(0,me.length-1):me,P={middlewares:{use:e=>e},config:{logger:console}},x=j({devServer:P,baseURL:oe,proxyIgnore:["/@vite","/@metricinsights","/@",y,"/_next","/favicon.ico","/__nextjs_","/installHook.js.map"],disableSSLValidation:se,miAPI:Le,templateName:Q??void 0}),S=(e,t,o)=>{x(e,t,o)};$e.push(S);const T=E,k=(e,t,o)=>{if(e.url?.startsWith("/@api/")||e.url?.startsWith(v)||e.url?.startsWith(_)){return void T(e,t,()=>{})}o()};De.push(k),$e.push(k);const L=N(e=>{const t=e.split("?")[0];return t.startsWith(me)&&!t.includes("/_next/")},(e,t)=>{const o=Le.buildPage(e,ce),i=B(o,me,{backendBaseURL:oe,templateLess:ne,appId:ue,devPanelPosition:te.devPanelPosition,devPanelHidden:te.devPanelHidden,devPanelAutoHide:te.devPanelAutoHide});return Buffer.from(A(n,t.headers.host??"",i))}),O=(e,t,o)=>{L(e,t,o)};$e.push(O),c=new he;let z=Y?.distDir;try{process.env[d]="1";const e=await q(b.PHASE_PRODUCTION_BUILD,K);z=e?.distDir??z}catch{}const H=(z??"").replace(/\\/g,"/").replace(/\/+$/,"").replace(/\/dev$/,""),V=H&&".next"!==H?H:"out";let W,Z="0.0.0";try{const o=JSON.parse(t.readFileSync(e.join(K,"package.json"),"utf-8"));Z="string"==typeof o.version?o.version:Z,W="string"==typeof o.repository?o.repository:o.repository?.url}catch{}const J=new C(Q??U(K),{root:K,backupFolder:e.resolve(K,te.syncBackupsDir),nextBuild:{projectRoot:K,distDir:V,packageVersion:Z,packageRepositoryUrl:W}}),X={ws:c.ws,config:{clientInjectionPlugin:{v7Features:ie}}};new R(X,{distService:J,miAPI:Le}),M(E,{distService:J,miAPI:Le});const ee="function"==typeof s?.getUpgradeHandler?s.getUpgradeHandler():null;l.on("upgrade",(e,t,o)=>{c?.handleUpgrade(e,t,o)||(ee?ee(e,t,o):t.destroy())}),g.info(a.blue(`🔧 ${$e.length} pp-dev middlewares initialized`)),g.info(a.blue(`🔧 ${De.length} essential middlewares for internal routes`)),g.info(a.blue(`🔧 MiAPI initialized for backend: ${oe}`)),g.info(a.blue(`🔧 Custom App ID: ${ue}`))}l.listen(Se,Te,()=>{g.info(a.green(`✅ pp-dev Next.js server running at http://${Te}:${Se}`)),g.info(a.blue(`📱 Next.js app accessible at http://${Te}:${Se}${me}`)),!1!==de&&g.info(a.cyan(`🔍 Request Inspector: http://${Te}:${Se}${v}`)),g.info(a.blue("🔧 Base path handling active")),f||(f=be(K,h,g.info),g.info(a.blue("🔧 Config file watcher started"))),l.on("connection",e=>{Ee.add(e),e.on("close",()=>Ee.delete(e))});const e=async e=>{g.info(a.yellow(`\n🛑 Received ${e}, shutting down gracefully...`));const t=setTimeout(()=>{g.info(a.yellow("⏰ Shutdown timeout reached, forcing exit")),process.exit(0)},5e3);try{f&&(we(f),f=null);for(const e of Array.from(Ee))e.destroy();Ee.clear(),c&&(await c.close(),c=null),await new Promise(e=>{l.close(()=>{g.info(a.yellow("🛑 HTTP server closed")),e()})}),s&&"function"==typeof s.close&&(await s.close(),g.info(a.yellow("🛑 Next.js app closed"))),clearTimeout(t),g.info(a.green("✅ Graceful shutdown completed")),process.exit(0)}catch(e){clearTimeout(t),g.error(a.red(`❌ Error during graceful shutdown: ${e}`)),process.exit(1)}};let t=process;if("function"!=typeof process.on){const e=globalThis.process||global.process;e&&"function"==typeof e.on&&(t=e,g.info(a.green("✅ Using global process object for event handlers")))}if("function"==typeof t.on)try{t.on("SIGINT",()=>e("SIGINT")),t.on("SIGTERM",()=>e("SIGTERM")),t.on("uncaughtException",t=>{g.error(a.red(`❌ Uncaught Exception: ${t}`)),e("uncaughtException")}),t.on("unhandledRejection",(t,o)=>{g.error(a.red(`❌ Unhandled Rejection at: ${o}, reason: ${t}`)),e("unhandledRejection")}),g.info(a.green("✅ Process event handlers registered successfully"))}catch(e){g.warn(a.yellow(`⚠️ Failed to register process event handlers: ${e}`))}else g.warn(a.yellow("⚠️ process.on is not available, graceful shutdown handlers will not be registered")),g.info(a.blue("💡 This might be due to bundling or environment constraints"))}),u=!1}catch(e){u=!1,g.error(a.red(`❌ Failed to start Next.js server: ${e?.message}. Stack: ${e?.stack}`)),e instanceof Error&&e.message.includes("Next.js is required")&&(g.error(a.red("❌ Next.js Peer Dependency Error:")),g.error(a.red(e.message)),g.error(a.yellow("\n💡 To fix this issue:")),g.error(a.blue(" 1. Install Next.js in your project:")),g.error(a.white(" npm install next@^16")),g.error(a.blue(" 2. Or use yarn:")),g.error(a.white(" yarn add next@^16")),g.error(a.blue(" 3. Or use pnpm:")),g.error(a.white(" pnpm add next@^16")),g.error(a.yellow("\n📖 For more information, see:")),g.error(a.blue(" https://nextjs.org/docs/getting-started"))),process.exit(1)}var r}},m=async e=>{g.info(a.yellow(`\n🛑 Received ${e}, shutting down gracefully...`));try{f&&(we(f),f=null),c&&(await c.close(),c=null),l&&await new Promise(e=>{l.close(()=>{l=null,e()})}),s&&"function"==typeof s.close&&(await s.close(),s=null),g.info(a.green("✅ Graceful shutdown completed")),process.exit(0)}catch(e){g.error(a.red(`❌ Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",()=>m("SIGINT")),process.on("SIGTERM",()=>m("SIGTERM")),process.on("uncaughtException",e=>{g.error(a.red(`❌ Uncaught Exception: ${e}`)),m("uncaughtException")}),process.on("unhandledRejection",(e,t)=>{g.error(a.red(`❌ Unhandled Rejection at: ${t}, reason: ${e}`)),m("unhandledRejection")}),await h()}),me.command("build [root]","build for production").option("--target <target>","[string] transpile target (default: 'modules')").option("--outDir <dir>","[string] output directory (default: dist)").option("--assetsDir <dir>","[string] directory under outDir to place assets in (default: assets)").option("--assetsInlineLimit <number>","[number] static asset base64 inline threshold in bytes (default: 4096)").option("--ssr [entry]","[string] build specified entry for server-side rendering").option("--sourcemap [output]",'[boolean | "inline" | "hidden"] output source maps for build (default: false)').option("--minify [minifier]",'[boolean | "terser" | "esbuild"] enable/disable minification, or specify minifier to use (default: esbuild)').option("--manifest [name]","[boolean | string] emit build manifest json").option("--ssrManifest [name]","[boolean | string] emit ssr manifest json").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle (experimental)").option("--emptyOutDir","[boolean] force empty outDir when it's outside of root").option("-w, --watch","[boolean] rebuilds when modules have changed on disk").option("--changelog [assetsFile]","[boolean | string] generate changelog between assetsFile and current build (default: false)").option("--distZip","[boolean] pack build output into a ZIP archive; use --no-distZip to disable (default: pp-dev config build.zip, or true). Env: PP_DEV_DIST_ZIP").option("--distZipDir <dir>","[string] override the ZIP output directory (default: 'dist-zip'). Env: PP_DEV_DIST_ZIP_DIR").option("--distZipFilename <filename>","[string] override the ZIP output file name (default: '<app-name>.zip'). Env: PP_DEV_DIST_ZIP_FILENAME").option("--versionManifest","[boolean] emit VERSION-*.json + BUILD-MANIFEST.json; use --no-versionManifest to disable (default: pp-dev config build.versionFile, or true). Env: PP_DEV_VERSION_MANIFEST").option("--versionFileTemplate <template>","[string] override the VERSION file name template (default: 'VERSION-v{packageversion}-{currentDate}.json'). Env: PP_DEV_VERSION_FILE_TEMPLATE").action(async(t,o)=>{Te(o);const n=ke(o),i=z(o);try{const s=o.mode||"production",r=e.resolve(process.cwd(),t??".");H(s,r);const a=await q({mode:s,command:"build"},o.config,t,o.logLevel);let l=await U(i,{mode:s,root:r});if(a){const{plugins:e,...t}=a.config;l=J(l,t)}const c=J(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 K(c),n.changelog){const i=t||process.cwd(),s=c.build?.outDir||"dist";let r="dist-zip";c.ppDevConfig&&(!1===c.ppDevConfig.distZip?r=s:"object"==typeof c.ppDevConfig.distZip&&"string"==typeof c.ppDevConfig.distZip.outDir&&(r=c.ppDevConfig.distZip.outDir)),await ye({changelog:n.changelog,executionRoot:i,newAssetsPath:e.resolve(i,s),backupsDirPath:e.resolve(i,c.ppDevConfig?.syncBackupsDir||"backups"),changelogDestinationPath:e.resolve(i,r),logLevel:o.logLevel})}}catch(e){r(o.logLevel).error(a.red(`error during build:\n${e.stack}`),{error:e}),process.exit(1)}finally{Se(e=>r(o.logLevel).info(e))}}),me.command("next-build [root]","build a Next.js app for production (`next build`) and emit VERSION/BUILD-MANIFEST/zip in the same format as `pp-dev build`").option("--changelog [assetsFile]","[boolean | string] generate changelog between assetsFile and current build (default: false)").option("--distZip","[boolean] pack build output into a ZIP archive; use --no-distZip to disable (default: pp-dev config build.zip, or true). Env: PP_DEV_DIST_ZIP").option("--distZipDir <dir>","[string] override the ZIP output directory (default: 'dist-zip'). Env: PP_DEV_DIST_ZIP_DIR").option("--distZipFilename <filename>","[string] override the ZIP output file name (default: '<app-name>.zip'). Env: PP_DEV_DIST_ZIP_FILENAME").option("--versionManifest","[boolean] emit VERSION-*.json + BUILD-MANIFEST.json; use --no-versionManifest to disable (default: pp-dev config build.versionFile, or true). Env: PP_DEV_VERSION_MANIFEST").option("--versionFileTemplate <template>","[string] override the VERSION file name template (default: 'VERSION-v{packageversion}-{currentDate}.json'). Env: PP_DEV_VERSION_FILE_TEMPLATE").action(async(o,n)=>{Te(n);const i=r(n.logLevel),s=o?e.resolve(process.cwd(),o):process.cwd(),l=z(n);process.env[d]="1";try{H(n.mode||"production",s);const{constants:o}=await V(),r=await(import("next/dist/server/config.js")),c=r.default.default||r["module.exports"].default||r.default,d=await c(o.PHASE_PRODUCTION_BUILD,s);let w,v=d?.ppDev||{};if(0===Object.keys(v).length){const{getConfig:e}=await import("./index-DazOwOme.js").then(e=>e.h);v=await e(s)}try{const{getPkg:e}=await import("./index-DazOwOme.js").then(e=>e.h);w=e(s).name}catch{w=e.basename(s)}const y=p(v,w),P=W(y.distZip,l,f(w)),x=Z(y.versionPlugin,l),S=u(s,d);S&&i.info(a.dim(`[pp-dev] Removed stale dev route types: ${e.relative(s,S)}`)),i.info(a.cyan("[pp-dev] Running `next build`...")),await g(s);const T="string"==typeof d?.distDir&&d.distDir?d.distDir:".next",k=".next"===T?"out":T,E=e.resolve(s,k);if(!t.existsSync(E)||!t.statSync(E).isDirectory())throw new Error(`Next.js build output directory not found: ${E}. "next-build" requires "output: 'export'" in next.config (static export).`);const L=JSON.parse(t.readFileSync(e.join(s,"package.json"),"utf-8"));if(!1!==x&&!1!==x.enabled&&(h({outDir:E,packageVersion:"string"==typeof L.version?L.version:"0.0.0",versionFileTemplate:x.versionFileTemplate,packageRepositoryUrl:"string"==typeof L.repository?L.repository:L.repository?.url,enabled:x.enabled}),i.info(a.green(`✅ VERSION / BUILD-MANIFEST written to ${e.relative(s,E)}`))),!1!==P){const o=e.resolve(s,P.outDir),n=P.inDir?e.resolve(E,P.inDir):E,r=m(o,P.outFileName,"ZIP output file name");t.mkdirSync(e.dirname(r),{recursive:!0});const l=await b(n);t.writeFileSync(r,l),i.info(a.green(`✅ Zip archive written to ${e.relative(s,r)}`))}if(n.changelog){const t=!1!==P?P.outDir:k;await ye({changelog:n.changelog,executionRoot:s,newAssetsPath:E,backupsDirPath:e.resolve(s,y.syncBackupsDir),changelogDestinationPath:e.resolve(s,t),logLevel:n.logLevel})}}catch(e){r(n.logLevel).error(a.red(`error during next-build:\n${e.stack}`),{error:e}),process.exit(1)}finally{Se(e=>r(n.logLevel).info(e))}}),me.command("changelog [oldAssetPath] [newAssetPath]","generate changelog between two assets files/folders").option("--oldAssetsPath <oldAssetsPath>","[string] path to the old assets zip file or folder").option("--newAssetsPath <newAssetsPath>","[string] path to the new assets zip file or folder").option("--destination <destination>","[string] destination folder for the changelog (default: .)").option("--filename <filename>","[string] filename for the changelog (default: CHANGELOG.html)").action(async(t,o,n)=>{Te(n);const{oldAssetsPath:i=t,newAssetsPath:s=o,destination:l=".",filename:c="CHANGELOG.html",logLevel:d}=n,p=process.cwd();i&&s||(r(d).error(a.red("error during changelog generation: oldAssetPath and newAssetPath are required")),process.exit(1));const f=e.resolve(p,i),u=e.resolve(p,s),g=e.resolve(p,l),h=new ue({oldAssetsPath:f,newAssetsPath:u,destinationPath:g,changelogFilename:c});await h.generateChangelog()}),me.command("generate-icon-font [source] [destination]","generate icon font from SVG files").option("--source <source>","[string] path to the source directory with SVG files").option("--destination <destination>","[string] path to the destination directory to save the generated font files").option("--font-name, -n <fontName>","[string] name of the font to generate (default: 'icon-font')").action(async(t,o,n)=>{Te(n);const{source:i=t,destination:s=o,fontName:l="icon-font"}=n,c=process.cwd(),d=e.resolve(c,i),p=e.resolve(c,s),f=new ge({sourceDir:d,outputDir:p,fontName:l}),u=r(n.logLevel);u.info(`Generating icon font from SVG files in ${a.dim(d)}`),await f.generate(),u.info(`Icon font generated and saved to ${a.dim(p)}`)}),me.command("optimize [root]","pre-bundle dependencies").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action(async(t,o)=>{Te(o);try{const n=o.mode||"production",i=e.resolve(process.cwd(),t??".");H(n,i);const s=await q({mode:n,command:"build"},o.config,t,o.logLevel);let r=await U(void 0,{mode:n,root:i});if(s){const{plugins:e,...t}=s.config;r=J(r,t)}const a=await Y(J(r,{root:t,base:o.base,configFile:o.config,logLevel:o.logLevel,mode:o.mode}),"serve");await X(a,o.force,!0)}catch(e){r(o.logLevel).error(a.red(`error when optimizing deps:\n${e.stack}`),{error:e}),process.exit(1)}}),me.command("preview [root]","locally preview production build").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port").option("--strictPort","[boolean] exit if specified port is already in use").option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--outDir <dir>","[string] output directory (default: dist)").action(async(t,o)=>{Te(o);try{const n=o.mode||"production",i=e.resolve(process.cwd(),t??".");H(n,i);const s=await q({mode:n,command:"build"},o.config,t,o.logLevel);let r=await U(void 0,{mode:n,root:i});if(s){const{plugins:e,...t}=s.config;r=J(r,t)}(await Q(J(r,{root:t,base:o.base,configFile:o.config,logLevel:o.logLevel,mode:o.mode,build:{outDir:o.outDir},preview:{port:o.port,strictPort:o.strictPort,host:o.host,https:o.https,open:o.open}}))).printUrls()}catch(e){r(o.logLevel).error(a.red(`error when starting preview server:\n${e.stack}`),{error:e}),process.exit(1)}finally{Se(e=>r(o.logLevel).info(e))}}),me.command("migrate [config]","migrate pp-dev config from 0.x flat format to 1.0 grouped format").option("--dry-run","[boolean] print migrated config without writing any files").option("--format <format>","[string] output format: ts (default), js, json").option("--output <file>","[string] output file path (default: pp-dev.config.ts)").option("--no-backup","[boolean] skip backup of original config file").action(async(o,n)=>{const i=r(n.logLevel),{isLegacyFlatConfig:s,isLegacyPPWatchConfig:l,isAlreadyMigrated:c,migrateLegacyFlatConfig:d,migratePPWatchConfig:p,generateConfigFileContent:f,discoverMigrateSource:u,loadPackageJsonMigrateConfig:g}=await(import("./migrate-B-C3Jle-.js")),h=n.format??"ts",m=!1!==n.backup,b=process.cwd(),w=u(b,o);w||(i.warn(a.yellow("No pp-dev or pp-watch config file found in the current directory.")),i.info(a.blue('Supported files: pp-dev.config.{ts,js,cjs,mjs,json}, .pp-watch.config.{ts,js,json}, or a "pp-dev" field in package.json')),process.exit(1));const{sourceFile:v,isWatchConfig:y,isPackageJsonConfig:P}=w;i.info(a.blue(`Found config: ${e.relative(b,v)}`));const{getPkg:x}=await import("./index-DazOwOme.js").then(e=>e.h),S=x();let T,k={};try{if(/\.[cm]?ts$/i.test(v)){const o=await(import("esbuild")),{pathToFileURL:n}=await(import("url")),i=(await o.build({absWorkingDir:b,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(b,s)).toString()));k=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(b,v)).toString()));k=o.default?.default??o.default??o}else P?k=g(v):v.endsWith(".json")&&(k=JSON.parse(t.readFileSync(v,"utf-8")))}catch(e){i.error(a.red(`Failed to load config file: ${e.message}`)),process.exit(1)}k&&"object"==typeof k||(i.error(a.red("Config file did not export a valid object.")),process.exit(1)),c(k)?(i.info(a.green("Config is already in 1.0 format — nothing to migrate.")),process.exit(0)):y||l(k)?(i.info(a.blue("Detected pp-watch config format → migrating to 1.0")),T=p(k)):s(k)?(i.info(a.blue("Detected 0.x flat config format → migrating to 1.0")),T=d(k,S.name)):(i.warn(a.yellow("Could not detect config format. No known keys found.")),process.exit(1));const E=f(T,h),L=n.output??e.join(b,`pp-dev.config.${h}`);if(n.dryRun&&(i.info(a.green(`\n--- Migrated config (dry-run) → ${e.relative(b,L)} ---\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(b,o)}`))}t.writeFileSync(L,E,"utf-8"),i.info(a.green(`✅ Migration complete → ${e.relative(b,L)}`)),P?i.info(a.yellow('You can now remove the "pp-dev" field from package.json.')):v!==L&&t.existsSync(v)&&i.info(a.yellow(`You can now delete the old config: ${e.relative(b,v)}`))}),me.help(),me.version(w),me.parse();export{Se 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,e as l,P as c,b as d,n as p,d as f,r as u,f as g,w as h,g as m,z as b,V as w,I as v,v as y,h as P,i as x,j as S,R as T,k,l as E,m as L,M as $,o as D,p as F,q as I,s as j,t as _,u as N,x as A,D as C,C as R,y as M,A as O}from"./plugin-Dj6CVJuV.js";import{r as z,l as H,g as U,s as V,a as W,b as Z,c as G,i as B}from"./index-CWPc3Ff1.js";import{loadConfigFromFile as q,mergeConfig as J,build as K,resolveConfig as Y,optimizeDeps as X,preview as Q}from"vite";import{parse as ee}from"url";import*as te from"dir-compare";import oe from"diff-match-patch";import{isBinaryFile as ne}from"isbinaryfile";import*as ie from"os";import*as se from"crypto";import re from"svgtofont";import{WebSocketServer as ae,WebSocket as le}from"ws";import"http-proxy-middleware";import"picocolors";import"node:string_decoder";import"axios";import"node:http";import"node:https";import"jsdom";import"process";import"child_process";import"node:path";import"jszip";import"module";import"zlib";import"express";import"node:crypto";import"./helpers.js";import"ejs";function ce(e){return null!=e&&!1!==e}let de=null;const pe=[{key:"r",description:"restart the server",async action(e){await e.restart()}},{key:"u",description:"show server url",action(e){e.config.logger.info(""),e.printUrls()}},{key:"o",description:"open in browser",action(e){e.openBrowser()}},{key:"c",description:"clear console",action(e){e.config.logger.clearScreen("error")}},{key:"q",description:"quit",async action(e){await e.close().finally(()=>process.exit())}},{key:"C",description:"clear proxy cache",action(e){e.cache&&(e.cache.clear(),e.config.logger.info("Proxy cache cleared"))}}];const fe=/(.+)(-[a-f0-9]{6,20})(\.[a-z0-9]+)$/i;class ue{oldAssetsPath;newAssetsPath;destinationPath;changelogFilename;changelogTemplate='<!DOCTYPE html>\n <html lang="en">\n <head>\n <meta charset="UTF-8" />\n <title>Changelog Diff</title>\n <style>\n tr,\n td {\n padding: 0;\n }\n .diff-file {\n margin-top: 20px;\n border: 1px solid #e1e4e8;\n border-radius: 6px;\n }\n .diff-file-title {\n padding: 10px 20px;\n background-color: #f6f8fa;\n border-bottom: 1px solid #e1e4e8;\n border-radius: 6px 6px 0 0;\n font-weight: bold;\n }\n .diff-file-title .renamed {\n font-weight: normal;\n }\n .diff-file-title .renamed .from {\n color: #cb2431;\n }\n .diff-file-title .renamed .to {\n color: #22863a;\n }\n .diff-file-title .added {\n color: #22863a;\n }\n .diff-file-title .deleted {\n color: #cb2431;\n }\n .diff-file-content {\n }\n .diff-table {\n tab-size: 8;\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n }\n .blob-num {\n position: relative;\n color: #1f2328;\n width: 1%;\n min-width: 50px;\n padding: 0 10px;\n font-family:\n ui-monospace,\n SFMono-Regular,\n SF Mono,\n Menlo,\n Consolas,\n Liberation Mono,\n monospace;\n font-size: 12px;\n line-height: 20px;\n text-align: right;\n white-space: nowrap;\n vertical-align: top;\n cursor: pointer;\n -webkit-user-select: none;\n user-select: none;\n }\n .blob-num.addition {\n background-color: #ccffd8;\n border-color: #1f883e;\n }\n .blob-num.deletion {\n background-color: #ffd7d5;\n border-color: #cf222e;\n }\n .blob-num::before {\n content: attr(data-line-number);\n }\n .blob-code {\n position: relative;\n padding: 0 10px 0 22px;\n vertical-align: top;\n color: #1f2329;\n }\n .blob-code.code-addition {\n background-color: #e6ffec;\n }\n .blob-code.code-deletion {\n background-color: #ffebe9;\n }\n .blob-code.skip,\n .blob-code.message {\n text-align: center;\n }\n .blob-code.skip .blob-code-inner,\n .blob-code.message .blob-code-inner {\n font-weight: bold;\n color: #6a737d;\n padding: 10px 0;\n }\n .blob-code-inner {\n display: table-cell;\n overflow: visible;\n font-family:\n ui-monospace,\n SFMono-Regular,\n SF Mono,\n Menlo,\n Consolas,\n Liberation Mono,\n monospace;\n font-size: 12px;\n word-wrap: anywhere;\n white-space: pre-wrap;\n }\n .blob-code-inner::before {\n content: attr(data-code-prefix);\n position: absolute;\n top: 1px;\n left: 8px;\n padding-right: 8px;\n }\n </style>\n </head>\n <body>\n <h1>Changelog Diff</h1>\n\n %FILES%\n </body>\n </html>';diffFileTemplateHandler;diffLineTemplateHandler;contextLines=3;logger;constructor(t){const{oldAssetsPath:o,newAssetsPath:n,destinationPath:i,changelogTemplate:s,diffFileTemplateHandler:l,diffLineTemplateHandler:c,changelogFilename:d,contextLines:p}=t;if(this.logger=r(),!o||!n||!i)throw new Error("Previous assets path, current assets path and destination path are required");if(o===n)throw new Error("Previous and current assets paths must be different");if(!this.isExists(o))throw new Error(`Previous assets path ${o} does not exist`);if(!this.isExists(n))throw new Error(`Current assets path ${n} does not exist`);if(this.isZipFile(o)){const t=e.resolve(ie.tmpdir(),se.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(ie.tmpdir(),se.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 l(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 te.compare(await this.oldAssetsPath,await this.newAssetsPath,{compareContent:!0,skipSymlinks:!0,compareSize:!0,compareDate:!1,compareNameHandler:(e,t)=>(fe.test(e)&&(e=e.replace(fe,"$1$3")),fe.test(t)&&(t=t.replace(fe,"$1$3")),0===e.localeCompare(t)?0:e.localeCompare(t)>0?1:-1)});return e.diffSet?.filter(e=>"equal"!==e.state||e.name1!==e.name2)||[]}async generateAssetFilesDiff(e,t){const o=new oe,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 ne(n)||await ne(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 ge{sourceDir;outputDir;fontName;constructor(e){this.sourceDir=e.sourceDir,this.outputDir=e.outputDir,this.fontName=e.fontName}async generate(){await re({src:this.sourceDir,dist:this.outputDir,fontName:this.fontName,css:!0,typescript:!0,startUnicode:59905,svgicons2svgfont:{fontHeight:1024}})}}class he{wss;eventListeners=new Map;lifecycleListeners=new Map;clients=new Map;ws;constructor(){this.wss=new ae({noServer:!0}),this.wss.on("connection",e=>this.onConnection(e)),this.wss.on("error",e=>this.fireLifecycle("error",e)),this.ws={on:(e,t)=>{"close"!==e&&"error"!==e?this.getEventSet(e).add(t):this.getLifecycleSet(e).add(t)},off:(e,t)=>{this.eventListeners.get(e)?.delete(t),"close"!==e&&"error"!==e||this.lifecycleListeners.get(e)?.delete(t)},send:(e,t)=>{if("string"==typeof e)for(const o of this.clients.keys())this.sendToSocket(o,e,t);else{const t=JSON.stringify(e);for(const e of this.clients.keys())e.readyState===le.OPEN&&e.send(t)}}}}handleUpgrade(e,t,o){return(e.url??"").split("?")[0]===c&&(this.wss.handleUpgrade(e,t,o,t=>{this.wss.emit("connection",t,e)}),!0)}async close(){this.fireLifecycle("close");for(const e of this.clients.keys())e.terminate();this.clients.clear(),await new Promise(e=>this.wss.close(()=>e()))}onConnection(e){const t={send:(t,o)=>this.sendToSocket(e,t,o)};this.clients.set(e,t),e.on("message",e=>this.onMessage(t,e)),e.on("close",()=>this.clients.delete(e)),e.on("error",()=>{})}onMessage(e,t){let o;try{o=JSON.parse(t.toString())}catch{return}if(!o||"custom"!==o.type||"string"!=typeof o.event)return;const n=this.eventListeners.get(o.event);if(n)for(const t of n)try{t(o.data,e)}catch(e){r().error(`ws handler for "${o.event}" failed`,{error:e instanceof Error?e:new Error(String(e))})}}sendToSocket(e,t,o){e.readyState===le.OPEN&&e.send(JSON.stringify({type:"custom",event:t,data:o}))}fireLifecycle(e,t){for(const o of this.lifecycleListeners.get(e)??[])try{o(t)}catch{}}getEventSet(e){let t=this.eventListeners.get(e);return t||(t=new Set,this.eventListeners.set(e,t)),t}getLifecycleSet(e){let t=this.lifecycleListeners.get(e);return t||(t=new Set,this.lifecycleListeners.set(e,t)),t}}const me=s("pp-dev");function be(t,o,n){const s=[...O,"package.json","next.config.js","next.config.mjs","next.config.ts","vite.config.js","vite.config.mjs","vite.config.ts",".env",".env.local",".env.development",".env.development.local"].map(o=>e.join(t,o)),r=i(s,{ignored:t=>{const o=e.basename(t);return/(^|[\/\\])\../.test(t)&&!o.startsWith(".env")&&!o.startsWith(".pp-dev")&&!o.startsWith(".pp-watch")},persistent:!0,ignoreInitial:!0,followSymlinks:!1});let l=null;return r.on("change",i=>{n(a.blue(`🔧 Config file changed: ${e.relative(t,i)}`)),l&&clearTimeout(l),l=setTimeout(async()=>{try{n(a.yellow("🔄 Restarting dev server due to config change...")),await o()}catch(e){n(a.red(`❌ Failed to restart dev server: ${e?.message}. Stack: ${e?.stack}`))}},500)}),r.on("error",e=>{n(a.red(`❌ Config watcher error: ${e}`))}),{watcher:r,restartCallback:o,logger:n}}function we(e){e.watcher&&e.watcher.close()}function ve(e){if(!e||"object"!=typeof e||!("message"in e))return!1;const t=String(e.message);return/Turbopack is not supported/i.test(t)||/native bindings are not available/i.test(t)||/Only WebAssembly \(WASM\) bindings were loaded/i.test(t)}async function ye(o){const{changelog:n,executionRoot:i,newAssetsPath:s,backupsDirPath:l,changelogDestinationPath:c,logLevel:d}=o;let p;if("string"==typeof n)p=e.resolve(i,n);else{if(!t.existsSync(l))return void r(d).warn(a.yellow("backups directory not found, skipping changelog generation"));const o=t.readdirSync(l,{withFileTypes:!0});if(!o.length)return void r(d).warn(a.yellow("no backups found, skipping changelog generation"));const n=o.filter(e=>e.isFile()&&e.name.endsWith(".zip"));if(!n.length)return void r(d).warn(a.yellow("no ZIP backups found, skipping changelog generation"));const i=n.reduce((o,n)=>t.statSync(e.resolve(l,o.name)).mtimeMs>t.statSync(e.resolve(l,n.name)).mtimeMs?o:n).name;p=e.resolve(l,i)}const f=new ue({oldAssetsPath:p,newAssetsPath:s,destinationPath:c});await f.generateChangelog()}let Pe=global.__pp_dev_profile_session,xe=0;const Se=o=>{if(Pe)return new Promise((n,i)=>{Pe.post("Profiler.stop",(s,{profile:r})=>{if(s)i(s);else{const i=e.resolve(`./pp-dev-profile-${xe++}.cpuprofile`);t.writeFileSync(i,JSON.stringify(r)),o(a.yellow(`CPU profile written to ${a.white(a.dim(i))}`)),Pe=void 0,n()}})})},Te=e=>{for(const[t,o]of Object.entries(e))Array.isArray(o)&&(e[t]=o[o.length-1])};function ke(e){const t={...e};return delete t["--"],delete t.c,delete t.config,delete t.base,delete t.l,delete t.logLevel,delete t.clearScreen,delete t.d,delete t.debug,delete t.f,delete t.filter,delete t.m,delete t.mode,t}me.option("-c, --config <file>","[string] use specified config file").option("--base <path>","[string] public base path (default: /)").option("-l, --logLevel <level>","[string] info | warn | error | silent").option("--clearScreen","[boolean] allow/disable clear screen when logging").option("-d, --debug [feat]","[string | boolean] show debug logs").option("-f, --filter <filter>","[string] filter debug logs").option("-m, --mode <mode>","[string] set env mode"),me.command("[root]","start dev server").alias("serve").alias("dev").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port").option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--cors","[boolean] enable CORS").option("--strictPort","[boolean] exit if specified port is already in use").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action(async(t,o)=>{Te(o);let i=null,s=null,l=!1;const c=t?e.resolve(process.cwd(),t):process.cwd(),d=r(o.logLevel),p=async()=>{if(!l){l=!0;try{i&&(d.info(a.yellow("🛑 Stopping existing dev server...")),await i.close(),i=null);const{clearConfigCache:f,getConfig:u}=await import("./index-CWPc3Ff1.js").then(e=>e.h);f();const{createServer:g}=await(import("vite")),h=o.mode||"development",m=e.resolve(process.cwd(),t??".");H(h,m);const b=await q({mode:h,command:"serve"},o.config,t,o.logLevel);let y=await U(void 0,{mode:h,root:m});if(b){const{plugins:e,...t}=b.config;y=J(y,t)}if(i=await g(J(y,{root:t,base:o.base,mode:o.mode,configFile:o.config,logLevel:o.logLevel,clearScreen:o.clearScreen,optimizeDeps:{force:o.force},server:ke(o),customLogger:d},!0)),!i.config.base||"/"===i.config.base)throw new Error('base cannot be equal to "/" or empty string');if(!i.httpServer)throw new Error("HTTP server not available");await i.listen();const P=global.__pp_dev_start_time??!1,x=P?a.dim(`ready in ${a.reset(a.bold(Math.ceil(n.now()-P)))} ms`):"";d.info(`\n ${a.green(`${a.bold("PP-DEV")} v${w}`)} ${x}\n`),i.printUrls();const S=await u(m);if(!1!==S.inspector?.enabled){const e=i.resolvedUrls?.local[0],t=e?new URL(e).origin:`http://localhost:${i.config.server.port??5173}`;d.info(`\n ${a.cyan("🔍 Request Inspector")} ${a.dim(t+v)}\n`)}!function(e,t){if(!e.httpServer||!process.stdin.isTTY||process.env.CI)return;e._shortcutsOptions=t;const o=r();t.print&&o.info(a.dim(a.green(" ➜"))+a.dim(" press ")+a.bold("h")+a.dim(" to show help"));const n=(t.customShortcuts??[]).filter(ce).concat(pe);de?.(),de=null;let i=!1;const s=process.stdin.isPaused(),l=process.stdin,c=Boolean(l.isRaw),d=async t=>{if(""===t)return void process.kill(process.pid,"SIGINT");if(""===t)return void await e.close().finally(()=>process.exit(0));if(i)return;"h"===t&&o.info(["",a.bold(" Shortcuts"),...n.map(e=>a.dim(" press ")+a.bold(e.key)+a.dim(` to ${e.description}`))].join("\n"));const s=n.find(e=>e.key===t);s&&(i=!0,await s.action(e),i=!1)};process.stdin.setRawMode(!0),process.stdin.on("data",d).setEncoding("utf8").resume();const p=e.httpServer,f=()=>{de===f&&(p.removeListener("close",f),process.stdin.off("data",d),c||process.stdin.setRawMode(!1),s&&process.stdin.pause(),de=null)};de=f,p.on("close",f)}(i,{print:!0,customShortcuts:[...Pe?[{key:"p",description:"start/stop the profiler",async action(e){if(Pe)await Se(d.info);else{const e=await import("node:inspector").then(e=>e.default);await new Promise(t=>{Pe=new e.Session,Pe.connect(),Pe.post("Profiler.enable",()=>{Pe?.post("Profiler.start",()=>{d.info("Profiler started"),t()})})})}}}]:[],{key:"l",description:"proxy re-login",action(e){e.ws.send({type:"custom",event:"redirect",data:{url:`/auth/index/logout?proxyRedirect=${encodeURIComponent("/")}`}})}}]}),s||(s=be(c,p,d.info),d.info(a.blue("🔧 Config file watcher started"))),l=!1}catch(e){l=!1,d.error(a.red(`error when starting dev server:\n${e.stack}`),{error:e}),Se(d.info),process.exit(1)}}},f=async e=>{d.info(a.yellow(`\n🛑 Received ${e}, shutting down gracefully...`));try{s&&(we(s),s=null),i&&(await i.close(),i=null),Se(d.info),d.info(a.green("✅ Graceful shutdown completed")),process.exit(0)}catch(e){d.error(a.red(`❌ Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",()=>f("SIGINT")),process.on("SIGTERM",()=>f("SIGTERM")),process.on("uncaughtException",e=>{d.error(a.red(`❌ Uncaught Exception: ${e}`)),f("uncaughtException")}),process.on("unhandledRejection",(e,t)=>{d.error(a.red(`❌ Unhandled Rejection at: ${t}, reason: ${e}`)),f("unhandledRejection")}),await p()}),me.command("next [root]","start Next.js development server with pp-dev integration").alias("next-serve").alias("next-dev").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port",{default:3e3}).option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--cors","[boolean] enable CORS").option("--strictPort","[boolean] exit if specified port is already in use").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").option("--webpack","[boolean] use Webpack for Next dev (use when Turbopack/native SWC is unavailable)").option("--turbopack","[boolean] use Turbopack for Next dev when native bindings work").action(async(n,i)=>{Te(i);let s=null,l=null,c=null,f=null,u=!1;const g=r(),h=async()=>{if(!u){u=!0;try{const{next:m,constants:b}=await V(),{PHASE_DEVELOPMENT_SERVER:w}=b;c&&(await c.close(),c=null),l&&(g.info(a.yellow("🛑 Stopping existing Next.js server...")),await new Promise(e=>{l.close(()=>{l=null,e()})})),s&&"function"==typeof s.close&&(await s.close(),s=null);const{clearConfigCache:O}=await import("./index-CWPc3Ff1.js").then(e=>e.h);O();const{join:z,basename:U}=await(import("path")),{createServer:W}=await(import("http")),Z=await(import("next/dist/server/config.js")),q=Z.default.default||Z["module.exports"].default||Z.default,J=ke(i),K=n?z(process.cwd(),n):process.cwd();H(i.mode||"development",K),g.info(K);const Y=await q(w,K);let X=Y?.ppDev||{};if(0===Object.keys(X).length)try{const{getConfig:e}=await import("./index-CWPc3Ff1.js").then(e=>e.h),t=await e(K);Object.keys(t).length>0?(X=t,g.info(a.blue("🔧 Loaded pp-dev config from standalone config file"))):g.info(a.yellow("⚠️ No pp-dev config found in Next.js config or standalone file, using defaults"))}catch(e){g.info(a.yellow("⚠️ Failed to load standalone pp-dev config, using defaults")),console.debug("Error loading standalone config:",e)}else g.info(a.blue("🔧 Loaded pp-dev config from Next.js config"));let Q=null;try{const{getPkg:e}=await import("./index-CWPc3Ff1.js").then(e=>e.h);Q=e(K).name}catch{Q=U(K)}y(X,Q??"");const te=p(X,Q??""),oe=te.backendBaseURL??"http://localhost:8080",ne=te.templateLess,ie=te.v7Features,se=te.disableSSLValidation,re=te.enableProxyCache,ae=te.proxyCacheTTL,le=te.personalAccessToken,ce=te.miHudLess,de=te.inspectorEnabled,pe=te.inspectorMaxMemory,fe=te.inspectorCaptureLimit,ue=te.appId??(process.env.MI_APP_ID&&parseInt(process.env.MI_APP_ID,10)||void 0)??(process.env.MI_PORTAL_PAGE_ID&&parseInt(process.env.MI_PORTAL_PAGE_ID,10)||void 0)??1,ge=Y?.basePath;let me="";ge?me=ge:(me=ne?P:ie?x:S,me+=`/${Q}`);const ye=function(e){const t="1"===process.env.PP_DEV_NEXT_WEBPACK||"true"===process.env.PP_DEV_NEXT_WEBPACK;if(t&&(e.webpack||e.turbopack))throw new Error("Do not combine PP_DEV_NEXT_WEBPACK with --webpack or --turbopack");if(t)return{webpack:!0};if(e.webpack&&e.turbopack)throw new Error("Use only one of --webpack or --turbopack");return e.webpack?{webpack:!0}:e.turbopack?{turbopack:!0}:{}}(i),Pe=async e=>{delete process.env.TURBOPACK,s&&"function"==typeof s.close&&(await s.close(),s=null);const t={dev:!0,customServer:!0,hostname:J.host||"localhost",port:J.port,dir:K,conf:{...Y,basePath:me,assetPrefix:me}};e.webpack?t.webpack=!0:e.turbopack&&(t.turbopack=!0),s=m(t),await s.prepare()};if(ye.webpack)await Pe({webpack:!0});else if(ye.turbopack)try{await Pe({turbopack:!0})}catch(e){if(!ve(e))throw e;g.warn(a.yellow("⚠ Turbopack is unavailable (native bindings). Falling back to Webpack.")),await Pe({webpack:!0})}else try{await Pe({})}catch(e){if(!ve(e))throw e;g.warn(a.yellow("⚠ Turbopack cannot run (native Next.js bindings unavailable). Falling back to Webpack.")),await Pe({webpack:!0})}if(!s)throw new Error("Next.js app failed to initialize");if(me.endsWith("/")||(me+="/"),"/"===me)throw new Error('basePath cannot be equal to "/" or equal to empty string');g.info(a.green("✅ Next.js app prepared successfully")),g.info(a.blue(`🔧 pp-dev plugin configured for template: ${Q}`)),g.info(a.blue(`🔧 Base path configured: ${me}`)),oe&&(g.info(a.blue(`🌐 Backend URL: ${oe}`)),g.info(a.blue(`🆔 Custom App ID: ${ue}`)));const xe=s.getRequestHandler(),Se="number"==typeof J.port?J.port:3e3,Te="string"==typeof J.host?J.host||"0.0.0.0":"localhost",Ee=new Set;l=W(async(e,t)=>{try{const o=e.url||"/",n=o.split("?")[0];let i=ee(o,!0);if($e.length>0){if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_")){if(De.length>0){let l=0;const c=()=>{if(l>=De.length)return void s();const o=De[l];l++,o(e,t,c)};return void c()}return void s()}let r=0;const a=()=>{if(r>=$e.length)return void s();const o=$e[r];r++,o(e,t,a)};return void a()}async function s(){if(n.startsWith(me))i=ee(o,!0);else{if(n===me.replace(/\/$/,"")){const e=o.replace(n,me);return t.writeHead(302,{Location:e}),void t.end()}if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_"));else if("/"===n)return t.writeHead(302,{Location:me}),void t.end()}await xe(e,t,i)}s()}catch(d){g.error(`Error handling request: ${d instanceof Error?d.message:String(d)}`,{error:d instanceof Error?d:void 0}),t.statusCode=500,t.end("Internal Server Error")}});let Le=null,$e=[],De=[];if(!1!==de){const e=new T(pe);k(E,e,fe);const t=L(e,fe);$e.push(t)}if(oe){const n=new URL(oe).host;oe.startsWith("https://")&&(o.defaultMaxListeners=Math.max(o.defaultMaxListeners,20));const i={headers:{host:n,referer:oe,origin:oe.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},appId:ue,templateLess:ne,disableSSLValidation:se,v7Features:ie,personalAccessToken:le??process.env.MI_ACCESS_TOKEN};Le=new $(oe,i);const p=D(me,Q??void 0),f=(e,t,o)=>{p(e,t,o)};De.push(f),$e.push(f);const u=G(me);if(De.push(u),$e.push(u),re){let e=+ae;(!e||Number.isNaN(e)||e<0)&&(e=6e5);const t={middlewares:{use:e=>e},config:{logger:console}},o=F({devServer:t,ttl:e}),n=(e,t,n)=>{o(e,t,n)};$e.push(n),g.info(a.blue(`🔧 Proxy cache middleware added with TTL: ${e}ms`))}const h=new RegExp(`^((${r=me,r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})|/)$`),m=I(h,Le,Object.assign({base:me},i,{miHudLess:ce})),w=(e,t,o)=>{m(e,t,o)};$e.push(w);const y=me.endsWith("/")?me.substring(0,me.length-1):me,P={middlewares:{use:e=>e},config:{logger:console}},x=j({devServer:P,baseURL:oe,proxyIgnore:["/@vite","/@metricinsights","/@",y,"/_next","/favicon.ico","/__nextjs_","/installHook.js.map"],disableSSLValidation:se,miAPI:Le,templateName:Q??void 0}),S=(e,t,o)=>{x(e,t,o)};$e.push(S);const T=E,k=(e,t,o)=>{if(e.url?.startsWith("/@api/")||e.url?.startsWith(v)||e.url?.startsWith(_)){return void T(e,t,()=>{})}o()};De.push(k),$e.push(k);const L=N(e=>{const t=e.split("?")[0];return t.startsWith(me)&&!t.includes("/_next/")},(e,t)=>{const o=Le.buildPage(e,ce),i=B(o,me,{backendBaseURL:oe,templateLess:ne,appId:ue,devPanelPosition:te.devPanelPosition,devPanelHidden:te.devPanelHidden,devPanelAutoHide:te.devPanelAutoHide});return Buffer.from(A(n,t.headers.host??"",i))}),O=(e,t,o)=>{L(e,t,o)};$e.push(O),c=new he;let z=Y?.distDir;try{process.env[d]="1";const e=await q(b.PHASE_PRODUCTION_BUILD,K);z=e?.distDir??z}catch{}const H=(z??"").replace(/\\/g,"/").replace(/\/+$/,"").replace(/\/dev$/,""),V=H&&".next"!==H?H:"out";let W,Z="0.0.0";try{const o=JSON.parse(t.readFileSync(e.join(K,"package.json"),"utf-8"));Z="string"==typeof o.version?o.version:Z,W="string"==typeof o.repository?o.repository:o.repository?.url}catch{}const J=new C(Q??U(K),{root:K,backupFolder:e.resolve(K,te.syncBackupsDir),nextBuild:{projectRoot:K,distDir:V,packageVersion:Z,packageRepositoryUrl:W}}),X={ws:c.ws,config:{clientInjectionPlugin:{v7Features:ie}}};new R(X,{distService:J,miAPI:Le}),M(E,{distService:J,miAPI:Le});const ee="function"==typeof s?.getUpgradeHandler?s.getUpgradeHandler():null;l.on("upgrade",(e,t,o)=>{c?.handleUpgrade(e,t,o)||(ee?ee(e,t,o):t.destroy())}),g.info(a.blue(`🔧 ${$e.length} pp-dev middlewares initialized`)),g.info(a.blue(`🔧 ${De.length} essential middlewares for internal routes`)),g.info(a.blue(`🔧 MiAPI initialized for backend: ${oe}`)),g.info(a.blue(`🔧 Custom App ID: ${ue}`))}l.listen(Se,Te,()=>{g.info(a.green(`✅ pp-dev Next.js server running at http://${Te}:${Se}`)),g.info(a.blue(`📱 Next.js app accessible at http://${Te}:${Se}${me}`)),!1!==de&&g.info(a.cyan(`🔍 Request Inspector: http://${Te}:${Se}${v}`)),g.info(a.blue("🔧 Base path handling active")),f||(f=be(K,h,g.info),g.info(a.blue("🔧 Config file watcher started"))),l.on("connection",e=>{Ee.add(e),e.on("close",()=>Ee.delete(e))});const e=async e=>{g.info(a.yellow(`\n🛑 Received ${e}, shutting down gracefully...`));const t=setTimeout(()=>{g.info(a.yellow("⏰ Shutdown timeout reached, forcing exit")),process.exit(0)},5e3);try{f&&(we(f),f=null);for(const e of Array.from(Ee))e.destroy();Ee.clear(),c&&(await c.close(),c=null),await new Promise(e=>{l.close(()=>{g.info(a.yellow("🛑 HTTP server closed")),e()})}),s&&"function"==typeof s.close&&(await s.close(),g.info(a.yellow("🛑 Next.js app closed"))),clearTimeout(t),g.info(a.green("✅ Graceful shutdown completed")),process.exit(0)}catch(e){clearTimeout(t),g.error(a.red(`❌ Error during graceful shutdown: ${e}`)),process.exit(1)}};let t=process;if("function"!=typeof process.on){const e=globalThis.process||global.process;e&&"function"==typeof e.on&&(t=e,g.info(a.green("✅ Using global process object for event handlers")))}if("function"==typeof t.on)try{t.on("SIGINT",()=>e("SIGINT")),t.on("SIGTERM",()=>e("SIGTERM")),t.on("uncaughtException",t=>{g.error(a.red(`❌ Uncaught Exception: ${t}`)),e("uncaughtException")}),t.on("unhandledRejection",(t,o)=>{g.error(a.red(`❌ Unhandled Rejection at: ${o}, reason: ${t}`)),e("unhandledRejection")}),g.info(a.green("✅ Process event handlers registered successfully"))}catch(e){g.warn(a.yellow(`⚠️ Failed to register process event handlers: ${e}`))}else g.warn(a.yellow("⚠️ process.on is not available, graceful shutdown handlers will not be registered")),g.info(a.blue("💡 This might be due to bundling or environment constraints"))}),u=!1}catch(e){u=!1,g.error(a.red(`❌ Failed to start Next.js server: ${e?.message}. Stack: ${e?.stack}`)),e instanceof Error&&e.message.includes("Next.js is required")&&(g.error(a.red("❌ Next.js Peer Dependency Error:")),g.error(a.red(e.message)),g.error(a.yellow("\n💡 To fix this issue:")),g.error(a.blue(" 1. Install Next.js in your project:")),g.error(a.white(" npm install next@^16")),g.error(a.blue(" 2. Or use yarn:")),g.error(a.white(" yarn add next@^16")),g.error(a.blue(" 3. Or use pnpm:")),g.error(a.white(" pnpm add next@^16")),g.error(a.yellow("\n📖 For more information, see:")),g.error(a.blue(" https://nextjs.org/docs/getting-started"))),process.exit(1)}var r}},m=async e=>{g.info(a.yellow(`\n🛑 Received ${e}, shutting down gracefully...`));try{f&&(we(f),f=null),c&&(await c.close(),c=null),l&&await new Promise(e=>{l.close(()=>{l=null,e()})}),s&&"function"==typeof s.close&&(await s.close(),s=null),g.info(a.green("✅ Graceful shutdown completed")),process.exit(0)}catch(e){g.error(a.red(`❌ Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",()=>m("SIGINT")),process.on("SIGTERM",()=>m("SIGTERM")),process.on("uncaughtException",e=>{g.error(a.red(`❌ Uncaught Exception: ${e}`)),m("uncaughtException")}),process.on("unhandledRejection",(e,t)=>{g.error(a.red(`❌ Unhandled Rejection at: ${t}, reason: ${e}`)),m("unhandledRejection")}),await h()}),me.command("build [root]","build for production").option("--target <target>","[string] transpile target (default: 'modules')").option("--outDir <dir>","[string] output directory (default: dist)").option("--assetsDir <dir>","[string] directory under outDir to place assets in (default: assets)").option("--assetsInlineLimit <number>","[number] static asset base64 inline threshold in bytes (default: 4096)").option("--ssr [entry]","[string] build specified entry for server-side rendering").option("--sourcemap [output]",'[boolean | "inline" | "hidden"] output source maps for build (default: false)').option("--minify [minifier]",'[boolean | "terser" | "esbuild"] enable/disable minification, or specify minifier to use (default: esbuild)').option("--manifest [name]","[boolean | string] emit build manifest json").option("--ssrManifest [name]","[boolean | string] emit ssr manifest json").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle (experimental)").option("--emptyOutDir","[boolean] force empty outDir when it's outside of root").option("-w, --watch","[boolean] rebuilds when modules have changed on disk").option("--changelog [assetsFile]","[boolean | string] generate changelog between assetsFile and current build (default: false)").option("--distZip","[boolean] pack build output into a ZIP archive; use --no-distZip to disable (default: pp-dev config build.zip, or true). Env: PP_DEV_DIST_ZIP").option("--distZipDir <dir>","[string] override the ZIP output directory (default: 'dist-zip'). Env: PP_DEV_DIST_ZIP_DIR").option("--distZipFilename <filename>","[string] override the ZIP output file name (default: '<app-name>.zip'). Env: PP_DEV_DIST_ZIP_FILENAME").option("--versionManifest","[boolean] emit VERSION-*.json + BUILD-MANIFEST.json; use --no-versionManifest to disable (default: pp-dev config build.versionFile, or true). Env: PP_DEV_VERSION_MANIFEST").option("--versionFileTemplate <template>","[string] override the VERSION file name template (default: 'VERSION-v{packageversion}-{currentDate}.json'). Env: PP_DEV_VERSION_FILE_TEMPLATE").action(async(t,o)=>{Te(o);const n=ke(o),i=z(o);try{const s=o.mode||"production",r=e.resolve(process.cwd(),t??".");H(s,r);const a=await q({mode:s,command:"build"},o.config,t,o.logLevel);let l=await U(i,{mode:s,root:r});if(a){const{plugins:e,...t}=a.config;l=J(l,t)}const c=J(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 K(c),n.changelog){const i=t||process.cwd(),s=c.build?.outDir||"dist";let r="dist-zip";c.ppDevConfig&&(!1===c.ppDevConfig.distZip?r=s:"object"==typeof c.ppDevConfig.distZip&&"string"==typeof c.ppDevConfig.distZip.outDir&&(r=c.ppDevConfig.distZip.outDir)),await ye({changelog:n.changelog,executionRoot:i,newAssetsPath:e.resolve(i,s),backupsDirPath:e.resolve(i,c.ppDevConfig?.syncBackupsDir||"backups"),changelogDestinationPath:e.resolve(i,r),logLevel:o.logLevel})}}catch(e){r(o.logLevel).error(a.red(`error during build:\n${e.stack}`),{error:e}),process.exit(1)}finally{Se(e=>r(o.logLevel).info(e))}}),me.command("next-build [root]","build a Next.js app for production (`next build`) and emit VERSION/BUILD-MANIFEST/zip in the same format as `pp-dev build`").option("--changelog [assetsFile]","[boolean | string] generate changelog between assetsFile and current build (default: false)").option("--distZip","[boolean] pack build output into a ZIP archive; use --no-distZip to disable (default: pp-dev config build.zip, or true). Env: PP_DEV_DIST_ZIP").option("--distZipDir <dir>","[string] override the ZIP output directory (default: 'dist-zip'). Env: PP_DEV_DIST_ZIP_DIR").option("--distZipFilename <filename>","[string] override the ZIP output file name (default: '<app-name>.zip'). Env: PP_DEV_DIST_ZIP_FILENAME").option("--versionManifest","[boolean] emit VERSION-*.json + BUILD-MANIFEST.json; use --no-versionManifest to disable (default: pp-dev config build.versionFile, or true). Env: PP_DEV_VERSION_MANIFEST").option("--versionFileTemplate <template>","[string] override the VERSION file name template (default: 'VERSION-v{packageversion}-{currentDate}.json'). Env: PP_DEV_VERSION_FILE_TEMPLATE").action(async(o,n)=>{Te(n);const i=r(n.logLevel),s=o?e.resolve(process.cwd(),o):process.cwd(),l=z(n);process.env[d]="1";try{H(n.mode||"production",s);const{constants:o}=await V(),r=await(import("next/dist/server/config.js")),c=r.default.default||r["module.exports"].default||r.default,d=await c(o.PHASE_PRODUCTION_BUILD,s);let w,v=d?.ppDev||{};if(0===Object.keys(v).length){const{getConfig:e}=await import("./index-CWPc3Ff1.js").then(e=>e.h);v=await e(s)}try{const{getPkg:e}=await import("./index-CWPc3Ff1.js").then(e=>e.h);w=e(s).name}catch{w=e.basename(s)}const y=p(v,w),P=W(y.distZip,l,f(w)),x=Z(y.versionPlugin,l),S=u(s,d);S&&i.info(a.dim(`[pp-dev] Removed stale dev route types: ${e.relative(s,S)}`)),i.info(a.cyan("[pp-dev] Running `next build`...")),await g(s);const T="string"==typeof d?.distDir&&d.distDir?d.distDir:".next",k=".next"===T?"out":T,E=e.resolve(s,k);if(!t.existsSync(E)||!t.statSync(E).isDirectory())throw new Error(`Next.js build output directory not found: ${E}. "next-build" requires "output: 'export'" in next.config (static export).`);const L=JSON.parse(t.readFileSync(e.join(s,"package.json"),"utf-8"));if(!1!==x&&!1!==x.enabled&&(h({outDir:E,packageVersion:"string"==typeof L.version?L.version:"0.0.0",versionFileTemplate:x.versionFileTemplate,packageRepositoryUrl:"string"==typeof L.repository?L.repository:L.repository?.url,enabled:x.enabled}),i.info(a.green(`✅ VERSION / BUILD-MANIFEST written to ${e.relative(s,E)}`))),!1!==P){const o=e.resolve(s,P.outDir),n=P.inDir?e.resolve(E,P.inDir):E,r=m(o,P.outFileName,"ZIP output file name");t.mkdirSync(e.dirname(r),{recursive:!0});const l=await b(n);t.writeFileSync(r,l),i.info(a.green(`✅ Zip archive written to ${e.relative(s,r)}`))}if(n.changelog){const t=!1!==P?P.outDir:k;await ye({changelog:n.changelog,executionRoot:s,newAssetsPath:E,backupsDirPath:e.resolve(s,y.syncBackupsDir),changelogDestinationPath:e.resolve(s,t),logLevel:n.logLevel})}}catch(e){r(n.logLevel).error(a.red(`error during next-build:\n${e.stack}`),{error:e}),process.exit(1)}finally{Se(e=>r(n.logLevel).info(e))}}),me.command("changelog [oldAssetPath] [newAssetPath]","generate changelog between two assets files/folders").option("--oldAssetsPath <oldAssetsPath>","[string] path to the old assets zip file or folder").option("--newAssetsPath <newAssetsPath>","[string] path to the new assets zip file or folder").option("--destination <destination>","[string] destination folder for the changelog (default: .)").option("--filename <filename>","[string] filename for the changelog (default: CHANGELOG.html)").action(async(t,o,n)=>{Te(n);const{oldAssetsPath:i=t,newAssetsPath:s=o,destination:l=".",filename:c="CHANGELOG.html",logLevel:d}=n,p=process.cwd();i&&s||(r(d).error(a.red("error during changelog generation: oldAssetPath and newAssetPath are required")),process.exit(1));const f=e.resolve(p,i),u=e.resolve(p,s),g=e.resolve(p,l),h=new ue({oldAssetsPath:f,newAssetsPath:u,destinationPath:g,changelogFilename:c});await h.generateChangelog()}),me.command("generate-icon-font [source] [destination]","generate icon font from SVG files").option("--source <source>","[string] path to the source directory with SVG files").option("--destination <destination>","[string] path to the destination directory to save the generated font files").option("--font-name, -n <fontName>","[string] name of the font to generate (default: 'icon-font')").action(async(t,o,n)=>{Te(n);const{source:i=t,destination:s=o,fontName:l="icon-font"}=n,c=process.cwd(),d=e.resolve(c,i),p=e.resolve(c,s),f=new ge({sourceDir:d,outputDir:p,fontName:l}),u=r(n.logLevel);u.info(`Generating icon font from SVG files in ${a.dim(d)}`),await f.generate(),u.info(`Icon font generated and saved to ${a.dim(p)}`)}),me.command("optimize [root]","pre-bundle dependencies").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action(async(t,o)=>{Te(o);try{const n=o.mode||"production",i=e.resolve(process.cwd(),t??".");H(n,i);const s=await q({mode:n,command:"build"},o.config,t,o.logLevel);let r=await U(void 0,{mode:n,root:i});if(s){const{plugins:e,...t}=s.config;r=J(r,t)}const a=await Y(J(r,{root:t,base:o.base,configFile:o.config,logLevel:o.logLevel,mode:o.mode}),"serve");await X(a,o.force,!0)}catch(e){r(o.logLevel).error(a.red(`error when optimizing deps:\n${e.stack}`),{error:e}),process.exit(1)}}),me.command("preview [root]","locally preview production build").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port").option("--strictPort","[boolean] exit if specified port is already in use").option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--outDir <dir>","[string] output directory (default: dist)").action(async(t,o)=>{Te(o);try{const n=o.mode||"production",i=e.resolve(process.cwd(),t??".");H(n,i);const s=await q({mode:n,command:"build"},o.config,t,o.logLevel);let r=await U(void 0,{mode:n,root:i});if(s){const{plugins:e,...t}=s.config;r=J(r,t)}(await Q(J(r,{root:t,base:o.base,configFile:o.config,logLevel:o.logLevel,mode:o.mode,build:{outDir:o.outDir},preview:{port:o.port,strictPort:o.strictPort,host:o.host,https:o.https,open:o.open}}))).printUrls()}catch(e){r(o.logLevel).error(a.red(`error when starting preview server:\n${e.stack}`),{error:e}),process.exit(1)}finally{Se(e=>r(o.logLevel).info(e))}}),me.command("migrate [config]","migrate pp-dev config from 0.x flat format to 1.0 grouped format").option("--dry-run","[boolean] print migrated config without writing any files").option("--format <format>","[string] output format: ts (default), js, json").option("--output <file>","[string] output file path (default: pp-dev.config.ts)").option("--no-backup","[boolean] skip backup of original config file").action(async(o,n)=>{const i=r(n.logLevel),{isLegacyFlatConfig:s,isLegacyPPWatchConfig:l,isAlreadyMigrated:c,migrateLegacyFlatConfig:d,migratePPWatchConfig:p,generateConfigFileContent:f,discoverMigrateSource:u,loadPackageJsonMigrateConfig:g}=await(import("./migrate-MJ2lJut-.js")),h=n.format??"ts",m=!1!==n.backup,b=process.cwd(),w=u(b,o);w||(i.warn(a.yellow("No pp-dev or pp-watch config file found in the current directory.")),i.info(a.blue('Supported files: pp-dev.config.{ts,js,cjs,mjs,json}, .pp-watch.config.{ts,js,json}, or a "pp-dev" field in package.json')),process.exit(1));const{sourceFile:v,isWatchConfig:y,isPackageJsonConfig:P}=w;i.info(a.blue(`Found config: ${e.relative(b,v)}`));const{getPkg:x}=await import("./index-CWPc3Ff1.js").then(e=>e.h),S=x();let T,k={};try{if(/\.[cm]?ts$/i.test(v)){const o=await(import("esbuild")),{pathToFileURL:n}=await(import("url")),i=(await o.build({absWorkingDir:b,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(b,s)).toString()));k=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(b,v)).toString()));k=o.default?.default??o.default??o}else P?k=g(v):v.endsWith(".json")&&(k=JSON.parse(t.readFileSync(v,"utf-8")))}catch(e){i.error(a.red(`Failed to load config file: ${e.message}`)),process.exit(1)}k&&"object"==typeof k||(i.error(a.red("Config file did not export a valid object.")),process.exit(1)),c(k)?(i.info(a.green("Config is already in 1.0 format — nothing to migrate.")),process.exit(0)):y||l(k)?(i.info(a.blue("Detected pp-watch config format → migrating to 1.0")),T=p(k)):s(k)?(i.info(a.blue("Detected 0.x flat config format → migrating to 1.0")),T=d(k,S.name)):(i.warn(a.yellow("Could not detect config format. No known keys found.")),process.exit(1));const E=f(T,h),L=n.output??e.join(b,`pp-dev.config.${h}`);if(n.dryRun&&(i.info(a.green(`\n--- Migrated config (dry-run) → ${e.relative(b,L)} ---\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(b,o)}`))}t.writeFileSync(L,E,"utf-8"),i.info(a.green(`✅ Migration complete → ${e.relative(b,L)}`)),P?i.info(a.yellow('You can now remove the "pp-dev" field from package.json.')):v!==L&&t.existsSync(v)&&i.info(a.yellow(`You can now delete the old config: ${e.relative(b,v)}`))}),me.help(),me.version(w),me.parse();export{Se as stopProfiler};
2
2
  //# sourceMappingURL=cli.js.map