@metricinsights/pp-dev 0.16.1 ā 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/CHANGELOG.md +12 -0
- package/dist/cjs/cli.js +1 -1
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/helpers.js.map +1 -1
- package/dist/cjs/index-Bu8AM2lb.js.map +1 -1
- package/dist/cjs/package.json +15 -12
- package/dist/cjs/plugin-D-TIdILy.js.map +1 -1
- package/dist/cjs/version-plugin-Cj4Pv-pw.js.map +1 -1
- package/dist/esm/cli.js +1 -1
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/helpers.js.map +1 -1
- package/dist/esm/index-Cx5STeh7.js.map +1 -1
- package/dist/esm/package.json +15 -12
- package/dist/esm/plugin-CE47-pTE.js.map +1 -1
- package/dist/esm/version-plugin-B1n39tE6.js.map +1 -1
- package/package.json +23 -19
- package/scripts/patch-npm-bundled-vulnerabilities.mjs +30 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-D-TIdILy.js","sources":["../../../src/lib/helpers/url.helper.ts","../../../src/lib/logger.ts","../../../src/lib/helpers/color.helper.ts","../../../src/lib/helpers/login.helper.ts","../../../src/lib/proxy-pass.middleware.ts","../../../src/api/base.ts","../../../src/api/assets.ts","../../../src/api/assets-v7.ts","../../../src/api/page.ts","../../../src/api/page-template.ts","../../../src/lib/helpers/token.helper.ts","../../../src/lib/pp.middleware.ts","../../../src/lib/client.service.ts","../../../src/lib/proxy-cache.middleware.ts","../../../src/lib/dist.service.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/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],"names":["urlReplacer","originalHost","destinationHost","content","urlReplaceRegExp","RegExp","replace","substring","args","startsWith","redirect","res","url","statusCode","setHeader","end","storage","Map","DEFAULT_LOGGER_KEY","createLogger","level","name","has","get","logger","cL","set","colors","createColors","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","document","getElementById","activeOption","querySelector","tokenType","dataset","token","response","fetch","method","headers","body","JSON","stringify","URL","window","location","origin","pathname","json","error","parseError","href","networkError","handleFormSubmission","key","click","initializeLoginForm","loginForm","contentWrapper","firstChild","rowTemplate","lastChild","cloneNode","orRow","innerText","setAttribute","helperForm","formContent","createElement","styleElement","head","appendChild","tokenTypeOptions","querySelectorAll","handleTokenTypeChange","target","forEach","opt","option","currentTarget","setupTokenTypeSwitcher","console","observer","MutationObserver","mutations","mutation","disconnect","observe","childList","subtree","existingForm","hostOriginRegExp","PROXY_HEADER","initProxy","opts","rewritePath","baseURL","disableSSLValidation","miAPI","Error","fileType","import","createProxyMiddleware","selfHandleResponse","pathFilter","req","proxyIgnore","some","test","Array","isArray","rP","changeOrigin","autoRewrite","cookieDomainRewrite","log","warn","secure","on","proxyReq","referer","getHeader","blue","green","protocol","path","personalAccessToken","socket","setTimeout","destroyed","destroy","proxyRes","serverRes","includes","streamInterceptor","setHeaders","Object","entries","pipe","rewriteInterceptor","responseInterceptor","responseBuffer","fileTypeFromBuffer","toString","reqUrl","searchParams","redirectToFunction","storageKey","lastRedirectKey","redirectCount","localStorage","getItem","Number","isNaN","func","params","URLSearchParams","search","debug","removeItem","setItem","Date","toISOString","slice","reqHost","urlPath","destinationPath","unescapedUrlReplaceRegExp","replacedContent","urlPathReplacer","err","errorMessage","stack","writable","writeHead","BaseAPI","axios","constructor","this","checkAuth","assign","accept","maxRedirects","then","catch","AssetsAPI","formdataModulePromise","super","getDownloadUrl","portalPageId","getDownloadTemplateUrl","templateId","getUploadUrl","getUploadTemplateUrl","downloadPageAssets","withCredentials","responseType","data","uploadPageAssets","file","formData","FormData","File","assetFile","append","post","Referer","getUri","downloadTemplateAssets","uploadTemplateAssets","AssetsV7API","PageAPI","getAll","Accept","Pragma","Expires","pages","id","page","getPageContent","internalPageName","create","PageTemplateAPI","internal_name","page_templates","page_template","getTokenErrorInfo","status","lowerMessage","toLowerCase","code","userFriendlyMessage","suggestions","TEMPLATE_PAGE_NAME","axiosInstanceCache","MiAPI","pageTemplate","pageTitle","pageVars","v7Features","isV710OrHigher","templateLoaded","templateLoadedResolve","templateLess","assetsApi","pageApi","pageTemplateApi","Promise","resolve","cacheKey","process","env","NODE_TLS_REJECT_UNAUTHORIZED","defaults","httpsAgent","Agent","rejectUnauthorized","timeout","httpAgent","keepAlive","maxSockets","isTemplateLoaded","clearHeaders","obj","undefined","keys","authorization","updateHeaders","localTemplateHTML","getPageTemplate","red","template_id","find","p","yellow","enabled","visible_in_homepage","getPageVariables","pageId","tags","template","parsed","parse","reason","getPageInfo","pageIdToFetch","fetchV7Page","fetchLegacyPage","handlePageFetchError","buildPage","miHudLess","result","v","dom","JSDOM","placeholderText","container","scripts","length","insertBefore","item","title","text","serialize","getAssets","pageInfo","templateInfo","updateAssets","assets","validateCredentials","testHeaders","isValid","errorInfo","cleanup","normalizedHeaders","context","contextPrefix","suggestion","index","logTokenError","tokenErrorInfo","ClientService","server","eventMap","onInfoDataRequest","bind","onTemplateSync","init","ws","event","handler","send","distService","config","clientInjectionPlugin","canSync","currentAssets","isAxiosError","validation","refresh","validationError","cause","newAssets","saveBackupAndBuild","buildNewAssets","Buffer","updateResult","backupMeta","getBackupMeta","lastBackupName","backupFilename","lastBackupHash","currentHash","lastBackupDate","backupDate","syncedAt","FILE_EXTENSION_REGEX","DEFAULT_TTL","DEFAULT_MAX_SIZE","DEFAULT_MAX_ITEMS","EnhancedCache","memoryCache","Cache","totalSize","maxSize","maxItems","put","ttl","oldItem","size","itemsToRemove","sortedKeys","sort","a","b","itemA","itemB","timestamp","i","del","oldestKey","getTotalSize","getItemCount","cache","createResponseBuffer","chunks","alloc","totalLength","reduce","sum","chunk","byteLength","concat","initProxyCache","devServer","next","originalUrl","cleanUrl","split","generateCacheKey","cacheItem","header","setResponseHeaders","write","originalEnd","originalWrite","encoding","callback","hasHeader","call","safeEncoding","push","from","isBuffer","String","finalBuffer","responseSize","getHeaders","now","toFixed","finalEncoding","TEMPLATE_PART_PAGE_NAME","TEMPLATE_PART_DATE","DIRNAME","dirname","__filename","fileURLToPath","require","pathToFileURL","_documentCurrentScript","tagName","toUpperCase","src","baseURI","pluginPath","node_modules_path","metaDirPath","metaFilePath","DistService","backupFolder","backupNameTemplate","dateFormat","pageName","currentMeta","distZipFolder","distZipFilename","syncOptions","cwd","date","syncMeta","checkMeta","fs","stat","mkdir","readMetaFile","readFile","writeMetaFile","meta","writeFile","getLatestSavedBackup","backupPath","backupName","saveBackup","backupFile","backupFileHash","crypto","createHash","update","digest","filename","finally","buildCommand","reject","cyan","proc","child_process","spawn","NODE_ENV","stdio","msg","initRewriteResponse","predicate","rewrite","buffers","cb","contentEncoding","unzipSync","brotliDecompressSync","inflateSync","decodeContent","bufferEncoding","endCallback","gzipSync","brotliCompressSync","deflateSync","encodeContent","initPPRedirect","base","templateName","baseWithoutTrailingSlash","endsWith","parsedUrl","findPaths","redirectUrl","AuthProvider","state","isAuthenticated","isRedirected","lastChecked","listeners","Set","getState","setAuthenticated","authenticated","notifyListeners","setRedirected","redirected","updateState","updates","reset","subscribe","listener","delete","getDebugInfo","listenerCount","authProvider","apiResponseCache","getCachedResponse","cached","setCachedResponse","DEFAULT_REDIRECT_URL","initLoadPPData","applyUrlRegExp","mi","appId","authState","isNeedTemplateLoad","isApplyRequest","cutUrlParams","handleTemplateLoad","encodeURIComponent","handlePageInfoOnly","options","redirectOnAuthFailure","clear","success","handleLoadError","loadPageData","operationType","isAuthError","fullRedirectUrl","createInternalServer","app","express","use","urlencoded","extended","internalServer","validateConfigValue","validator","validationResult","validations","c","backendBaseURL","proxyCacheTTL","integrateMiTopBar","integrate","addRootElement","addSharedComponentsScripts","validateConfig","enableProxyCache","imageOptimizer","outDir","distZip","versionPlugin","syncBackupsDir","MI_ACCESS_TOKEN","distZipConfig","outFileName","imageOptimizerConfig","versionPluginDefaultTemplate","versionPluginConfig","versionFileTemplate","isFirstRequest","normalizedAppId","apply","port","validateServerConfig","transformIndexHtml","html","ctx","tag","injectTo","children","Math","random","configureServer","lastIndexOf","middlewares","baseUrlHost","miConfig","cacheConfig","validateProxyCacheConfig","isIndexRegExp","proxyPassMiddleware","sendErrorResponse","details","handleTokenValidationError","enhancedErrorInfo","errorCode","Authorization","user","user_id","Token","users","backupDir"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin-D-TIdILy.js","sources":["../../../../src/lib/helpers/url.helper.ts","../../../../src/lib/logger.ts","../../../../src/lib/helpers/color.helper.ts","../../../../src/lib/helpers/login.helper.ts","../../../../src/lib/proxy-pass.middleware.ts","../../../../src/api/base.ts","../../../../src/api/assets.ts","../../../../src/api/assets-v7.ts","../../../../src/api/page.ts","../../../../src/api/page-template.ts","../../../../src/lib/helpers/token.helper.ts","../../../../src/lib/pp.middleware.ts","../../../../src/lib/client.service.ts","../../../../src/lib/proxy-cache.middleware.ts","../../../../src/lib/dist.service.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/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],"names":["urlReplacer","originalHost","destinationHost","content","urlReplaceRegExp","RegExp","replace","substring","args","startsWith","redirect","res","url","statusCode","setHeader","end","storage","Map","DEFAULT_LOGGER_KEY","createLogger","level","name","has","get","logger","cL","set","colors","createColors","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","document","getElementById","activeOption","querySelector","tokenType","dataset","token","response","fetch","method","headers","body","JSON","stringify","URL","window","location","origin","pathname","json","error","parseError","href","networkError","handleFormSubmission","key","click","initializeLoginForm","loginForm","contentWrapper","firstChild","rowTemplate","lastChild","cloneNode","orRow","innerText","setAttribute","helperForm","formContent","createElement","styleElement","head","appendChild","tokenTypeOptions","querySelectorAll","handleTokenTypeChange","target","forEach","opt","option","currentTarget","setupTokenTypeSwitcher","console","observer","MutationObserver","mutations","mutation","disconnect","observe","childList","subtree","existingForm","hostOriginRegExp","PROXY_HEADER","initProxy","opts","rewritePath","baseURL","disableSSLValidation","miAPI","Error","fileType","import","createProxyMiddleware","selfHandleResponse","pathFilter","req","proxyIgnore","some","test","Array","isArray","rP","changeOrigin","autoRewrite","cookieDomainRewrite","log","warn","secure","on","proxyReq","referer","getHeader","blue","green","protocol","path","personalAccessToken","socket","setTimeout","destroyed","destroy","proxyRes","serverRes","includes","streamInterceptor","setHeaders","Object","entries","pipe","rewriteInterceptor","responseInterceptor","responseBuffer","fileTypeFromBuffer","toString","reqUrl","searchParams","redirectToFunction","storageKey","lastRedirectKey","redirectCount","localStorage","getItem","Number","isNaN","func","params","URLSearchParams","search","debug","removeItem","setItem","Date","toISOString","slice","reqHost","urlPath","destinationPath","unescapedUrlReplaceRegExp","replacedContent","urlPathReplacer","err","errorMessage","stack","writable","writeHead","BaseAPI","axios","constructor","this","checkAuth","assign","accept","maxRedirects","then","catch","AssetsAPI","formdataModulePromise","super","getDownloadUrl","portalPageId","getDownloadTemplateUrl","templateId","getUploadUrl","getUploadTemplateUrl","downloadPageAssets","withCredentials","responseType","data","uploadPageAssets","file","formData","FormData","File","assetFile","append","post","Referer","getUri","downloadTemplateAssets","uploadTemplateAssets","AssetsV7API","PageAPI","getAll","Accept","Pragma","Expires","pages","id","page","getPageContent","internalPageName","create","PageTemplateAPI","internal_name","page_templates","page_template","getTokenErrorInfo","status","lowerMessage","toLowerCase","code","userFriendlyMessage","suggestions","TEMPLATE_PAGE_NAME","axiosInstanceCache","MiAPI","pageTemplate","pageTitle","pageVars","v7Features","isV710OrHigher","templateLoaded","templateLoadedResolve","templateLess","assetsApi","pageApi","pageTemplateApi","Promise","resolve","cacheKey","process","env","NODE_TLS_REJECT_UNAUTHORIZED","defaults","httpsAgent","Agent","rejectUnauthorized","timeout","httpAgent","keepAlive","maxSockets","isTemplateLoaded","clearHeaders","obj","undefined","keys","authorization","updateHeaders","localTemplateHTML","getPageTemplate","red","template_id","find","p","yellow","enabled","visible_in_homepage","getPageVariables","pageId","tags","template","parsed","parse","reason","getPageInfo","pageIdToFetch","fetchV7Page","fetchLegacyPage","handlePageFetchError","buildPage","miHudLess","result","v","dom","JSDOM","placeholderText","container","scripts","length","insertBefore","item","title","text","serialize","getAssets","pageInfo","templateInfo","updateAssets","assets","validateCredentials","testHeaders","isValid","errorInfo","cleanup","normalizedHeaders","context","contextPrefix","suggestion","index","logTokenError","tokenErrorInfo","ClientService","server","eventMap","onInfoDataRequest","bind","onTemplateSync","init","ws","event","handler","send","distService","config","clientInjectionPlugin","canSync","currentAssets","isAxiosError","validation","refresh","validationError","cause","newAssets","saveBackupAndBuild","buildNewAssets","Buffer","updateResult","backupMeta","getBackupMeta","lastBackupName","backupFilename","lastBackupHash","currentHash","lastBackupDate","backupDate","syncedAt","FILE_EXTENSION_REGEX","DEFAULT_TTL","DEFAULT_MAX_SIZE","DEFAULT_MAX_ITEMS","EnhancedCache","memoryCache","Cache","totalSize","maxSize","maxItems","put","ttl","oldItem","size","itemsToRemove","sortedKeys","sort","a","b","itemA","itemB","timestamp","i","del","oldestKey","getTotalSize","getItemCount","cache","createResponseBuffer","chunks","alloc","totalLength","reduce","sum","chunk","byteLength","concat","initProxyCache","devServer","next","originalUrl","cleanUrl","split","generateCacheKey","cacheItem","header","setResponseHeaders","write","originalEnd","originalWrite","encoding","callback","hasHeader","call","safeEncoding","push","from","isBuffer","String","finalBuffer","responseSize","getHeaders","now","toFixed","finalEncoding","TEMPLATE_PART_PAGE_NAME","TEMPLATE_PART_DATE","DIRNAME","dirname","__filename","fileURLToPath","require","pathToFileURL","_documentCurrentScript","tagName","toUpperCase","src","baseURI","pluginPath","node_modules_path","metaDirPath","metaFilePath","DistService","backupFolder","backupNameTemplate","dateFormat","pageName","currentMeta","distZipFolder","distZipFilename","syncOptions","cwd","date","syncMeta","checkMeta","fs","stat","mkdir","readMetaFile","readFile","writeMetaFile","meta","writeFile","getLatestSavedBackup","backupPath","backupName","saveBackup","backupFile","backupFileHash","crypto","createHash","update","digest","filename","finally","buildCommand","reject","cyan","proc","child_process","spawn","NODE_ENV","stdio","msg","initRewriteResponse","predicate","rewrite","buffers","cb","contentEncoding","unzipSync","brotliDecompressSync","inflateSync","decodeContent","bufferEncoding","endCallback","gzipSync","brotliCompressSync","deflateSync","encodeContent","initPPRedirect","base","templateName","baseWithoutTrailingSlash","endsWith","parsedUrl","findPaths","redirectUrl","AuthProvider","state","isAuthenticated","isRedirected","lastChecked","listeners","Set","getState","setAuthenticated","authenticated","notifyListeners","setRedirected","redirected","updateState","updates","reset","subscribe","listener","delete","getDebugInfo","listenerCount","authProvider","apiResponseCache","getCachedResponse","cached","setCachedResponse","DEFAULT_REDIRECT_URL","initLoadPPData","applyUrlRegExp","mi","appId","authState","isNeedTemplateLoad","isApplyRequest","cutUrlParams","handleTemplateLoad","encodeURIComponent","handlePageInfoOnly","options","redirectOnAuthFailure","clear","success","handleLoadError","loadPageData","operationType","isAuthError","fullRedirectUrl","createInternalServer","app","express","use","urlencoded","extended","internalServer","validateConfigValue","validator","validationResult","validations","c","backendBaseURL","proxyCacheTTL","integrateMiTopBar","integrate","addRootElement","addSharedComponentsScripts","validateConfig","enableProxyCache","imageOptimizer","outDir","distZip","versionPlugin","syncBackupsDir","MI_ACCESS_TOKEN","distZipConfig","outFileName","imageOptimizerConfig","versionPluginDefaultTemplate","versionPluginConfig","versionFileTemplate","isFirstRequest","normalizedAppId","apply","port","validateServerConfig","transformIndexHtml","html","ctx","tag","injectTo","children","Math","random","configureServer","lastIndexOf","middlewares","baseUrlHost","miConfig","cacheConfig","validateProxyCacheConfig","isIndexRegExp","proxyPassMiddleware","sendErrorResponse","details","handleTokenValidationError","enhancedErrorInfo","errorCode","Authorization","user","user_id","Token","users","backupDir"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-plugin-Cj4Pv-pw.js","sources":["
|
|
1
|
+
{"version":3,"file":"version-plugin-Cj4Pv-pw.js","sources":["../../../../src/plugins/version-plugin.ts"],"sourcesContent":[null],"names":["walkDir","dir","baseDir","excludeFile","entries","readdirSync","withFileTypes","files","entry","fullPath","path","join","name","relativePath","relative","replace","isDirectory","push","isFile","sha256OfContent","filePath","content","readFileSync","createHash","update","digest","config","apply","enforce","closeBundle","enabled","outDir","versionFileTemplate","packageVersion","outDirResolved","resolve","process","cwd","statSync","throwIfNoEntry","manifestDate","Date","toISOString","versionFileName","template","currentDate","resolveVersionFileName","allPaths","checksum","hashesConcatenated","Object","keys","sort","map","p","computeChecksum","manifest","version","date","manifestPath","writeFileSync","JSON","stringify"],"mappings":"gIAkBA,SAASA,EAAQC,EAAaC,EAAiBC,GAC7C,MAAMC,EAAUC,EAAAA,YAAYJ,EAAK,CAAEK,eAAe,IAC5CC,EAAkB,GAExB,IAAK,MAAMC,KAASJ,EAAS,CAC3B,MAAMK,EAAWC,EAAKC,KAAKV,EAAKO,EAAMI,MAChCC,EAAeH,EAAKI,SAASZ,EAASO,GAAUM,QAAQ,MAAO,KAEjEP,EAAMQ,cACRT,EAAMU,QAAQjB,EAAQS,EAAUP,EAASC,IAChCK,EAAMU,UAAYL,IAAiBV,GAC5CI,EAAMU,KAAKR,EAEf,CAEA,OAAOF,CACT,CAEA,SAASY,EAAgBC,GACvB,MAAMC,EAAUC,EAAAA,aAAaF,GAE7B,OAAOG,EAAAA,WAAW,UAAUC,OAAOH,GAASI,OAAO,MACrD,uBAmBM,SAAwBC,GAC5B,MAAO,CACLd,KAAM,iBACNe,MAAO,QACPC,QAAS,OAET,WAAAC,GACE,IAAuB,IAAnBH,EAAOI,QACT,OAGF,MAAMC,OAAEA,EAAMC,oBAAEA,EAAmBC,eAAEA,GAAmBP,EAClDQ,EAAiBxB,EAAKyB,QAAQC,QAAQC,MAAON,GAEnD,IAAKO,EAAAA,SAASJ,EAAgB,CAAEK,gBAAgB,KAAUvB,cACxD,OAGF,MACMwB,GADM,IAAIC,MACSC,cAEnBC,EA/BZ,SACEC,EACAX,EACAY,GAEA,OAAOD,EACJ7B,QAAQ,sBAAuBkB,GAC/BlB,QAAQ,mBAAoB8B,EACjC,CAuB8BC,CACtBd,GAAuB,+CACvBC,EAHkBO,EAAazB,QAAQ,KAAM,MAOzCgC,EAAW/C,EAAQkC,EAAgBA,EAAgBS,GACnDpC,EAAgC,CAAA,EAEtC,IAAK,MAAMa,KAAY2B,EAAU,CAG/BxC,EAFqBG,EAAKI,SAASoB,EAAgBd,GAAUL,QAAQ,MAAO,MAEtDI,EAAgBC,EACxC,CAEA,MAAM4B,EArDZ,SAAyBzC,GACvB,MACM0C,EADcC,OAAOC,KAAK5C,GAAO6C,OACAC,IAAKC,GAAM/C,EAAM+C,IAAI3C,KAAK,IAEjE,OAAOY,EAAAA,WAAW,UAAUC,OAAOyB,GAAoBxB,OAAO,MAChE,CAgDuB8B,CAAgBhD,GAE3BiD,EAA4B,CAChCC,QAAS,IAAIxB,IACbyB,KAAMlB,EACNQ,WACAzC,SAGIoD,EAAejD,EAAKC,KAAKuB,EAAgBS,GAE/CiB,gBAAcD,EAAcE,KAAKC,UAAUN,EAAU,KAAM,GAAI,QACjE,EAEJ"}
|
package/dist/esm/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"path";import*as t from"fs";import{performance as o}from"node:perf_hooks";import{watch as n}from"chokidar";import{cac as i}from"cac";import{loadConfigFromFile as s,mergeConfig as r,build as a,resolveConfig as l,optimizeDeps as c,preview as d,loadEnv as p}from"vite";import{g as f,V as h,s as u,P as g,a as m}from"./index-Cx5STeh7.js";import{c as b,a as w,M as v,i as y,b as x,d as T,e as P,f as $,g as S,u as L}from"./plugin-CE47-pTE.js";import{parse as F}from"url";import*as E from"dir-compare";import j from"diff-match-patch";import{isBinaryFile as A}from"isbinaryfile";import*as I from"os";import*as k from"crypto";import D from"extract-zip";import C from"svgtofont";import"ejs";import"http-proxy-middleware";import"picocolors";import"axios";import"jsdom";import"https";import"memory-cache";import"process";import"child_process";import"console";import"zlib";import"express";function _(e){return null!=e&&!1!==e}const N=[{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 M=/(.+)(-[a-f0-9]{6,20})(\.[a-z0-9]+)$/i;class R{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: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, 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: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, 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:r,diffLineTemplateHandler:a,changelogFilename:l,contextLines:c}=t;if(this.logger=b(),!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(I.tmpdir(),k.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(I.tmpdir(),k.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=l||"CHANGELOG.html",s&&(this.templateIsValid(s)?this.changelogTemplate=s:this.logger.warn(w.yellow("Invalid changelog template, using default"))),"function"==typeof r&&(this.diffFileTemplateHandler=r),"function"==typeof a&&(this.diffLineTemplateHandler=a),c&&(this.contextLines=c)}templateIsValid(e){return e.includes("%FILES%")}isExists(e){return t.existsSync(e)}isZipFile(e){return e.endsWith(".zip")}isFolder(e){return t.lstatSync(e).isDirectory()}isEmptyFolder(e){return 0===t.readdirSync(e,{withFileTypes:!0}).length}mkdirpSync(e){t.existsSync(e)||t.mkdirSync(e,{recursive:!0})}async unzipFile(e,o){return t.rmSync(o,{force:!0,recursive:!0}),D(e,{dir:o})}normalizeAssetFolderPath(o){const n=t.readdirSync(o);return 1===n.length&&t.lstatSync(e.join(o,n[0])).isDirectory()?this.normalizeAssetFolderPath(e.join(o,n[0])):o}pathToPosix(e){return e.replace(/\\/g,"/")}diffTableTemplate(e){return`<table class="diff-table">\n <tbody>\n ${e}\n </tbody>\n </table>`}getDiffTableHTML(e){const t=e.filter((e,t,o)=>0!==e.lineType||(t>=0&&t<this.contextLines||t>o.length-(this.contextLines+1)&&t<=o.length-1||o.slice(t-this.contextLines,t+this.contextLines+1).some(e=>0!==e.lineType))).map((e,t,o)=>{if(t>0){const n=o[t-1];if(e.lineNumber-n.lineNumber>1)return[{lineNumber:-1,lineContent:"",lineType:0},e]}return[e]}).flat().map(e=>this.diffLineHTML(e)).join("");return this.diffTableTemplate(t)}diffLineMessageTemplate(e){return`<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code message">\n <span class="blob-code-inner">${e}</span>\n </td>\n </tr>`}diffLineSkipTemplate(){return'<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code skip">\n <span class="blob-code-inner">Skip</span>\n </td>\n </tr>'}diffLineTemplate(e){const{lineNumber:t,lineContent:o,lineType:n}=e,i=1===n?"addition":-1===n?"deletion":"";return`<tr>\n <td\n class="blob-num ${i}${"addition"===i?" empty":""}"\n ${"addition"!==i?` data-line-number="${t}"`:""}\n ></td>\n <td\n class="blob-num ${i}${"deletion"===i?" empty":""}"\n ${"deletion"!==i?` data-line-number="${t}"`:""}\n ></td>\n <td class="blob-code ${1===n?"code-addition":-1===n?"code-deletion":""}">\n <span class="blob-code-inner" data-code-prefix="${1===n?"+":-1===n?"-":" "}">${s=o??"",s.replace(/[\u00A0-\u9999<>&]/g,e=>"&#"+e.charCodeAt(0)+";")}</span>\n </td>\n </tr>`;var s}diffLineHTML(e){if(this.diffLineTemplateHandler)return this.diffLineTemplateHandler(e);const{lineNumber:t}=e;return-1===t?this.diffLineSkipTemplate():this.diffLineTemplate(e)}diffFileTemplate(e,t){return this.diffFileTemplateHandler?this.diffFileTemplateHandler(e,t):`<div class="diff-file">\n <div class="diff-file-title">${e}</div>\n <div class="diff-file-content">${t}</div>\n </div>`}async generateAssetFoldersDiff(){this.logger.info(w.blue(`Comparing asset folders ${await this.oldAssetsPath} and ${await this.newAssetsPath}`));const e=await E.compare(await this.oldAssetsPath,await this.newAssetsPath,{compareContent:!0,skipSymlinks:!0,compareSize:!0,compareDate:!1,compareNameHandler:(e,t)=>(M.test(e)&&(e=e.replace(M,"$1$3")),M.test(t)&&(t=t.replace(M,"$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 j,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 A(n)||await A(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(w.green("Generating changelog"));const o=await this.generateAssetFoldersDiff(),n=(await Promise.all(o.map(e=>this.generateFilesDiff(e)))).join("");this.logger.info(w.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(w.green(`Changelog file written to ${e.join(this.destinationPath,this.changelogFilename)}`))}}class z{sourceDir;outputDir;fontName;constructor(e){this.sourceDir=e.sourceDir,this.outputDir=e.outputDir,this.fontName=e.fontName}async generate(){await C({src:this.sourceDir,dist:this.outputDir,fontName:this.fontName,css:!0,typescript:!0,startUnicode:59905,svgicons2svgfont:{fontHeight:1024}})}}const H=i("pp-dev");function G(t,o,i){const s=[...g,...m,"package.json","next.config.js","next.config.mjs","next.config.ts","vite.config.js","vite.config.mjs","vite.config.ts",".env",".env.local",".env.development",".env.development.local"].map(o=>e.join(t,o)),r=n(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 a=null;return r.on("change",n=>{i(w.blue(`š§ Config file changed: ${e.relative(t,n)}`)),a&&clearTimeout(a),a=setTimeout(async()=>{try{i(w.yellow("š Restarting dev server due to config change...")),await o()}catch(e){i(w.red(`ā Failed to restart dev server: ${e?.message}. Stack: ${e?.stack}`))}},500)}),r.on("error",e=>{i(w.red(`ā Config watcher error: ${e}`))}),{watcher:r,restartCallback:o,logger:i}}function O(e){e.watcher&&e.watcher.close()}let U=global.__pp_dev_profile_session,W=0;const V=o=>{if(U)return new Promise((n,i)=>{U.post("Profiler.stop",(s,{profile:r})=>{if(s)i(s);else{const i=e.resolve(`./pp-dev-profile-${W++}.cpuprofile`);t.writeFileSync(i,JSON.stringify(r)),o(w.yellow(`CPU profile written to ${w.white(w.dim(i))}`)),U=void 0,n()}})})},q=e=>{for(const[t,o]of Object.entries(e))Array.isArray(o)&&(e[t]=o[o.length-1])};function B(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}H.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"),H.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,n)=>{q(n);let i=null,a=null,l=!1;const c=t?e.resolve(process.cwd(),t):process.cwd(),d=b(n.logLevel),u=async()=>{if(!l){l=!0;try{i&&(d.info(w.yellow("š Stopping existing dev server...")),await i.close(),i=null);const{clearConfigCache:e}=await import("./index-Cx5STeh7.js").then(e=>e.d);e();const{createServer:g}=await import("vite"),m=await s({mode:n.mode||"development",command:"serve"},n.config,t,n.logLevel);let v=await f();const y=p(n.mode||"development",t??process.cwd(),"");if(y&&Object.keys(y).forEach(e=>{e.startsWith("MI_")&&(process.env[e]=y[e])}),m){const{plugins:e,...t}=m.config;v=r(v,t)}if(i=await g(r(v,{root:t,base:n.base,mode:n.mode,configFile:n.config,logLevel:n.logLevel,clearScreen:n.clearScreen,optimizeDeps:{force:n.force},server:B(n),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 x=global.__pp_dev_start_time??!1,T=x?w.dim(`ready in ${w.reset(w.bold(Math.ceil(o.now()-x)))} ms`):"";d.info(`\n ${w.green(`${w.bold("PP-DEV")} v${h}`)} ${T}\n`),i.printUrls(),function(e,t){if(!e.httpServer||!process.stdin.isTTY||process.env.CI)return;e._shortcutsOptions=t;const o=b();t.print&&o.info(w.dim(w.green(" ā"))+w.dim(" press ")+w.bold("h")+w.dim(" to show help"));const n=(t.customShortcuts??[]).filter(_).concat(N);let i=!1;const s=async t=>{if(""===t||""===t)return void await e.close().finally(()=>process.exit(1));if(i)return;"h"===t&&o.info(["",w.bold(" Shortcuts"),...n.map(e=>w.dim(" press ")+w.bold(e.key)+w.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",s).setEncoding("utf8").resume(),e.httpServer.on("close",()=>{process.stdin.off("data",s).pause()})}(i,{print:!0,customShortcuts:[...U?[{key:"p",description:"start/stop the profiler",async action(e){if(U)await V(d.info);else{const e=await import("node:inspector").then(e=>e.default);await new Promise(t=>{U=new e.Session,U.connect(),U.post("Profiler.enable",()=>{U?.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("/")}`}})}}]}),a||(a=G(c,u,d.info),d.info(w.blue("š§ Config file watcher started"))),l=!1}catch(e){l=!1,d.error(w.red(`error when starting dev server:\n${e.stack}`),{error:e}),V(d.info),process.exit(1)}}},g=async e=>{d.info(w.yellow(`\nš Received ${e}, shutting down gracefully...`));try{a&&(O(a),a=null),i&&(await i.close(),i=null),V(d.info),d.info(w.green("ā
Graceful shutdown completed")),process.exit(0)}catch(e){d.error(w.red(`ā Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",()=>g("SIGINT")),process.on("SIGTERM",()=>g("SIGTERM")),process.on("uncaughtException",e=>{d.error(w.red(`ā Uncaught Exception: ${e}`)),g("uncaughtException")}),process.on("unhandledRejection",(e,t)=>{d.error(w.red(`ā Unhandled Rejection at: ${t}, reason: ${e}`)),g("unhandledRejection")}),await u()}),H.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").action(async(e,t)=>{q(t);let o=null,n=null,i=null,s=!1;const r=b(),a=async()=>{if(!s){s=!0;try{const{next:c,constants:d}=await u(),{PHASE_DEVELOPMENT_SERVER:f}=d;n&&(r.info(w.yellow("š Stopping existing Next.js server...")),await new Promise(e=>{n.close(()=>{n=null,e()})})),o&&"function"==typeof o.close&&(await o.close(),o=null);const{clearConfigCache:h}=await import("./index-Cx5STeh7.js").then(e=>e.d);h();const{join:g,basename:m}=await import("path"),{createServer:b}=await import("http"),E=await import("next/dist/server/config.js"),j=E.default.default||E["module.exports"].default||E.default,A=B(t),I=p(t.mode||"development",e??process.cwd(),"");I&&Object.keys(I).forEach(e=>{e.startsWith("MI_")&&(process.env[e]=I[e])});const k=e?g(process.cwd(),e):process.cwd();r.info(k);const D=await j(f,k);let C=D?.ppDev||{};if(0===Object.keys(C).length)try{const{getConfig:e}=await import("./index-Cx5STeh7.js").then(e=>e.d),t=await e();Object.keys(t).length>0?(C=t,r.info(w.blue("š§ Loaded pp-dev config from standalone config file"))):r.info(w.yellow("ā ļø No pp-dev config found in Next.js config or standalone file, using defaults"))}catch(e){r.info(w.yellow("ā ļø Failed to load standalone pp-dev config, using defaults")),console.debug("Error loading standalone config:",e)}else r.info(w.blue("š§ Loaded pp-dev config from Next.js config"));const{backendBaseURL:_=process.env.MI_BACKEND_URL||"http://localhost:8080",appId:N,portalPageId:M,templateLess:R=!0,v7Features:z=!0,disableSSLValidation:H=!1,enableProxyCache:U=!0,proxyCacheTTL:W=6e5,personalAccessToken:V=process.env.MI_ACCESS_TOKEN,miHudLess:q=!1}=C,Z=N??M??(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;let K=null;if(!K)try{const{getPkg:e}=await import("./index-Cx5STeh7.js").then(e=>e.d);K=e().name}catch(e){K=m(k)}const Y="/p",J="/pl",Q=D?.basePath;let X="";if(Q?X=Q:(X=R?Y:z?J:"/pt",X+=`/${K}`),o=c({dev:!0,hostname:A.host||"localhost",port:A.port,dir:k,conf:{...D,basePath:X,assetPrefix:`${R?Y:"/pt"}/${K}`}}),await o.prepare(),X.endsWith("/")||(X+="/"),"/"===X)throw new Error('basePath cannot be equal to "/" or equal to empty string');r.info(w.green("ā
Next.js app prepared successfully")),r.info(w.blue(`š§ pp-dev plugin configured for template: ${K}`)),r.info(w.blue(`š§ Base path configured: ${X}`)),_&&(r.info(w.blue(`š Backend URL: ${_}`)),r.info(w.blue(`š Custom App ID: ${Z}`)));const ee=o.getRequestHandler(),te="number"==typeof A.port?A.port:3e3,oe="string"==typeof A.host?A.host||"0.0.0.0":"localhost",ne=new Set;n=b(async(e,t)=>{try{const o=e.url||"/",n=o.split("?")[0];let i=F(o,!0);if(se.length>0){if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_")){if(re.length>0){let l=0;const c=()=>{if(l>=re.length)return void s();const o=re[l];l++,o(e,t,c)};return void c()}return void s()}let r=0;const a=()=>{if(r>=se.length)return void s();const o=se[r];r++,o(e,t,a)};return void a()}async function s(){if(n.startsWith(X))i=F(o,!0);else{if(n===X.replace(/\/$/,"")){const e=o.replace(n,X);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:X}),void t.end()}await ee(e,t,i)}s()}catch(d){console.error("[DEBUG] Error:",d),t.statusCode=500,t.end("Internal Server Error")}});let ie=null,se=[],re=[];if(_){const e=new URL(_).host,t={headers:{host:e,referer:_,origin:_.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},portalPageId:Z,appId:Z,templateLess:R,disableSSLValidation:H,v7Features:z,personalAccessToken:V??process.env.MI_ACCESS_TOKEN};ie=new v(_,t);const o=y(X,K),n=(e,t,n)=>{o(e,t,n)};if(re.push(n),se.push(n),U){let e=+W;(!e||Number.isNaN(e)||e<0)&&(e=6e5);const t={middlewares:{use:e=>e},config:{logger:console}},o=x({devServer:t,ttl:e}),n=(e,t,n)=>{o(e,t,n)};se.push(n),r.info(w.blue(`š§ Proxy cache middleware added with TTL: ${e}ms`))}const i=X.endsWith("/")?X.substring(0,X.length-1):X,s={middlewares:{use:e=>e},config:{logger:console}},a=T({devServer:s,baseURL:_,proxyIgnore:["/@vite","/@metricinsights","/@",i,"/_next","/favicon.ico","/__nextjs_","/installHook.js.map"],disableSSLValidation:H,miAPI:ie}),c=(e,t,o)=>{a(e,t,o)};se.push(c);const d=new RegExp(`^((${l=X,l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})|/)$`),p=P(d,ie,Object.assign({base:X},t)),f=(e,t,o)=>{p(e,t,o)};se.push(f);const h=$,u=(e,t,o)=>{if(e.url?.startsWith("/@api/")){return void h(e,t,()=>{})}o()};re.push(u),se.push(u);const g=S(e=>{const t=e.split("?")[0];return t.startsWith(X)&&!t.includes("/_next/")},(t,o)=>Buffer.from(L(e,o.headers.host??"",ie.buildPage(t,q)))),m=(e,t,o)=>{g(e,t,o)};se.push(m),r.info(w.blue(`š§ ${se.length} pp-dev middlewares initialized`)),r.info(w.blue(`š§ ${re.length} essential middlewares for internal routes`)),r.info(w.blue(`š§ MiAPI initialized for backend: ${_}`)),r.info(w.blue(`š§ Custom App ID: ${Z}`))}n.listen(te,oe,()=>{r.info(w.green(`ā
pp-dev Next.js server running at http://${oe}:${te}`)),r.info(w.blue(`š± Next.js app accessible at http://${oe}:${te}${X}`)),r.info(w.blue("š§ Base path handling active")),i||(i=G(k,a,r.info),r.info(w.blue("š§ Config file watcher started"))),n.on("connection",e=>{ne.add(e),e.on("close",()=>ne.delete(e))});const e=async e=>{r.info(w.yellow(`\nš Received ${e}, shutting down gracefully...`));const t=setTimeout(()=>{r.info(w.yellow("ā° Shutdown timeout reached, forcing exit")),process.exit(0)},5e3);try{i&&(O(i),i=null);for(const e of Array.from(ne))e.destroy();ne.clear(),await new Promise(e=>{n.close(()=>{r.info(w.yellow("š HTTP server closed")),e()})}),o&&"function"==typeof o.close&&(await o.close(),r.info(w.yellow("š Next.js app closed"))),clearTimeout(t),r.info(w.green("ā
Graceful shutdown completed")),process.exit(0)}catch(e){clearTimeout(t),r.error(w.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,r.info(w.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=>{r.error(w.red(`ā Uncaught Exception: ${t}`)),e("uncaughtException")}),t.on("unhandledRejection",(t,o)=>{r.error(w.red(`ā Unhandled Rejection at: ${o}, reason: ${t}`)),e("unhandledRejection")}),r.info(w.green("ā
Process event handlers registered successfully"))}catch(e){r.warn(w.yellow(`ā ļø Failed to register process event handlers: ${e}`))}else r.warn(w.yellow("ā ļø process.on is not available, graceful shutdown handlers will not be registered")),r.info(w.blue("š” This might be due to bundling or environment constraints"))}),s=!1}catch(e){s=!1,r.error(w.red(`ā Failed to start Next.js server: ${e?.message}. Stack: ${e?.stack}`)),e instanceof Error&&e.message.includes("Next.js is required")&&(r.error(w.red("ā Next.js Peer Dependency Error:")),r.error(w.red(e.message)),r.error(w.yellow("\nš” To fix this issue:")),r.error(w.blue(" 1. Install Next.js in your project:")),r.error(w.white(" npm install next@^16")),r.error(w.blue(" 2. Or use yarn:")),r.error(w.white(" yarn add next@^16")),r.error(w.blue(" 3. Or use pnpm:")),r.error(w.white(" pnpm add next@^16")),r.error(w.yellow("\nš For more information, see:")),r.error(w.blue(" https://nextjs.org/docs/getting-started"))),process.exit(1)}var l}},l=async e=>{r.info(w.yellow(`\nš Received ${e}, shutting down gracefully...`));try{i&&(O(i),i=null),n&&await new Promise(e=>{n.close(()=>{n=null,e()})}),o&&"function"==typeof o.close&&(await o.close(),o=null),r.info(w.green("ā
Graceful shutdown completed")),process.exit(0)}catch(e){r.error(w.red(`ā Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",()=>l("SIGINT")),process.on("SIGTERM",()=>l("SIGTERM")),process.on("uncaughtException",e=>{r.error(w.red(`ā Uncaught Exception: ${e}`)),l("uncaughtException")}),process.on("unhandledRejection",(e,t)=>{r.error(w.red(`ā Unhandled Rejection at: ${t}, reason: ${e}`)),l("unhandledRejection")}),await a()}),H.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)").action(async(o,n)=>{q(n);const i=B(n);try{const l=await s({mode:n.mode||"production",command:"build"},n.config,o,n.logLevel);let c=await f();if(l){const{plugins:e,...t}=l.config;c=r(c,t)}const d=r(c,{root:o,base:n.base,mode:n.mode,configFile:n.config,logLevel:n.logLevel,clearScreen:n.clearScreen,optimizeDeps:{force:n.force},build:i},!0);if(await a(d),i.changelog){const s=o||process.cwd(),r=d.build?.outDir||"dist";let a="";if("string"==typeof i.changelog)a=e.resolve(s,i.changelog);else{const o=e.resolve(s,d.ppDevConfig?.syncBackupsDir||"backups");if(!t.existsSync(o))return void b(n.logLevel).warn(w.yellow("backups directory not found, skipping changelog generation"));const i=t.readdirSync(o,{withFileTypes:!0});if(!i.length)return void b(n.logLevel).warn(w.yellow("no backups found, skipping changelog generation"));const r=i.filter(e=>e.isFile()&&e.name.endsWith(".zip")).reduce((n,i)=>t.statSync(e.resolve(o,n.name)).mtimeMs>t.statSync(e.resolve(o,i.name)).mtimeMs?n:i,i[0]).name;a=e.resolve(o,r)}const l=e.resolve(s,r);let c="dist-zip";d.ppDevConfig&&(!1===d.ppDevConfig.distZip?c=d.build?.outDir||"dist":"object"==typeof d.ppDevConfig.distZip&&"string"==typeof d.ppDevConfig.distZip.outDir&&(c=d.ppDevConfig.distZip.outDir));const p=new R({oldAssetsPath:a,newAssetsPath:l,destinationPath:e.resolve(s,c)});await p.generateChangelog()}}catch(e){b(n.logLevel).error(w.red(`error during build:\n${e.stack}`),{error:e}),process.exit(1)}finally{V(e=>b(n.logLevel).info(e))}}),H.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)=>{q(n);const{oldAssetsPath:i=t,newAssetsPath:s=o,destination:r=".",filename:a="CHANGELOG.html",logLevel:l}=n,c=process.cwd();i&&s||(b(l).error(w.red("error during changelog generation: oldAssetPath and newAssetPath are required")),process.exit(1));const d=e.resolve(c,i),p=e.resolve(c,s),f=e.resolve(c,r),h=new R({oldAssetsPath:d,newAssetsPath:p,destinationPath:f,changelogFilename:a});await h.generateChangelog()}),H.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)=>{q(n);const{source:i=t,destination:s=o,fontName:r="icon-font"}=n,a=process.cwd(),l=e.resolve(a,i),c=e.resolve(a,s),d=new z({sourceDir:l,outputDir:c,fontName:r}),p=b(n.logLevel);p.info(`Generating icon font from SVG files in ${w.dim(l)}`),await d.generate(),p.info(`Icon font generated and saved to ${w.dim(c)}`)}),H.command("optimize [root]","pre-bundle dependencies").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action(async(e,t)=>{q(t);try{const o=await s({mode:t.mode||"production",command:"build"},t.config,e,t.logLevel);let n=await f();if(o){const{plugins:e,...t}=o.config;n=r(n,t)}const i=await l(r(n,{root:e,base:t.base,configFile:t.config,logLevel:t.logLevel,mode:t.mode}),"serve");await c(i,t.force,!0)}catch(e){b(t.logLevel).error(w.red(`error when optimizing deps:\n${e.stack}`),{error:e}),process.exit(1)}}),H.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(e,t)=>{q(t);try{const o=await s({mode:t.mode||"production",command:"build"},t.config,e,t.logLevel);let n=await f();if(o){const{plugins:e,...t}=o.config;n=r(n,t)}(await d(r(n,{root:e,base:t.base,configFile:t.config,logLevel:t.logLevel,mode:t.mode,build:{outDir:t.outDir},preview:{port:t.port,strictPort:t.strictPort,host:t.host,https:t.https,open:t.open}}))).printUrls()}catch(e){b(t.logLevel).error(w.red(`error when starting preview server:\n${e.stack}`),{error:e}),process.exit(1)}finally{V(e=>b(t.logLevel).info(e))}}),H.help(),H.version(h),H.parse();export{V as stopProfiler};
|
|
1
|
+
import*as e from"path";import*as t from"fs";import{performance as o}from"node:perf_hooks";import{watch as n}from"chokidar";import{cac as i}from"cac";import{loadConfigFromFile as s,mergeConfig as r,build as a,resolveConfig as l,optimizeDeps as c,preview as d,loadEnv as p}from"vite";import{g as f,V as h,s as u,P as g,a as m}from"./index-Cx5STeh7.js";import{c as b,a as w,M as v,i as y,b as x,d as P,e as T,f as $,g as k,u as S}from"./plugin-CE47-pTE.js";import{parse as L}from"url";import*as E from"dir-compare";import F from"diff-match-patch";import{isBinaryFile as j}from"isbinaryfile";import*as A from"os";import*as C from"crypto";import D from"extract-zip";import _ from"svgtofont";import"ejs";import"http-proxy-middleware";import"picocolors";import"axios";import"jsdom";import"https";import"memory-cache";import"process";import"child_process";import"console";import"zlib";import"express";function I(e){return null!=e&&!1!==e}const N=[{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 M=/(.+)(-[a-f0-9]{6,20})(\.[a-z0-9]+)$/i;class R{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: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, 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: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, 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:r,diffLineTemplateHandler:a,changelogFilename:l,contextLines:c}=t;if(this.logger=b(),!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(A.tmpdir(),C.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(A.tmpdir(),C.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=l||"CHANGELOG.html",s&&(this.templateIsValid(s)?this.changelogTemplate=s:this.logger.warn(w.yellow("Invalid changelog template, using default"))),"function"==typeof r&&(this.diffFileTemplateHandler=r),"function"==typeof a&&(this.diffLineTemplateHandler=a),c&&(this.contextLines=c)}templateIsValid(e){return e.includes("%FILES%")}isExists(e){return t.existsSync(e)}isZipFile(e){return e.endsWith(".zip")}isFolder(e){return t.lstatSync(e).isDirectory()}isEmptyFolder(e){return 0===t.readdirSync(e,{withFileTypes:!0}).length}mkdirpSync(e){t.existsSync(e)||t.mkdirSync(e,{recursive:!0})}async unzipFile(e,o){return t.rmSync(o,{force:!0,recursive:!0}),D(e,{dir:o})}normalizeAssetFolderPath(o){const n=t.readdirSync(o);return 1===n.length&&t.lstatSync(e.join(o,n[0])).isDirectory()?this.normalizeAssetFolderPath(e.join(o,n[0])):o}pathToPosix(e){return e.replace(/\\/g,"/")}diffTableTemplate(e){return`<table class="diff-table">\n <tbody>\n ${e}\n </tbody>\n </table>`}getDiffTableHTML(e){const t=e.filter((e,t,o)=>0!==e.lineType||(t>=0&&t<this.contextLines||t>o.length-(this.contextLines+1)&&t<=o.length-1||o.slice(t-this.contextLines,t+this.contextLines+1).some(e=>0!==e.lineType))).map((e,t,o)=>{if(t>0){const n=o[t-1];if(e.lineNumber-n.lineNumber>1)return[{lineNumber:-1,lineContent:"",lineType:0},e]}return[e]}).flat().map(e=>this.diffLineHTML(e)).join("");return this.diffTableTemplate(t)}diffLineMessageTemplate(e){return`<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code message">\n <span class="blob-code-inner">${e}</span>\n </td>\n </tr>`}diffLineSkipTemplate(){return'<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code skip">\n <span class="blob-code-inner">Skip</span>\n </td>\n </tr>'}diffLineTemplate(e){const{lineNumber:t,lineContent:o,lineType:n}=e,i=1===n?"addition":-1===n?"deletion":"";return`<tr>\n <td\n class="blob-num ${i}${"addition"===i?" empty":""}"\n ${"addition"!==i?` data-line-number="${t}"`:""}\n ></td>\n <td\n class="blob-num ${i}${"deletion"===i?" empty":""}"\n ${"deletion"!==i?` data-line-number="${t}"`:""}\n ></td>\n <td class="blob-code ${1===n?"code-addition":-1===n?"code-deletion":""}">\n <span class="blob-code-inner" data-code-prefix="${1===n?"+":-1===n?"-":" "}">${s=o??"",s.replace(/[\u00A0-\u9999<>&]/g,e=>"&#"+e.charCodeAt(0)+";")}</span>\n </td>\n </tr>`;var s}diffLineHTML(e){if(this.diffLineTemplateHandler)return this.diffLineTemplateHandler(e);const{lineNumber:t}=e;return-1===t?this.diffLineSkipTemplate():this.diffLineTemplate(e)}diffFileTemplate(e,t){return this.diffFileTemplateHandler?this.diffFileTemplateHandler(e,t):`<div class="diff-file">\n <div class="diff-file-title">${e}</div>\n <div class="diff-file-content">${t}</div>\n </div>`}async generateAssetFoldersDiff(){this.logger.info(w.blue(`Comparing asset folders ${await this.oldAssetsPath} and ${await this.newAssetsPath}`));const e=await E.compare(await this.oldAssetsPath,await this.newAssetsPath,{compareContent:!0,skipSymlinks:!0,compareSize:!0,compareDate:!1,compareNameHandler:(e,t)=>(M.test(e)&&(e=e.replace(M,"$1$3")),M.test(t)&&(t=t.replace(M,"$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 F,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 j(n)||await j(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(w.green("Generating changelog"));const o=await this.generateAssetFoldersDiff(),n=(await Promise.all(o.map(e=>this.generateFilesDiff(e)))).join("");this.logger.info(w.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(w.green(`Changelog file written to ${e.join(this.destinationPath,this.changelogFilename)}`))}}class z{sourceDir;outputDir;fontName;constructor(e){this.sourceDir=e.sourceDir,this.outputDir=e.outputDir,this.fontName=e.fontName}async generate(){await _({src:this.sourceDir,dist:this.outputDir,fontName:this.fontName,css:!0,typescript:!0,startUnicode:59905,svgicons2svgfont:{fontHeight:1024}})}}const H=i("pp-dev");function G(t,o,i){const s=[...g,...m,"package.json","next.config.js","next.config.mjs","next.config.ts","vite.config.js","vite.config.mjs","vite.config.ts",".env",".env.local",".env.development",".env.development.local"].map(o=>e.join(t,o)),r=n(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 a=null;return r.on("change",n=>{i(w.blue(`š§ Config file changed: ${e.relative(t,n)}`)),a&&clearTimeout(a),a=setTimeout(async()=>{try{i(w.yellow("š Restarting dev server due to config change...")),await o()}catch(e){i(w.red(`ā Failed to restart dev server: ${e?.message}. Stack: ${e?.stack}`))}},500)}),r.on("error",e=>{i(w.red(`ā Config watcher error: ${e}`))}),{watcher:r,restartCallback:o,logger:i}}function W(e){e.watcher&&e.watcher.close()}function O(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)}let U=global.__pp_dev_profile_session,V=0;const B=o=>{if(U)return new Promise((n,i)=>{U.post("Profiler.stop",(s,{profile:r})=>{if(s)i(s);else{const i=e.resolve(`./pp-dev-profile-${V++}.cpuprofile`);t.writeFileSync(i,JSON.stringify(r)),o(w.yellow(`CPU profile written to ${w.white(w.dim(i))}`)),U=void 0,n()}})})},q=e=>{for(const[t,o]of Object.entries(e))Array.isArray(o)&&(e[t]=o[o.length-1])};function K(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}H.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"),H.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,n)=>{q(n);let i=null,a=null,l=!1;const c=t?e.resolve(process.cwd(),t):process.cwd(),d=b(n.logLevel),u=async()=>{if(!l){l=!0;try{i&&(d.info(w.yellow("š Stopping existing dev server...")),await i.close(),i=null);const{clearConfigCache:e}=await import("./index-Cx5STeh7.js").then(e=>e.d);e();const{createServer:g}=await import("vite"),m=await s({mode:n.mode||"development",command:"serve"},n.config,t,n.logLevel);let v=await f();const y=p(n.mode||"development",t??process.cwd(),"");if(y&&Object.keys(y).forEach(e=>{e.startsWith("MI_")&&(process.env[e]=y[e])}),m){const{plugins:e,...t}=m.config;v=r(v,t)}if(i=await g(r(v,{root:t,base:n.base,mode:n.mode,configFile:n.config,logLevel:n.logLevel,clearScreen:n.clearScreen,optimizeDeps:{force:n.force},server:K(n),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 x=global.__pp_dev_start_time??!1,P=x?w.dim(`ready in ${w.reset(w.bold(Math.ceil(o.now()-x)))} ms`):"";d.info(`\n ${w.green(`${w.bold("PP-DEV")} v${h}`)} ${P}\n`),i.printUrls(),function(e,t){if(!e.httpServer||!process.stdin.isTTY||process.env.CI)return;e._shortcutsOptions=t;const o=b();t.print&&o.info(w.dim(w.green(" ā"))+w.dim(" press ")+w.bold("h")+w.dim(" to show help"));const n=(t.customShortcuts??[]).filter(I).concat(N);let i=!1;const s=async t=>{if(""===t||""===t)return void await e.close().finally(()=>process.exit(1));if(i)return;"h"===t&&o.info(["",w.bold(" Shortcuts"),...n.map(e=>w.dim(" press ")+w.bold(e.key)+w.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",s).setEncoding("utf8").resume(),e.httpServer.on("close",()=>{process.stdin.off("data",s).pause()})}(i,{print:!0,customShortcuts:[...U?[{key:"p",description:"start/stop the profiler",async action(e){if(U)await B(d.info);else{const e=await import("node:inspector").then(e=>e.default);await new Promise(t=>{U=new e.Session,U.connect(),U.post("Profiler.enable",()=>{U?.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("/")}`}})}}]}),a||(a=G(c,u,d.info),d.info(w.blue("š§ Config file watcher started"))),l=!1}catch(e){l=!1,d.error(w.red(`error when starting dev server:\n${e.stack}`),{error:e}),B(d.info),process.exit(1)}}},g=async e=>{d.info(w.yellow(`\nš Received ${e}, shutting down gracefully...`));try{a&&(W(a),a=null),i&&(await i.close(),i=null),B(d.info),d.info(w.green("ā
Graceful shutdown completed")),process.exit(0)}catch(e){d.error(w.red(`ā Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",()=>g("SIGINT")),process.on("SIGTERM",()=>g("SIGTERM")),process.on("uncaughtException",e=>{d.error(w.red(`ā Uncaught Exception: ${e}`)),g("uncaughtException")}),process.on("unhandledRejection",(e,t)=>{d.error(w.red(`ā Unhandled Rejection at: ${t}, reason: ${e}`)),g("unhandledRejection")}),await u()}),H.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(e,t)=>{q(t);let o=null,n=null,i=null,s=!1;const r=b(),a=async()=>{if(!s){s=!0;try{const{next:c,constants:d}=await u(),{PHASE_DEVELOPMENT_SERVER:f}=d;n&&(r.info(w.yellow("š Stopping existing Next.js server...")),await new Promise(e=>{n.close(()=>{n=null,e()})})),o&&"function"==typeof o.close&&(await o.close(),o=null);const{clearConfigCache:h}=await import("./index-Cx5STeh7.js").then(e=>e.d);h();const{join:g,basename:m}=await import("path"),{createServer:b}=await import("http"),E=await import("next/dist/server/config.js"),F=E.default.default||E["module.exports"].default||E.default,j=K(t),A=p(t.mode||"development",e??process.cwd(),"");A&&Object.keys(A).forEach(e=>{e.startsWith("MI_")&&(process.env[e]=A[e])});const C=e?g(process.cwd(),e):process.cwd();r.info(C);const D=await F(f,C);let _=D?.ppDev||{};if(0===Object.keys(_).length)try{const{getConfig:e}=await import("./index-Cx5STeh7.js").then(e=>e.d),t=await e();Object.keys(t).length>0?(_=t,r.info(w.blue("š§ Loaded pp-dev config from standalone config file"))):r.info(w.yellow("ā ļø No pp-dev config found in Next.js config or standalone file, using defaults"))}catch(e){r.info(w.yellow("ā ļø Failed to load standalone pp-dev config, using defaults")),console.debug("Error loading standalone config:",e)}else r.info(w.blue("š§ Loaded pp-dev config from Next.js config"));const{backendBaseURL:I=process.env.MI_BACKEND_URL||"http://localhost:8080",appId:N,portalPageId:M,templateLess:R=!0,v7Features:z=!0,disableSSLValidation:H=!1,enableProxyCache:U=!0,proxyCacheTTL:V=6e5,personalAccessToken:B=process.env.MI_ACCESS_TOKEN,miHudLess:q=!1}=_,Z=N??M??(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;let X=null;if(!X)try{const{getPkg:e}=await import("./index-Cx5STeh7.js").then(e=>e.d),t=e();X=t.name}catch(e){X=m(C)}const Y="/p",J="/pl",Q=D?.basePath;let ee="";Q?ee=Q:(ee=R?Y:z?J:"/pt",ee+=`/${X}`);const te=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}:{}}(t),oe=async e=>{delete process.env.TURBOPACK,o&&"function"==typeof o.close&&(await o.close(),o=null);const t={dev:!0,customServer:!0,hostname:j.host||"localhost",port:j.port,dir:C,conf:{...D,basePath:ee,assetPrefix:`${R?Y:"/pt"}/${X}`}};e.webpack?t.webpack=!0:e.turbopack&&(t.turbopack=!0),o=c(t),await o.prepare()};if(te.webpack)await oe({webpack:!0});else if(te.turbopack)try{await oe({turbopack:!0})}catch(e){if(!O(e))throw e;r.warn(w.yellow("ā Turbopack is unavailable (native bindings). Falling back to Webpack.")),await oe({webpack:!0})}else try{await oe({})}catch(e){if(!O(e))throw e;r.warn(w.yellow("ā Turbopack cannot run (native Next.js bindings unavailable). Falling back to Webpack.")),await oe({webpack:!0})}if(!o)throw new Error("Next.js app failed to initialize");if(ee.endsWith("/")||(ee+="/"),"/"===ee)throw new Error('basePath cannot be equal to "/" or equal to empty string');r.info(w.green("ā
Next.js app prepared successfully")),r.info(w.blue(`š§ pp-dev plugin configured for template: ${X}`)),r.info(w.blue(`š§ Base path configured: ${ee}`)),I&&(r.info(w.blue(`š Backend URL: ${I}`)),r.info(w.blue(`š Custom App ID: ${Z}`)));const ne=o.getRequestHandler(),ie="number"==typeof j.port?j.port:3e3,se="string"==typeof j.host?j.host||"0.0.0.0":"localhost",re=new Set;n=b(async(e,t)=>{try{const o=e.url||"/",n=o.split("?")[0];let i=L(o,!0);if(le.length>0){if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_")){if(ce.length>0){let l=0;const c=()=>{if(l>=ce.length)return void s();const o=ce[l];l++,o(e,t,c)};return void c()}return void s()}let r=0;const a=()=>{if(r>=le.length)return void s();const o=le[r];r++,o(e,t,a)};return void a()}async function s(){if(n.startsWith(ee))i=L(o,!0);else{if(n===ee.replace(/\/$/,"")){const e=o.replace(n,ee);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:ee}),void t.end()}await ne(e,t,i)}s()}catch(d){console.error("[DEBUG] Error:",d),t.statusCode=500,t.end("Internal Server Error")}});let ae=null,le=[],ce=[];if(I){const e=new URL(I).host,t={headers:{host:e,referer:I,origin:I.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},portalPageId:Z,appId:Z,templateLess:R,disableSSLValidation:H,v7Features:z,personalAccessToken:B??process.env.MI_ACCESS_TOKEN};ae=new v(I,t);const o=y(ee,X??void 0),n=(e,t,n)=>{o(e,t,n)};if(ce.push(n),le.push(n),U){let e=+V;(!e||Number.isNaN(e)||e<0)&&(e=6e5);const t={middlewares:{use:e=>e},config:{logger:console}},o=x({devServer:t,ttl:e}),n=(e,t,n)=>{o(e,t,n)};le.push(n),r.info(w.blue(`š§ Proxy cache middleware added with TTL: ${e}ms`))}const i=ee.endsWith("/")?ee.substring(0,ee.length-1):ee,s={middlewares:{use:e=>e},config:{logger:console}},a=P({devServer:s,baseURL:I,proxyIgnore:["/@vite","/@metricinsights","/@",i,"/_next","/favicon.ico","/__nextjs_","/installHook.js.map"],disableSSLValidation:H,miAPI:ae}),c=(e,t,o)=>{a(e,t,o)};le.push(c);const d=new RegExp(`^((${l=ee,l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})|/)$`),p=T(d,ae,Object.assign({base:ee},t)),f=(e,t,o)=>{p(e,t,o)};le.push(f);const h=$,u=(e,t,o)=>{if(e.url?.startsWith("/@api/")){return void h(e,t,()=>{})}o()};ce.push(u),le.push(u);const g=k(e=>{const t=e.split("?")[0];return t.startsWith(ee)&&!t.includes("/_next/")},(t,o)=>Buffer.from(S(e,o.headers.host??"",ae.buildPage(t,q)))),m=(e,t,o)=>{g(e,t,o)};le.push(m),r.info(w.blue(`š§ ${le.length} pp-dev middlewares initialized`)),r.info(w.blue(`š§ ${ce.length} essential middlewares for internal routes`)),r.info(w.blue(`š§ MiAPI initialized for backend: ${I}`)),r.info(w.blue(`š§ Custom App ID: ${Z}`))}n.listen(ie,se,()=>{r.info(w.green(`ā
pp-dev Next.js server running at http://${se}:${ie}`)),r.info(w.blue(`š± Next.js app accessible at http://${se}:${ie}${ee}`)),r.info(w.blue("š§ Base path handling active")),i||(i=G(C,a,r.info),r.info(w.blue("š§ Config file watcher started"))),n.on("connection",e=>{re.add(e),e.on("close",()=>re.delete(e))});const e=async e=>{r.info(w.yellow(`\nš Received ${e}, shutting down gracefully...`));const t=setTimeout(()=>{r.info(w.yellow("ā° Shutdown timeout reached, forcing exit")),process.exit(0)},5e3);try{i&&(W(i),i=null);for(const e of Array.from(re))e.destroy();re.clear(),await new Promise(e=>{n.close(()=>{r.info(w.yellow("š HTTP server closed")),e()})}),o&&"function"==typeof o.close&&(await o.close(),r.info(w.yellow("š Next.js app closed"))),clearTimeout(t),r.info(w.green("ā
Graceful shutdown completed")),process.exit(0)}catch(e){clearTimeout(t),r.error(w.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,r.info(w.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=>{r.error(w.red(`ā Uncaught Exception: ${t}`)),e("uncaughtException")}),t.on("unhandledRejection",(t,o)=>{r.error(w.red(`ā Unhandled Rejection at: ${o}, reason: ${t}`)),e("unhandledRejection")}),r.info(w.green("ā
Process event handlers registered successfully"))}catch(e){r.warn(w.yellow(`ā ļø Failed to register process event handlers: ${e}`))}else r.warn(w.yellow("ā ļø process.on is not available, graceful shutdown handlers will not be registered")),r.info(w.blue("š” This might be due to bundling or environment constraints"))}),s=!1}catch(e){s=!1,r.error(w.red(`ā Failed to start Next.js server: ${e?.message}. Stack: ${e?.stack}`)),e instanceof Error&&e.message.includes("Next.js is required")&&(r.error(w.red("ā Next.js Peer Dependency Error:")),r.error(w.red(e.message)),r.error(w.yellow("\nš” To fix this issue:")),r.error(w.blue(" 1. Install Next.js in your project:")),r.error(w.white(" npm install next@^16")),r.error(w.blue(" 2. Or use yarn:")),r.error(w.white(" yarn add next@^16")),r.error(w.blue(" 3. Or use pnpm:")),r.error(w.white(" pnpm add next@^16")),r.error(w.yellow("\nš For more information, see:")),r.error(w.blue(" https://nextjs.org/docs/getting-started"))),process.exit(1)}var l}},l=async e=>{r.info(w.yellow(`\nš Received ${e}, shutting down gracefully...`));try{i&&(W(i),i=null),n&&await new Promise(e=>{n.close(()=>{n=null,e()})}),o&&"function"==typeof o.close&&(await o.close(),o=null),r.info(w.green("ā
Graceful shutdown completed")),process.exit(0)}catch(e){r.error(w.red(`ā Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",()=>l("SIGINT")),process.on("SIGTERM",()=>l("SIGTERM")),process.on("uncaughtException",e=>{r.error(w.red(`ā Uncaught Exception: ${e}`)),l("uncaughtException")}),process.on("unhandledRejection",(e,t)=>{r.error(w.red(`ā Unhandled Rejection at: ${t}, reason: ${e}`)),l("unhandledRejection")}),await a()}),H.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)").action(async(o,n)=>{q(n);const i=K(n);try{const l=await s({mode:n.mode||"production",command:"build"},n.config,o,n.logLevel);let c=await f();if(l){const{plugins:e,...t}=l.config;c=r(c,t)}const d=r(c,{root:o,base:n.base,mode:n.mode,configFile:n.config,logLevel:n.logLevel,clearScreen:n.clearScreen,optimizeDeps:{force:n.force},build:i},!0);if(await a(d),i.changelog){const s=o||process.cwd(),r=d.build?.outDir||"dist";let a="";if("string"==typeof i.changelog)a=e.resolve(s,i.changelog);else{const o=e.resolve(s,d.ppDevConfig?.syncBackupsDir||"backups");if(!t.existsSync(o))return void b(n.logLevel).warn(w.yellow("backups directory not found, skipping changelog generation"));const i=t.readdirSync(o,{withFileTypes:!0});if(!i.length)return void b(n.logLevel).warn(w.yellow("no backups found, skipping changelog generation"));const r=i.filter(e=>e.isFile()&&e.name.endsWith(".zip")).reduce((n,i)=>t.statSync(e.resolve(o,n.name)).mtimeMs>t.statSync(e.resolve(o,i.name)).mtimeMs?n:i,i[0]).name;a=e.resolve(o,r)}const l=e.resolve(s,r);let c="dist-zip";d.ppDevConfig&&(!1===d.ppDevConfig.distZip?c=d.build?.outDir||"dist":"object"==typeof d.ppDevConfig.distZip&&"string"==typeof d.ppDevConfig.distZip.outDir&&(c=d.ppDevConfig.distZip.outDir));const p=new R({oldAssetsPath:a,newAssetsPath:l,destinationPath:e.resolve(s,c)});await p.generateChangelog()}}catch(e){b(n.logLevel).error(w.red(`error during build:\n${e.stack}`),{error:e}),process.exit(1)}finally{B(e=>b(n.logLevel).info(e))}}),H.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)=>{q(n);const{oldAssetsPath:i=t,newAssetsPath:s=o,destination:r=".",filename:a="CHANGELOG.html",logLevel:l}=n,c=process.cwd();i&&s||(b(l).error(w.red("error during changelog generation: oldAssetPath and newAssetPath are required")),process.exit(1));const d=e.resolve(c,i),p=e.resolve(c,s),f=e.resolve(c,r),h=new R({oldAssetsPath:d,newAssetsPath:p,destinationPath:f,changelogFilename:a});await h.generateChangelog()}),H.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)=>{q(n);const{source:i=t,destination:s=o,fontName:r="icon-font"}=n,a=process.cwd(),l=e.resolve(a,i),c=e.resolve(a,s),d=new z({sourceDir:l,outputDir:c,fontName:r}),p=b(n.logLevel);p.info(`Generating icon font from SVG files in ${w.dim(l)}`),await d.generate(),p.info(`Icon font generated and saved to ${w.dim(c)}`)}),H.command("optimize [root]","pre-bundle dependencies").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action(async(e,t)=>{q(t);try{const o=await s({mode:t.mode||"production",command:"build"},t.config,e,t.logLevel);let n=await f();if(o){const{plugins:e,...t}=o.config;n=r(n,t)}const i=await l(r(n,{root:e,base:t.base,configFile:t.config,logLevel:t.logLevel,mode:t.mode}),"serve");await c(i,t.force,!0)}catch(e){b(t.logLevel).error(w.red(`error when optimizing deps:\n${e.stack}`),{error:e}),process.exit(1)}}),H.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(e,t)=>{q(t);try{const o=await s({mode:t.mode||"production",command:"build"},t.config,e,t.logLevel);let n=await f();if(o){const{plugins:e,...t}=o.config;n=r(n,t)}(await d(r(n,{root:e,base:t.base,configFile:t.config,logLevel:t.logLevel,mode:t.mode,build:{outDir:t.outDir},preview:{port:t.port,strictPort:t.strictPort,host:t.host,https:t.https,open:t.open}}))).printUrls()}catch(e){b(t.logLevel).error(w.red(`error when starting preview server:\n${e.stack}`),{error:e}),process.exit(1)}finally{B(e=>b(t.logLevel).info(e))}}),H.help(),H.version(h),H.parse();export{B as stopProfiler};
|
|
2
2
|
//# sourceMappingURL=cli.js.map
|