@metricinsights/pp-dev 1.4.1-beta.4 → 1.4.2-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.
- package/CHANGELOG.md +9 -0
- package/bin/pp-dev.js +2 -6
- package/dist/CHANGELOG.md +9 -0
- package/dist/cjs/cli.js +1 -1
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/{index-Cab7kIQH.js → index-CfU5FCBe.js} +2 -2
- package/dist/cjs/{index-Cab7kIQH.js.map → index-CfU5FCBe.js.map} +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/migrate-oEwnQkHD.js +2 -0
- package/dist/cjs/{migrate-tyzkQsrd.js.map → migrate-oEwnQkHD.js.map} +1 -1
- package/dist/cjs/package.json +1 -5
- package/dist/cjs/plugin-CUMuI9WJ.js +2 -0
- package/dist/cjs/plugin-CUMuI9WJ.js.map +1 -0
- package/dist/cjs/plugin.js +1 -1
- package/dist/cjs/version-plugin-BJwg-VuB.js +2 -0
- package/dist/cjs/version-plugin-BJwg-VuB.js.map +1 -0
- package/dist/esm/cli.js +1 -1
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/{index-BcReEkRb.js → index-DazOwOme.js} +2 -2
- package/dist/esm/{index-BcReEkRb.js.map → index-DazOwOme.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/migrate-B-C3Jle-.js +2 -0
- package/dist/esm/{migrate-Be2sIPUg.js.map → migrate-B-C3Jle-.js.map} +1 -1
- package/dist/esm/package.json +1 -5
- package/dist/esm/plugin-CopRLVdS.js +2 -0
- package/dist/esm/plugin-CopRLVdS.js.map +1 -0
- package/dist/esm/plugin.js +1 -1
- package/dist/esm/version-plugin-7IiIlfiD.js +2 -0
- package/dist/esm/{version-plugin--Vz_dsFm.js.map → version-plugin-7IiIlfiD.js.map} +1 -1
- package/package.json +1 -7
- package/dist/cjs/migrate-tyzkQsrd.js +0 -2
- package/dist/cjs/plugin-BcxTOlCf.js +0 -2
- package/dist/cjs/plugin-BcxTOlCf.js.map +0 -1
- package/dist/cjs/version-plugin-rZ3JgnX3.js +0 -2
- package/dist/cjs/version-plugin-rZ3JgnX3.js.map +0 -1
- package/dist/esm/migrate-Be2sIPUg.js +0 -2
- package/dist/esm/plugin-B4Zp4ldE.js +0 -2
- package/dist/esm/plugin-B4Zp4ldE.js.map +0 -1
- package/dist/esm/version-plugin--Vz_dsFm.js +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-CUMuI9WJ.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/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],"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","hostOriginRegExp","PROXY_HEADER","TEXTUAL_MEDIA_TYPE_REGEXPS","isRewritableStream","contentEncoding","contentType","mediaType","split","toLowerCase","some","pattern","test","isTextualContentType","initProxy","opts","rewritePath","baseURL","disableSSLValidation","miAPI","templateName","Error","fileType","createProxyMiddleware","selfHandleResponse","pathFilter","req","proxyIgnore","Array","isArray","rP","changeOrigin","autoRewrite","cookieDomainRewrite","warn","secure","on","proxyReq","referer","getHeader","personalAccessToken","originalUrl","rewritten","requestUrl","v7Features","internalPageName","u","m","match","segmentDecoded","decodeURIComponent","search","hash","rewriteDataPagePathForV7Proxy","path","cyan","yellow","blue","green","protocol","socket","setMaxListeners","once","setTimeout","destroyed","destroy","proxyRes","serverRes","includes","streamInterceptor","interceptor","data","encoding","Buffer","from","rewrite","statusMessage","Object","entries","undefined","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","attributes","isNamespaceDeclaration","ordered","filter","attr","removeAttribute","reorderNamespaceAttributesFirst","reindent","outerHTML","normalizeSvgFilesInDir","dir","readdirSync","withFileTypes","fullPath","join","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","map","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","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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"}
|
package/dist/cjs/plugin.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("./plugin-
|
|
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;
|
|
2
2
|
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +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
|
|
@@ -0,0 +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"}
|
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,r as l,P as c,b as d,n as p,d as f,e as u,w as g,f as h,z as m,V as b,I as w,v,g as y,h as P,i as x,R as S,j as T,k,l as E,M as L,m as $,o as D,p as F,q as I,s as j,t as _,u as N,D as A,C,x as R,y as M}from"./plugin-B4Zp4ldE.js";import{r as O,l as z,g as H,s as U,a as V,b as W,c as Z,i as G}from"./index-BcReEkRb.js";import{loadConfigFromFile as B,mergeConfig as q,build as J,resolveConfig as K,optimizeDeps as Y,preview as X}from"vite";import{parse as Q}from"url";import*as ee from"dir-compare";import te from"diff-match-patch";import{isBinaryFile as oe}from"isbinaryfile";import*as ne from"os";import*as ie from"crypto";import se from"extract-zip";import re from"svgtofont";import{WebSocketServer as ae,WebSocket as le}from"ws";import"http-proxy-middleware";import"picocolors";import"node:string_decoder";import"axios";import"node:http";import"node:https";import"jsdom";import"process";import"child_process";import"node:path";import"jszip";import"module";import"memory-cache";import"zlib";import"express";import"node:crypto";import"./helpers.js";import"ejs";function ce(e){return null!=e&&!1!==e}let de=null;const pe=[{key:"r",description:"restart the server",async action(e){await e.restart()}},{key:"u",description:"show server url",action(e){e.config.logger.info(""),e.printUrls()}},{key:"o",description:"open in browser",action(e){e.openBrowser()}},{key:"c",description:"clear console",action(e){e.config.logger.clearScreen("error")}},{key:"q",description:"quit",async action(e){await e.close().finally(()=>process.exit())}},{key:"C",description:"clear proxy cache",action(e){e.cache&&(e.cache.clear(),e.config.logger.info("Proxy cache cleared"))}}];const fe=/(.+)(-[a-f0-9]{6,20})(\.[a-z0-9]+)$/i;class ue{oldAssetsPath;newAssetsPath;destinationPath;changelogFilename;changelogTemplate='<!DOCTYPE html>\n <html lang="en">\n <head>\n <meta charset="UTF-8" />\n <title>Changelog Diff</title>\n <style>\n tr,\n td {\n padding: 0;\n }\n .diff-file {\n margin-top: 20px;\n border: 1px solid #e1e4e8;\n border-radius: 6px;\n }\n .diff-file-title {\n padding: 10px 20px;\n background-color: #f6f8fa;\n border-bottom: 1px solid #e1e4e8;\n border-radius: 6px 6px 0 0;\n font-weight: bold;\n }\n .diff-file-title .renamed {\n font-weight: normal;\n }\n .diff-file-title .renamed .from {\n color: #cb2431;\n }\n .diff-file-title .renamed .to {\n color: #22863a;\n }\n .diff-file-title .added {\n color: #22863a;\n }\n .diff-file-title .deleted {\n color: #cb2431;\n }\n .diff-file-content {\n }\n .diff-table {\n tab-size: 8;\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n }\n .blob-num {\n position: relative;\n color: #1f2328;\n width: 1%;\n min-width: 50px;\n padding: 0 10px;\n font-family:\n ui-monospace,\n SFMono-Regular,\n SF Mono,\n Menlo,\n Consolas,\n Liberation Mono,\n monospace;\n font-size: 12px;\n line-height: 20px;\n text-align: right;\n white-space: nowrap;\n vertical-align: top;\n cursor: pointer;\n -webkit-user-select: none;\n user-select: none;\n }\n .blob-num.addition {\n background-color: #ccffd8;\n border-color: #1f883e;\n }\n .blob-num.deletion {\n background-color: #ffd7d5;\n border-color: #cf222e;\n }\n .blob-num::before {\n content: attr(data-line-number);\n }\n .blob-code {\n position: relative;\n padding: 0 10px 0 22px;\n vertical-align: top;\n color: #1f2329;\n }\n .blob-code.code-addition {\n background-color: #e6ffec;\n }\n .blob-code.code-deletion {\n background-color: #ffebe9;\n }\n .blob-code.skip,\n .blob-code.message {\n text-align: center;\n }\n .blob-code.skip .blob-code-inner,\n .blob-code.message .blob-code-inner {\n font-weight: bold;\n color: #6a737d;\n padding: 10px 0;\n }\n .blob-code-inner {\n display: table-cell;\n overflow: visible;\n font-family:\n ui-monospace,\n SFMono-Regular,\n SF Mono,\n Menlo,\n Consolas,\n Liberation Mono,\n monospace;\n font-size: 12px;\n word-wrap: anywhere;\n white-space: pre-wrap;\n }\n .blob-code-inner::before {\n content: attr(data-code-prefix);\n position: absolute;\n top: 1px;\n left: 8px;\n padding-right: 8px;\n }\n </style>\n </head>\n <body>\n <h1>Changelog Diff</h1>\n\n %FILES%\n </body>\n </html>';diffFileTemplateHandler;diffLineTemplateHandler;contextLines=3;logger;constructor(t){const{oldAssetsPath:o,newAssetsPath:n,destinationPath:i,changelogTemplate:s,diffFileTemplateHandler:l,diffLineTemplateHandler:c,changelogFilename:d,contextLines:p}=t;if(this.logger=r(),!o||!n||!i)throw new Error("Previous assets path, current assets path and destination path are required");if(o===n)throw new Error("Previous and current assets paths must be different");if(!this.isExists(o))throw new Error(`Previous assets path ${o} does not exist`);if(!this.isExists(n))throw new Error(`Current assets path ${n} does not exist`);if(this.isZipFile(o)){const t=e.resolve(ne.tmpdir(),ie.createHash("md5").update(o).digest("hex"));this.oldAssetsPath=this.unzipFile(o,t).then(()=>this.normalizeAssetFolderPath(t)).then(e=>{if(this.isEmptyFolder(e))throw new Error(`Previous assets path ${e} is empty`);return e})}else{if(!this.isFolder(o))throw new Error(`Invalid previous assets path ${o}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(o);if(this.isEmptyFolder(e))throw new Error(`Previous assets path ${e} is empty`);this.oldAssetsPath=Promise.resolve(e)}}if(this.isZipFile(n)){const t=e.resolve(ne.tmpdir(),ie.createHash("md5").update(n).digest("hex"));this.newAssetsPath=this.unzipFile(n,t).then(()=>this.normalizeAssetFolderPath(t)).then(e=>{if(this.isEmptyFolder(e))throw new Error(`Current assets path ${e} is empty`);return e})}else{if(!this.isFolder(n))throw new Error(`Invalid current assets path ${n}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(n);if(this.isEmptyFolder(e))throw new Error(`Current assets path ${n} is empty`);this.newAssetsPath=Promise.resolve(e)}}this.destinationPath=i,this.mkdirpSync(this.destinationPath),this.changelogFilename=d||"CHANGELOG.html",s&&(this.templateIsValid(s)?this.changelogTemplate=s:this.logger.warn(a.yellow("Invalid changelog template, using default"))),"function"==typeof l&&(this.diffFileTemplateHandler=l),"function"==typeof c&&(this.diffLineTemplateHandler=c),p&&(this.contextLines=p)}templateIsValid(e){return e.includes("%FILES%")}isExists(e){return t.existsSync(e)}isZipFile(e){return e.endsWith(".zip")}isFolder(e){return t.lstatSync(e).isDirectory()}isEmptyFolder(e){return 0===t.readdirSync(e,{withFileTypes:!0}).length}mkdirpSync(e){t.existsSync(e)||t.mkdirSync(e,{recursive:!0})}async unzipFile(e,o){t.rmSync(o,{force:!0,recursive:!0}),await se(e,{dir:o}),await l(o)}normalizeAssetFolderPath(o){const n=t.readdirSync(o);return 1===n.length&&t.lstatSync(e.join(o,n[0])).isDirectory()?this.normalizeAssetFolderPath(e.join(o,n[0])):o}pathToPosix(e){return e.replace(/\\/g,"/")}diffTableTemplate(e){return`<table class="diff-table">\n <tbody>\n ${e}\n </tbody>\n </table>`}getDiffTableHTML(e){const t=e.filter((e,t,o)=>0!==e.lineType||(t>=0&&t<this.contextLines||t>o.length-(this.contextLines+1)&&t<=o.length-1||o.slice(t-this.contextLines,t+this.contextLines+1).some(e=>0!==e.lineType))).map((e,t,o)=>{if(t>0){const n=o[t-1];if(e.lineNumber-n.lineNumber>1)return[{lineNumber:-1,lineContent:"",lineType:0},e]}return[e]}).flat().map(e=>this.diffLineHTML(e)).join("");return this.diffTableTemplate(t)}diffLineMessageTemplate(e){return`<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code message">\n <span class="blob-code-inner">${e}</span>\n </td>\n </tr>`}diffLineSkipTemplate(){return'<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code skip">\n <span class="blob-code-inner">Skip</span>\n </td>\n </tr>'}diffLineTemplate(e){const{lineNumber:t,lineContent:o,lineType:n}=e,i=1===n?"addition":-1===n?"deletion":"";return`<tr>\n <td\n class="blob-num ${i}${"addition"===i?" empty":""}"\n ${"addition"!==i?` data-line-number="${t}"`:""}\n ></td>\n <td\n class="blob-num ${i}${"deletion"===i?" empty":""}"\n ${"deletion"!==i?` data-line-number="${t}"`:""}\n ></td>\n <td class="blob-code ${1===n?"code-addition":-1===n?"code-deletion":""}">\n <span class="blob-code-inner" data-code-prefix="${1===n?"+":-1===n?"-":" "}">${s=o??"",s.replace(/[\u00A0-\u9999<>&]/g,e=>"&#"+e.charCodeAt(0)+";")}</span>\n </td>\n </tr>`;var s}diffLineHTML(e){if(this.diffLineTemplateHandler)return this.diffLineTemplateHandler(e);const{lineNumber:t}=e;return-1===t?this.diffLineSkipTemplate():this.diffLineTemplate(e)}diffFileTemplate(e,t){return this.diffFileTemplateHandler?this.diffFileTemplateHandler(e,t):`<div class="diff-file">\n <div class="diff-file-title">${e}</div>\n <div class="diff-file-content">${t}</div>\n </div>`}async generateAssetFoldersDiff(){this.logger.info(a.blue(`Comparing asset folders ${await this.oldAssetsPath} and ${await this.newAssetsPath}`));const e=await ee.compare(await this.oldAssetsPath,await this.newAssetsPath,{compareContent:!0,skipSymlinks:!0,compareSize:!0,compareDate:!1,compareNameHandler:(e,t)=>(fe.test(e)&&(e=e.replace(fe,"$1$3")),fe.test(t)&&(t=t.replace(fe,"$1$3")),0===e.localeCompare(t)?0:e.localeCompare(t)>0?1:-1)});return e.diffSet?.filter(e=>"equal"!==e.state||e.name1!==e.name2)||[]}async generateAssetFilesDiff(e,t){const o=new te,n=o.diff_linesToChars_(e,t),i=o.diff_main(n.chars1,n.chars2,!1);o.diff_charsToLines_(i,n.lineArray);let s=0;return i.map(e=>{const[t,o]=e,n=o.endsWith("\n")?o.split("\n").length-1:o.split("\n").length,i=o.split("\n").map((e,o)=>({lineContent:e,lineNumber:s+o+1,lineType:t})).slice(0,n);return-1!==t&&(s+=n),i}).flat()}async generateFilesDiff(o){if("equal"===o.state){const t=this.pathToPosix(e.join(".",o.relativePath,o.name1??"")),n=this.pathToPosix(e.join(".",o.relativePath,o.name2??""));return this.diffFileTemplate(`<span class="renamed"\n >Renamed <span class="from">${t}</span> -> <span class="to">${n}</span></span\n >`,this.diffTableTemplate(this.diffLineMessageTemplate("No changes")))}const n=o.path1&&o.name1?e.join(o.path1,o.name1):null,i=o.path2&&o.name2?e.join(o.path2,o.name2):null,s=this.pathToPosix(e.join(".",o.relativePath,(o.name1||o.name2)??""));if("left"===o.state&&n)return this.diffFileTemplate(`<span class="removed">Removed ${s}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File removed")));if("right"===o.state&&i)return this.diffFileTemplate(`<span class="added">Added ${s}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File added")));if("distinct"===o.state&&n&&i){const r=this.pathToPosix(e.join(".",o.relativePath,o.name1??"")),a=this.pathToPosix(e.join(".",o.relativePath,o.name2??"")),l=o.name1!==o.name2?`<span class="renamed"\n >Renamed <span class="from">${r}</span> -> <span class="to">${a}</span></span\n >`:s;return this.diffFileTemplate(l,await oe(n)||await oe(i)?this.diffTableTemplate(this.diffLineMessageTemplate("Binary file")):this.getDiffTableHTML(await this.generateAssetFilesDiff(t.readFileSync(n,"utf-8"),t.readFileSync(i,"utf-8"))))}return""}async generateChangelog(){this.logger.info(a.green("Generating changelog"));const o=await this.generateAssetFoldersDiff(),n=(await Promise.all(o.map(e=>this.generateFilesDiff(e)))).join("");this.logger.info(a.green("Writing changelog file"));const i=this.changelogTemplate.split("%FILES%");i.splice(1,0,n);const s=i.join("");t.writeFileSync(e.join(this.destinationPath,this.changelogFilename),s),this.logger.info(a.green(`Changelog file written to ${e.join(this.destinationPath,this.changelogFilename)}`))}}class 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=[...M,"package.json","next.config.js","next.config.mjs","next.config.ts","vite.config.js","vite.config.mjs","vite.config.ts",".env",".env.local",".env.development",".env.development.local"].map(o=>e.join(t,o)),r=i(s,{ignored:t=>{const o=e.basename(t);return/(^|[\/\\])\../.test(t)&&!o.startsWith(".env")&&!o.startsWith(".pp-dev")&&!o.startsWith(".pp-watch")},persistent:!0,ignoreInitial:!0,followSymlinks:!1});let l=null;return r.on("change",i=>{n(a.blue(`🔧 Config file changed: ${e.relative(t,i)}`)),l&&clearTimeout(l),l=setTimeout(async()=>{try{n(a.yellow("🔄 Restarting dev server due to config change...")),await o()}catch(e){n(a.red(`❌ Failed to restart dev server: ${e?.message}. Stack: ${e?.stack}`))}},500)}),r.on("error",e=>{n(a.red(`❌ Config watcher error: ${e}`))}),{watcher:r,restartCallback:o,logger:n}}function 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-BcReEkRb.js").then(e=>e.h);f();const{createServer:g}=await(import("vite")),h=o.mode||"development",m=e.resolve(process.cwd(),t??".");z(h,m);const v=await B({mode:h,command:"serve"},o.config,t,o.logLevel);let y=await H(void 0,{mode:h,root:m});if(v){const{plugins:e,...t}=v.config;y=q(y,t)}if(i=await g(q(y,{root:t,base:o.base,mode:o.mode,configFile:o.config,logLevel:o.logLevel,clearScreen:o.clearScreen,optimizeDeps:{force:o.force},server:ke(o),customLogger:d},!0)),!i.config.base||"/"===i.config.base)throw new Error('base cannot be equal to "/" or empty string');if(!i.httpServer)throw new Error("HTTP server not available");await i.listen();const P=global.__pp_dev_start_time??!1,x=P?a.dim(`ready in ${a.reset(a.bold(Math.ceil(n.now()-P)))} ms`):"";d.info(`\n ${a.green(`${a.bold("PP-DEV")} v${b}`)} ${x}\n`),i.printUrls();const S=await u(m);if(!1!==S.inspector?.enabled){const e=i.resolvedUrls?.local[0],t=e?new URL(e).origin:`http://localhost:${i.config.server.port??5173}`;d.info(`\n ${a.cyan("🔍 Request Inspector")} ${a.dim(t+w)}\n`)}!function(e,t){if(!e.httpServer||!process.stdin.isTTY||process.env.CI)return;e._shortcutsOptions=t;const o=r();t.print&&o.info(a.dim(a.green(" ➜"))+a.dim(" press ")+a.bold("h")+a.dim(" to show help"));const n=(t.customShortcuts??[]).filter(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 U(),{PHASE_DEVELOPMENT_SERVER:M}=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-BcReEkRb.js").then(e=>e.h);O();const{join:H,basename:V}=await(import("path")),{createServer:W}=await(import("http")),B=await(import("next/dist/server/config.js")),q=B.default.default||B["module.exports"].default||B.default,J=ke(i),K=n?H(process.cwd(),n):process.cwd();z(i.mode||"development",K),g.info(K);const Y=await q(M,K);let X=Y?.ppDev||{};if(0===Object.keys(X).length)try{const{getConfig:e}=await import("./index-BcReEkRb.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 ee=null;try{const{getPkg:e}=await import("./index-BcReEkRb.js").then(e=>e.h);ee=e(K).name}catch{ee=V(K)}v(X,ee??"");const te=p(X,ee??""),oe=te.backendBaseURL??"http://localhost:8080",ne=te.templateLess,ie=te.v7Features,se=te.disableSSLValidation,re=te.enableProxyCache,ae=te.proxyCacheTTL,le=te.personalAccessToken,ce=te.miHudLess,de=te.inspectorEnabled,pe=te.inspectorMaxMemory,fe=te.inspectorCaptureLimit,ue=te.appId??(process.env.MI_APP_ID&&parseInt(process.env.MI_APP_ID,10)||void 0)??(process.env.MI_PORTAL_PAGE_ID&&parseInt(process.env.MI_PORTAL_PAGE_ID,10)||void 0)??1,ge=Y?.basePath;let me="";ge?me=ge:(me=ne?y:ie?P:x,me+=`/${ee}`);const ye=function(e){const t="1"===process.env.PP_DEV_NEXT_WEBPACK||"true"===process.env.PP_DEV_NEXT_WEBPACK;if(t&&(e.webpack||e.turbopack))throw new Error("Do not combine PP_DEV_NEXT_WEBPACK with --webpack or --turbopack");if(t)return{webpack:!0};if(e.webpack&&e.turbopack)throw new Error("Use only one of --webpack or --turbopack");return e.webpack?{webpack:!0}:e.turbopack?{turbopack:!0}:{}}(i),Pe=async e=>{delete process.env.TURBOPACK,s&&"function"==typeof s.close&&(await s.close(),s=null);const t={dev:!0,customServer:!0,hostname:J.host||"localhost",port:J.port,dir:K,conf:{...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: ${ee}`)),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=Q(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=Q(o,!0);else{if(n===me.replace(/\/$/,"")){const e=o.replace(n,me);return t.writeHead(302,{Location:e}),void t.end()}if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_"));else if("/"===n)return t.writeHead(302,{Location:me}),void t.end()}await xe(e,t,i)}s()}catch(d){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 S(pe);T(k,e,fe);const t=E(e,fe);$e.push(t)}if(oe){const n=new URL(oe).host;oe.startsWith("https://")&&(o.defaultMaxListeners=Math.max(o.defaultMaxListeners,20));const i={headers:{host:n,referer:oe,origin:oe.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},appId:ue,templateLess:ne,disableSSLValidation:se,v7Features:ie,personalAccessToken:le??process.env.MI_ACCESS_TOKEN};Le=new L(oe,i);const p=$(me,ee??void 0),f=(e,t,o)=>{p(e,t,o)};De.push(f),$e.push(f);const u=Z(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=D({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=F(h,Le,Object.assign({base:me},i,{miHudLess:ce})),v=(e,t,o)=>{m(e,t,o)};$e.push(v);const y=me.endsWith("/")?me.substring(0,me.length-1):me,P={middlewares:{use:e=>e},config:{logger:console}},x=I({devServer:P,baseURL:oe,proxyIgnore:["/@vite","/@metricinsights","/@",y,"/_next","/favicon.ico","/__nextjs_","/installHook.js.map"],disableSSLValidation:se,miAPI:Le,templateName:ee??void 0}),S=(e,t,o)=>{x(e,t,o)};$e.push(S);const T=k,E=(e,t,o)=>{if(e.url?.startsWith("/@api/")||e.url?.startsWith(w)||e.url?.startsWith(j)){return void T(e,t,()=>{})}o()};De.push(E),$e.push(E);const M=_(e=>{const t=e.split("?")[0];return t.startsWith(me)&&!t.includes("/_next/")},(e,t)=>{const o=Le.buildPage(e,ce),i=G(o,me,{backendBaseURL:oe,templateLess:ne,appId:ue,devPanelPosition:te.devPanelPosition,devPanelHidden:te.devPanelHidden,devPanelAutoHide:te.devPanelAutoHide});return Buffer.from(N(n,t.headers.host??"",i))}),O=(e,t,o)=>{M(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$/,""),U=H&&".next"!==H?H:"out";let W,B="0.0.0";try{const o=JSON.parse(t.readFileSync(e.join(K,"package.json"),"utf-8"));B="string"==typeof o.version?o.version:B,W="string"==typeof o.repository?o.repository:o.repository?.url}catch{}const J=new A(ee??V(K),{root:K,backupFolder:e.resolve(K,te.syncBackupsDir),nextBuild:{projectRoot:K,distDir:U,packageVersion:B,packageRepositoryUrl:W}}),X={ws:c.ws,config:{clientInjectionPlugin:{v7Features:ie}}};new C(X,{distService:J,miAPI:Le}),R(k,{distService:J,miAPI:Le});const Q="function"==typeof s?.getUpgradeHandler?s.getUpgradeHandler():null;l.on("upgrade",(e,t,o)=>{c?.handleUpgrade(e,t,o)||(Q?Q(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}${w}`)),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=O(o);try{const s=o.mode||"production",r=e.resolve(process.cwd(),t??".");z(s,r);const a=await B({mode:s,command:"build"},o.config,t,o.logLevel);let l=await H(i,{mode:s,root:r});if(a){const{plugins:e,...t}=a.config;l=q(l,t)}const c=q(l,{root:t,base:o.base,mode:o.mode,configFile:o.config,logLevel:o.logLevel,clearScreen:o.clearScreen,optimizeDeps:{force:o.force},build:n},!0);if(await J(c),n.changelog){const i=t||process.cwd(),s=c.build?.outDir||"dist";let r="dist-zip";c.ppDevConfig&&(!1===c.ppDevConfig.distZip?r=s:"object"==typeof c.ppDevConfig.distZip&&"string"==typeof c.ppDevConfig.distZip.outDir&&(r=c.ppDevConfig.distZip.outDir)),await ye({changelog:n.changelog,executionRoot:i,newAssetsPath:e.resolve(i,s),backupsDirPath:e.resolve(i,c.ppDevConfig?.syncBackupsDir||"backups"),changelogDestinationPath:e.resolve(i,r),logLevel:o.logLevel})}}catch(e){r(o.logLevel).error(a.red(`error during build:\n${e.stack}`),{error:e}),process.exit(1)}finally{Se(e=>r(o.logLevel).info(e))}}),me.command("next-build [root]","build a Next.js app for production (`next build`) and emit VERSION/BUILD-MANIFEST/zip in the same format as `pp-dev build`").option("--changelog [assetsFile]","[boolean | string] generate changelog between assetsFile and current build (default: false)").option("--distZip","[boolean] pack build output into a ZIP archive; use --no-distZip to disable (default: pp-dev config build.zip, or true). Env: PP_DEV_DIST_ZIP").option("--distZipDir <dir>","[string] override the ZIP output directory (default: 'dist-zip'). Env: PP_DEV_DIST_ZIP_DIR").option("--distZipFilename <filename>","[string] override the ZIP output file name (default: '<app-name>.zip'). Env: PP_DEV_DIST_ZIP_FILENAME").option("--versionManifest","[boolean] emit VERSION-*.json + BUILD-MANIFEST.json; use --no-versionManifest to disable (default: pp-dev config build.versionFile, or true). Env: PP_DEV_VERSION_MANIFEST").option("--versionFileTemplate <template>","[string] override the VERSION file name template (default: 'VERSION-v{packageversion}-{currentDate}.json'). Env: PP_DEV_VERSION_FILE_TEMPLATE").action(async(o,n)=>{Te(n);const i=r(n.logLevel),s=o?e.resolve(process.cwd(),o):process.cwd(),l=O(n);process.env[d]="1";try{z(n.mode||"production",s);const{constants:o}=await U(),r=await(import("next/dist/server/config.js")),c=r.default.default||r["module.exports"].default||r.default,d=await c(o.PHASE_PRODUCTION_BUILD,s);let b,w=d?.ppDev||{};if(0===Object.keys(w).length){const{getConfig:e}=await import("./index-BcReEkRb.js").then(e=>e.h);w=await e(s)}try{const{getPkg:e}=await import("./index-BcReEkRb.js").then(e=>e.h);b=e(s).name}catch{b=e.basename(s)}const v=p(w,b),y=V(v.distZip,l,f(b)),P=W(v.versionPlugin,l);i.info(a.cyan("[pp-dev] Running `next build`...")),await u(s);const x="string"==typeof d?.distDir&&d.distDir?d.distDir:".next",S=".next"===x?"out":x,T=e.resolve(s,S);if(!t.existsSync(T)||!t.statSync(T).isDirectory())throw new Error(`Next.js build output directory not found: ${T}. "next-build" requires "output: 'export'" in next.config (static export).`);const k=JSON.parse(t.readFileSync(e.join(s,"package.json"),"utf-8"));if(!1!==P&&!1!==P.enabled&&(g({outDir:T,packageVersion:"string"==typeof k.version?k.version:"0.0.0",versionFileTemplate:P.versionFileTemplate,packageRepositoryUrl:"string"==typeof k.repository?k.repository:k.repository?.url,enabled:P.enabled}),i.info(a.green(`✅ VERSION / BUILD-MANIFEST written to ${e.relative(s,T)}`))),!1!==y){const o=e.resolve(s,y.outDir),n=y.inDir?e.resolve(T,y.inDir):T,r=h(o,y.outFileName,"ZIP output file name");t.mkdirSync(e.dirname(r),{recursive:!0});const l=await m(n);t.writeFileSync(r,l),i.info(a.green(`✅ Zip archive written to ${e.relative(s,r)}`))}if(n.changelog){const t=!1!==y?y.outDir:S;await ye({changelog:n.changelog,executionRoot:s,newAssetsPath:T,backupsDirPath:e.resolve(s,v.syncBackupsDir),changelogDestinationPath:e.resolve(s,t),logLevel:n.logLevel})}}catch(e){r(n.logLevel).error(a.red(`error during next-build:\n${e.stack}`),{error:e}),process.exit(1)}finally{Se(e=>r(n.logLevel).info(e))}}),me.command("changelog [oldAssetPath] [newAssetPath]","generate changelog between two assets files/folders").option("--oldAssetsPath <oldAssetsPath>","[string] path to the old assets zip file or folder").option("--newAssetsPath <newAssetsPath>","[string] path to the new assets zip file or folder").option("--destination <destination>","[string] destination folder for the changelog (default: .)").option("--filename <filename>","[string] filename for the changelog (default: CHANGELOG.html)").action(async(t,o,n)=>{Te(n);const{oldAssetsPath:i=t,newAssetsPath:s=o,destination:l=".",filename:c="CHANGELOG.html",logLevel:d}=n,p=process.cwd();i&&s||(r(d).error(a.red("error during changelog generation: oldAssetPath and newAssetPath are required")),process.exit(1));const f=e.resolve(p,i),u=e.resolve(p,s),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??".");z(n,i);const s=await B({mode:n,command:"build"},o.config,t,o.logLevel);let r=await H(void 0,{mode:n,root:i});if(s){const{plugins:e,...t}=s.config;r=q(r,t)}const a=await K(q(r,{root:t,base:o.base,configFile:o.config,logLevel:o.logLevel,mode:o.mode}),"serve");await Y(a,o.force,!0)}catch(e){r(o.logLevel).error(a.red(`error when optimizing deps:\n${e.stack}`),{error:e}),process.exit(1)}}),me.command("preview [root]","locally preview production build").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port").option("--strictPort","[boolean] exit if specified port is already in use").option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--outDir <dir>","[string] output directory (default: dist)").action(async(t,o)=>{Te(o);try{const n=o.mode||"production",i=e.resolve(process.cwd(),t??".");z(n,i);const s=await B({mode:n,command:"build"},o.config,t,o.logLevel);let r=await H(void 0,{mode:n,root:i});if(s){const{plugins:e,...t}=s.config;r=q(r,t)}(await X(q(r,{root:t,base:o.base,configFile:o.config,logLevel:o.logLevel,mode:o.mode,build:{outDir:o.outDir},preview:{port:o.port,strictPort:o.strictPort,host:o.host,https:o.https,open:o.open}}))).printUrls()}catch(e){r(o.logLevel).error(a.red(`error when starting preview server:\n${e.stack}`),{error:e}),process.exit(1)}finally{Se(e=>r(o.logLevel).info(e))}}),me.command("migrate [config]","migrate pp-dev config from 0.x flat format to 1.0 grouped format").option("--dry-run","[boolean] print migrated config without writing any files").option("--format <format>","[string] output format: ts (default), js, json").option("--output <file>","[string] output file path (default: pp-dev.config.ts)").option("--no-backup","[boolean] skip backup of original config file").action(async(o,n)=>{const i=r(n.logLevel),{isLegacyFlatConfig:s,isLegacyPPWatchConfig:l,isAlreadyMigrated:c,migrateLegacyFlatConfig:d,migratePPWatchConfig:p,generateConfigFileContent:f,discoverMigrateSource:u,loadPackageJsonMigrateConfig:g}=await(import("./migrate-Be2sIPUg.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-BcReEkRb.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(b),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-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};
|
|
2
2
|
//# sourceMappingURL=cli.js.map
|