@metricinsights/pp-dev 1.4.5 → 1.4.6
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 +6 -0
- package/dist/CHANGELOG.md +6 -0
- package/dist/cjs/cli.js +1 -1
- package/dist/cjs/{index-D4bqY384.js → index-DlBoHBGI.js} +2 -2
- package/dist/cjs/{index-D4bqY384.js.map → index-DlBoHBGI.js.map} +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/{migrate-LVnjAIMX.js → migrate-G-xh-wpc.js} +2 -2
- package/dist/cjs/{migrate-LVnjAIMX.js.map → migrate-G-xh-wpc.js.map} +1 -1
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/plugin-Bfd0zHTR.js +2 -0
- package/dist/cjs/plugin-Bfd0zHTR.js.map +1 -0
- package/dist/cjs/plugin.js +1 -1
- package/dist/cjs/{version-plugin-VrJ9bgzv.js → version-plugin-DmJ0luHT.js} +2 -2
- package/dist/cjs/{version-plugin-VrJ9bgzv.js.map → version-plugin-DmJ0luHT.js.map} +1 -1
- package/dist/esm/cli.js +1 -1
- package/dist/esm/{index-DBWI8b9J.js → index-Dv-Y3cH6.js} +2 -2
- package/dist/esm/{index-DBWI8b9J.js.map → index-Dv-Y3cH6.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/{migrate-OoKc3OYy.js → migrate-BBCvcE_8.js} +2 -2
- package/dist/esm/{migrate-OoKc3OYy.js.map → migrate-BBCvcE_8.js.map} +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/plugin-B0dsWaBT.js +2 -0
- package/dist/esm/plugin-B0dsWaBT.js.map +1 -0
- package/dist/esm/plugin.js +1 -1
- package/dist/esm/{version-plugin-CD-t-1w1.js → version-plugin-BqEwLs0b.js} +2 -2
- package/dist/esm/{version-plugin-CD-t-1w1.js.map → version-plugin-BqEwLs0b.js.map} +1 -1
- package/package.json +1 -1
- package/dist/cjs/plugin-DWvw5qwR.js +0 -2
- package/dist/cjs/plugin-DWvw5qwR.js.map +0 -1
- package/dist/esm/plugin-D8UnKa_2.js +0 -2
- package/dist/esm/plugin-D8UnKa_2.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-Bfd0zHTR.js","sources":["../../../src/constants.ts","../../../src/lib/logger.ts","../../../src/lib/helpers/color.helper.ts","../../../src/lib/helpers/url.helper.ts","../../../src/lib/helpers/login.helper.ts","../../../src/lib/helpers/cookie.helper.ts","../../../src/lib/proxy-pass.middleware.ts","../../../src/api/base.ts","../../../src/api/assets.ts","../../../src/api/assets-v7.ts","../../../src/api/unavailable-json-api.ts","../../../src/api/page.ts","../../../src/api/page-template.ts","../../../src/api/page-variable.ts","../../../src/lib/helpers/token.helper.ts","../../../src/lib/pp.middleware.ts","../../../src/lib/output-path.ts","../../../src/lib/helpers/svg-mi-normalize.helper.ts","../../../src/lib/version-manifest.ts","../../../src/lib/helpers/zip.helper.ts","../../../src/lib/next-build-runner.ts","../../../src/lib/dist.service.ts","../../../src/lib/client.service.ts","../../../src/lib/proxy-cache.middleware.ts","../../../src/lib/rewrite-response.middleware.ts","../../../src/lib/helpers/content-encoding.helper.ts","../../../src/lib/pp-redirect.middleware.ts","../../../src/lib/auth.provider.ts","../../../src/lib/load-pp-data.middleware.ts","../../../src/lib/internal.middleware.ts","../../../src/lib/request-store.ts","../../../src/lib/request-capture.middleware.ts","../../../src/lib/request-inspector.ts","../../../src/lib/page-variables-diff.ts","../../../src/lib/variables-editor.ts","../../../src/plugin.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["afterBundlePath","resolve","__filename","fileURLToPath","document","require","pathToFileURL","href","_documentCurrentScript","tagName","toUpperCase","src","URL","baseURI","beforeBundlePath","PP_DEV_PACKAGE_DIR","existsSync","PP_DEV_CLIENT_ENTRY","version","name","JSON","parse","readFileSync","toString","VERSION","PACKAGE_NAME","PP_DEV_NEXT_BUILD_ENV_VAR","storage","Map","DEFAULT_LOGGER_KEY","createLogger","level","has","get","logger","cL","set","colors","createColors","urlReplacer","originalHost","destinationHost","content","urlReplaceRegExp","RegExp","replace","substring","args","startsWith","redirect","res","url","statusCode","setHeader","end","cutUrlParams","split","tokenLoginFunction","TOKEN_TYPE_CONFIG","personal","placeholder","caption","host","endpoint","regular","updateTokenUI","type","tokenInput","tokenCaption","info","innerHTML","showError","message","errorElement","textContent","classList","add","hideError","remove","setupEventHandlers","formWrapper","submitButton","addEventListener","async","e","preventDefault","value","trim","focus","tokenTypeSwitcher","getElementById","activeOption","querySelector","tokenType","dataset","token","response","fetch","method","headers","body","stringify","window","location","origin","pathname","json","error","parseError","networkError","handleFormSubmission","key","click","initializeLoginForm","loginForm","contentWrapper","firstChild","rowTemplate","lastChild","cloneNode","orRow","innerText","setAttribute","helperForm","formContent","createElement","styleElement","head","appendChild","tokenTypeOptions","querySelectorAll","handleTokenTypeChange","target","forEach","opt","option","currentTarget","setupTokenTypeSwitcher","console","formSelector","observer","MutationObserver","mutations","mutation","disconnect","observe","childList","subtree","existingForm","isSecureRequest","req","socket","encrypted","forwardedProto","proto","Array","isArray","toLowerCase","rewriteSetCookie","cookie","secureRequest","pair","attributes","rewritten","map","attribute","filter","test","join","MI_SESSION_COOKIE","findCookieValue","pairs","separator","indexOf","slice","rewriteSetCookieHeader","undefined","hostOriginRegExp","PROXY_HEADER","requestBearerTokens","WeakMap","TEXTUAL_MEDIA_TYPE_REGEXPS","isRewritableStream","contentEncoding","contentType","mediaType","some","pattern","isTextualContentType","initProxy","opts","rewritePath","baseURL","disableSSLValidation","miAPI","templateName","Error","fileType","createProxyMiddleware","selfHandleResponse","pathFilter","proxyIgnore","rP","changeOrigin","autoRewrite","cookieDomainRewrite","warn","secure","on","proxyReq","referer","getHeader","personalAccessToken","removeHeader","originalUrl","requestUrl","v7Features","internalPageName","u","m","match","segmentDecoded","decodeURIComponent","search","hash","rewriteDataPagePathForV7Proxy","path","cyan","yellow","blue","green","protocol","setMaxListeners","once","setTimeout","destroyed","destroy","proxyRes","serverRes","includes","streamInterceptor","interceptor","data","encoding","Buffer","from","rewrite","statusMessage","Object","entries","pipe","decoder","StringDecoder","pending","waitingForDrain","flush","text","write","pause","resume","chunk","lastBreak","lastIndexOf","length","rewriteInterceptor","responseInterceptor","responseBuffer","fileTypeFromBuffer","reqUrl","searchParams","redirectToFunction","storageKey","lastRedirectKey","redirectCount","localStorage","getItem","Number","isNaN","func","params","URLSearchParams","debug","removeItem","setItem","Date","toISOString","reqHost","urlPath","destinationPath","unescapedUrlReplaceRegExp","replacedContent","urlPathReplacer","err","errorMessage","stack","writable","writeHead","BaseAPI","axios","constructor","this","checkAuth","assign","accept","maxRedirects","then","catch","AssetsAPI","super","getDownloadUrl","appId","getDownloadTemplateUrl","templateId","getUploadUrl","getUploadTemplateUrl","downloadPageAssets","withCredentials","responseType","uploadPageAssets","file","formData","FormData","assetFile","File","Uint8Array","append","post","Referer","getUri","downloadTemplateAssets","uploadTemplateAssets","AssetsV7API","PAGE_DATA_FETCH_FRAGMENT","PAGE_TEMPLATE_FETCH_FRAGMENT","MAINTENANCE_SUFFIX","unavailablePageTemplateDataError","isUnavailableJsonApiError","PageAPI","getAll","Accept","Pragma","Expires","pages","id","page","getPageContent","create","PageTemplateAPI","internal_name","page_templates","page_template","PageVariableAPI","getById","pageId","page_id","tags","parsed","TypeError","malformedIndex","findIndex","entry","normalizePageVariableTags","updateById","put","getTokenErrorInfo","status","lowerMessage","code","userFriendlyMessage","suggestions","TEMPLATE_PAGE_NAME","axiosInstanceCache","MiAPI","pageTemplate","pageTitle","pageVars","isV710OrHigher","templateLoaded","templateLoadedResolve","templateLess","assetsApi","pageApi","pageTemplateApi","pageVariableApi","Promise","cacheKey","process","env","NODE_TLS_REJECT_UNAUTHORIZED","httpsAgent","https","Agent","keepAlive","rejectUnauthorized","timeout","httpAgent","http","defaults","isTemplateLoaded","clearHeaders","obj","keys","authorization","escapeRegExp","updateHeaders","localTemplateHTML","getPageTemplate","red","template_id","find","p","enabled","visible_in_homepage","getPageVariables","template","reason","getLivePageVariables","start","now","applyPageVariables","listPages","getPageVariablesFor","isTemplateLess","reloadPageVariables","getPageInfo","pageIdToFetch","fetchV7Page","fetchLegacyPage","handlePageFetchError","buildPage","miHudLess","result","v","escapedName","pageVarRegex","dom","JSDOM","placeholderText","container","scripts","insertBefore","item","title","titleEl","serialize","getAssets","pageInfo","templateInfo","updateAssets","assets","validateCredentials","testHeaders","isValid","errorInfo","cleanup","normalizedHeaders","context","contextPrefix","suggestion","index","logTokenError","tokenErrorInfo","normalizeRelativeOutputPath","relativePath","optionName","posix","isAbsolute","win32","root","normalized","normalize","createDefaultZipFileName","appName","resolveOutputFilePath","directory","fileName","safeRelativePath","resolvedDirectory","resolvedFile","relativeToDirectory","relative","sep","normalizeSvgLikeMi","svgText","svg","removeComments","isNamespaceDeclaration","ordered","attr","removeAttribute","reorderNamespaceAttributesFirst","reindent","outerHTML","normalizeSvgFilesInDir","dir","readdirSync","withFileTypes","fullPath","isDirectory","isFile","endsWith","original","writeFileSync","node","childNodes","child","nodeType","comment","removeChild","children","el","depth","elementChildren","innerIndent","repeat","outerIndent","createTextNode","BUILD_MANIFEST_FILE_NAME","walkDir","baseDir","excludeFiles","Set","files","push","sha256OfContent","filePath","createHash","update","digest","stripUrlUserInfo","normalizeRepositoryUrl","normalizedUrl","scpLikeMatch","repositoryPath","sshProtocolMatch","gitProtocolMatch","writeBuildVersionManifest","config","outDir","cwd","versionFileTemplate","packageVersion","outDirResolved","statSync","throwIfNoEntry","manifestDate","resolvedVersionFileTemplate","versionFileName","currentDate","resolveVersionFileName","manifestPath","allPaths","checksum","hashesConcatenated","sort","computeChecksum","buildFingerprint","normalizedEntries","computeBuildFingerprint","helperVersion","modulePath","currentDir","dirname","packageJsonPath","packageStat","packageJson","parentDir","resolveHelperVersion","branchName","configBranchName","ciBranchEnvVars","variableName","currentBranchName","execSync","stdio","resolveBranchName","packageBranchName","manifest","schemaVersion","date","repositoryUrl","packageRepositoryUrl","buildManifestPath","buildManifest","manifestType","generatedAt","versionFile","versionFileSchemaVersion","compat","versionFileRequired","mkdirSync","recursive","zipDirectoryToBuffer","zip","JSZip","addDir","current","fs","readdir","full","readFile","generateAsync","compression","extractZipSafe","zipPath","loadAsync","createFolders","values","rawName","unsafeOriginalName","dest","unixPermissions","mkdir","writeFile","runNextBuildProcess","projectRoot","reject","nextBin","nextPkgPath","createRequire","proc","child_process","spawn","execPath","NODE_ENV","TEMPLATE_PART_PAGE_NAME","TEMPLATE_PART_DATE","DIRNAME","pluginPath","node_modules_path","metaDirPath","metaFilePath","TEMPLATE_VARIABLES_FILE_NAME","DistService","backupFolder","backupNameTemplate","dateFormat","pageName","currentMeta","distZipFolder","distZipFilename","buildInputFolder","nextBuild","syncOptions","syncMeta","checkMeta","stat","readMetaFile","writeMetaFile","meta","getLatestSavedBackup","lastBackupName","backupPath","backupName","getBackupMeta","pathToPosix","normalizeBackupManifestPath","normalizeExtractedRootDir","extractedDir","listFilesRecursive","rootDir","buildManifestChecksum","crypto","buildBackupFingerprint","versionFileTemplateMatcher","placeholderPattern","segments","lastIndex","exec","staticPart","trailingStaticPart","isTemplateVariablesBasename","fileBasename","pickTemplateVariablesFromBackupZip","relativePaths","contentRootDir","basename","absolutePath","fileData","actualHash","manifestHash","resolveBackupAnalysisFromZip","backupFile","tempDir","mkdtemp","os","tmpdir","buildManifestCandidates","buildManifestAbsolutePath","versionManifestPath","requestedVersionFile","exactMatchCandidates","basenameMatchCandidates","resolvedCandidates","versionFileMatcher","versionManifestCandidates","normalizedManifestFiles","templateVariables","manifestChecksum","manifestFileActualHashes","versionManifestHashMismatches","versionManifestAbsolutePath","expectedHash","normalizedPath","prototype","hasOwnProperty","call","expected","actual","mismatchedManifestPaths","fingerprintFiles","unknownFiles","backupFingerprint","buildManifestMismatch","mainHash","allFilesInMeta","Boolean","rm","force","analyzeBackup","getPublicTemplateVariablesHash","templateVariablesPath","readPublicTemplateVariablesFile","saveTemplateVariablesFile","saveBackup","precomputedAnalysis","resolvedAnalysis","resolvedBackupFileHash","lastBackupHash","lastMainHash","backupDate","filename","lastBackupDate","finally","buildNewAssets","buildNextAssets","buildCommand","msg","buildInputPath","String","saveBackupAndBuild","distDir","ClientService","server","eventMap","syncActionResolvers","onInfoDataRequest","bind","onTemplateSync","onTemplateSyncActionResponse","onPageVariablesReload","init","ws","event","handler","clearAllPendingSyncActions","resolveSyncAction","requestId","approved","clearTimeout","timeoutId","delete","_data","client","send","payload","requestSyncAction","randomUUID","timeoutMs","syncActionTimeoutMs","distService","clientInjectionPlugin","canSync","currentAssets","isAxiosError","validation","refresh","validationError","cause","httpStatus","newAssets","backupAnalysis","onlyTemplateVariablesMismatch","mm","templateVarMismatches","otherManifestMismatches","mixedTemplateAndOthers","pathsForVersionModal","promptReplaceTemplateVariables","confirmText","cancelText","cancelled","maxPaths","paths","listed","remainder","fileList","suffix","updateResult","backupMeta","backupFilename","currentHash","syncedAt","syncError","reloaded","ok","count","skipped","FILE_EXTENSION_REGEX","DEFAULT_TTL","DEFAULT_MAX_SIZE","DEFAULT_MAX_ITEMS","cache","items","totalSize","maxSize","maxItems","expiresAt","del","ttl","size","clear","purgeExpired","getTotalSize","getItemCount","next","invalidateListeners","lastBearerToken","invalidateProxyCache","listener","getIdentityChange","getRequestBearerToken","changed","newSession","getSetCookieValue","cookieHeader","getRequestCookie","createResponseBuffer","chunks","alloc","totalLength","reduce","sum","byteLength","concat","initProxyCache","devServer","change","hasHeader","cleanUrl","generateCacheKey","cacheItem","header","setResponseHeaders","originalEnd","originalWrite","callback","safeEncoding","isBuffer","finalBuffer","responseSize","_setCookie","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","authProvider","apiResponseCache","getCachedResponse","cached","setCachedResponse","DEFAULT_REDIRECT_URL","initLoadPPData","applyUrlRegExp","mi","appBase","isNeedTemplateLoad","requestPath","isApplyRequest","isAppNavigation","normalizedBase","isUnderBase","isHtmlDocumentRequest","authState","handleTemplateLoad","encodeURIComponent","handlePageInfoOnly","headersSent","writableEnded","options","redirectOnAuthFailure","success","handleLoadError","loadPageData","operationType","isAuthError","fullRedirectUrl","createInternalServer","app","express","use","urlencoded","extended","internalServer","RequestStore","insertOrder","maxMemory","allocateId","storedEntry","bodyBytes","requestBody","responseBody","requestBodyTruncated","responseBodyTruncated","oldest","shift","old","list","duration","source","requestSize","q","limit","isFinite","offset","Math","max","memoryUsage","SKIP_PREFIXES","SKIP_EXACT","createRequestCaptureMiddleware","store","captureLimit","startTime","reqChunks","reqSize","reqTruncated","origReqEmit","emit","buf","resChunks","resSize","resTruncated","origWrite","origEnd","captureChunk","ArrayBuffer","isView","buffer","byteOffset","getWriteEncoding","detectSource","finalized","requestHeaders","responseHeaders","finalize","INSPECTOR_PATH","routeStates","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-Bfd0zHTR.js");require("http-proxy-middleware"),require("url"),require("vite"),require("picocolors"),require("node:string_decoder"),require("axios"),require("node:http"),require("node:https"),require("jsdom"),require("path"),require("fs"),require("crypto"),require("process"),require("child_process"),require("os"),require("node:path"),require("jszip"),require("module"),require("zlib"),require("express"),require("node:crypto"),exports.default=e.vitePPDev,exports.normalizePPDevConfig=e.normalizePPDevConfig,exports.validatePPDevConfig=e.validatePPDevConfig,exports.vitePPDev=e.vitePPDev;
|
|
2
2
|
//# sourceMappingURL=plugin.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("./plugin-
|
|
2
|
-
//# sourceMappingURL=version-plugin-
|
|
1
|
+
"use strict";const e=require("./plugin-Bfd0zHTR.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-DmJ0luHT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-plugin-
|
|
1
|
+
{"version":3,"file":"version-plugin-DmJ0luHT.js","sources":["../../../src/plugins/version-plugin.ts"],"sourcesContent":[null],"names":["config","outDir","root","process","cwd","name","apply","enforce","configResolved","resolvedConfig","build","closeBundle","writeBuildVersionManifest","packageVersion","versionFileTemplate","packageRepositoryUrl","packageBranchName","enabled"],"mappings":"yeAWM,SAAwBA,GAC5B,IAAIC,EAASD,EAAOC,OAChBC,EAAOC,QAAQC,MAEnB,MAAO,CACLC,KAAM,iBACNC,MAAO,QACPC,QAAS,OAET,cAAAC,CAAeC,GACbR,EAASQ,EAAeC,MAAMT,OAC9BC,EAAOO,EAAeP,MAAQA,CAChC,EAEA,WAAAS,GACEC,4BAA0B,CACxBX,SACAC,OACAW,eAAgBb,EAAOa,eACvBC,oBAAqBd,EAAOc,oBAC5BC,qBAAsBf,EAAOe,qBAC7BC,kBAAmBhB,EAAOgB,kBAC1BC,QAASjB,EAAOiB,SAEpB,EAEJ"}
|
package/dist/esm/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"path";import*as t from"fs";import{EventEmitter as o}from"node:events";import{performance as n}from"node:perf_hooks";import{watch as i}from"chokidar";import{cac as s}from"cac";import{c as r,a,e as l,P as c,b as d,n as p,d as f,r as u,f as g,w as h,g as m,z as b,V as w,I as v,v as y,h as P,i as x,j as S,R as T,k,l as E,m as L,M as $,o as D,p as F,q as I,s as j,t as _,u as N,x as A,D as C,C as R,y as M,A as O}from"./plugin-D8UnKa_2.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-DBWI8b9J.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-DBWI8b9J.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-DBWI8b9J.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-DBWI8b9J.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-DBWI8b9J.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-DBWI8b9J.js").then(e=>e.h);v=await e(s)}try{const{getPkg:e}=await import("./index-DBWI8b9J.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-OoKc3OYy.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-DBWI8b9J.js").then(e=>e.h),S=x();let T,k={};try{if(/\.[cm]?ts$/i.test(v)){const o=await(import("esbuild")),{pathToFileURL:n}=await(import("url")),i=(await o.build({absWorkingDir:b,entryPoints:[v],outfile:"out.js",write:!1,target:"node24",platform:"node",bundle:!0,packages:"external",format:"esm",mainFields:["main"]})).outputFiles[0].text,s=`pp-migrate-tmp-${Date.now()}.mjs`;t.writeFileSync(s,i);try{const t=await(import(n(e.resolve(b,s)).toString()));k=t.default?.default??t.default??t}finally{t.existsSync(s)&&t.unlinkSync(s)}}else if(/\.[cm]?js$/i.test(v)){const{pathToFileURL:t}=await(import("url")),o=await(import(t(e.resolve(b,v)).toString()));k=o.default?.default??o.default??o}else P?k=g(v):v.endsWith(".json")&&(k=JSON.parse(t.readFileSync(v,"utf-8")))}catch(e){i.error(a.red(`Failed to load config file: ${e.message}`)),process.exit(1)}k&&"object"==typeof k||(i.error(a.red("Config file did not export a valid object.")),process.exit(1)),c(k)?(i.info(a.green("Config is already in 1.0 format — nothing to migrate.")),process.exit(0)):y||l(k)?(i.info(a.blue("Detected pp-watch config format → migrating to 1.0")),T=p(k)):s(k)?(i.info(a.blue("Detected 0.x flat config format → migrating to 1.0")),T=d(k,S.name)):(i.warn(a.yellow("Could not detect config format. No known keys found.")),process.exit(1));const E=f(T,h),L=n.output??e.join(b,`pp-dev.config.${h}`);if(n.dryRun&&(i.info(a.green(`\n--- Migrated config (dry-run) → ${e.relative(b,L)} ---\n`)),process.exit(0)),m&&!P&&t.existsSync(v)){const o=`${v}.bak`;t.copyFileSync(v,o),i.info(a.blue(`Backed up original to: ${e.relative(b,o)}`))}t.writeFileSync(L,E,"utf-8"),i.info(a.green(`✅ Migration complete → ${e.relative(b,L)}`)),P?i.info(a.yellow('You can now remove the "pp-dev" field from package.json.')):v!==L&&t.existsSync(v)&&i.info(a.yellow(`You can now delete the old config: ${e.relative(b,v)}`))}),me.help(),me.version(w),me.parse();export{Se as stopProfiler};
|
|
1
|
+
import*as e from"path";import*as t from"fs";import{EventEmitter as o}from"node:events";import{performance as n}from"node:perf_hooks";import{watch as i}from"chokidar";import{cac as s}from"cac";import{c as r,a,e as l,P as c,b as d,n as p,d as f,r as u,f as g,w as h,g as m,z as b,V as w,I as v,v as y,h as P,i as x,j as S,R as T,k,l as E,m as L,M as $,o as D,p as F,q as I,s as j,t as _,u as N,x as A,D as C,C as R,y as M,A as O}from"./plugin-B0dsWaBT.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-Dv-Y3cH6.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-Dv-Y3cH6.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-Dv-Y3cH6.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-Dv-Y3cH6.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-Dv-Y3cH6.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-Dv-Y3cH6.js").then(e=>e.h);v=await e(s)}try{const{getPkg:e}=await import("./index-Dv-Y3cH6.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-BBCvcE_8.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-Dv-Y3cH6.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
|