@metricinsights/pp-dev 0.10.0 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -1
- package/README.md +6 -3
- package/dist/cjs/cli.js +1 -1
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/index-DRre2UkM.js +2 -0
- package/dist/cjs/index-DRre2UkM.js.map +1 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/package.json +9 -7
- package/dist/cjs/plugin-Dx9CDaej.js +2 -0
- package/dist/cjs/plugin-Dx9CDaej.js.map +1 -0
- package/dist/cjs/plugin.js +1 -1
- package/dist/client/client.css +1 -480
- package/dist/client/client.css.map +1 -1
- package/dist/esm/cli.js +1 -1
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/index-kmS_-y6Z.js +2 -0
- package/dist/esm/index-kmS_-y6Z.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/package.json +9 -7
- package/dist/esm/plugin-H4ccpQoX.js +2 -0
- package/dist/esm/plugin-H4ccpQoX.js.map +1 -0
- package/dist/esm/plugin.js +1 -1
- package/dist/types/index.d.ts +2 -1
- package/package.json +10 -8
- package/dist/cjs/index-7kvqDDBw.js +0 -2
- package/dist/cjs/index-7kvqDDBw.js.map +0 -1
- package/dist/cjs/plugin-CoHlzIq-.js +0 -2
- package/dist/cjs/plugin-CoHlzIq-.js.map +0 -1
- package/dist/esm/index-C2GV98GH.js +0 -2
- package/dist/esm/index-C2GV98GH.js.map +0 -1
- package/dist/esm/plugin-B909lge8.js +0 -2
- package/dist/esm/plugin-B909lge8.js.map +0 -1
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{cac as n}from"cac";import{loadConfigFromFile as i,loadEnv as s,mergeConfig as r,build as a,resolveConfig as l,optimizeDeps as d,preview as c}from"vite";import{g as p,V as f}from"./index-C2GV98GH.js";import{c as h,a as m,i as g,M as u,b,d as v,e as w,f as y,g as P,r as T,u as x,h as L}from"./plugin-B909lge8.js";import{URL as $,parse as S}from"url";import*as F from"express";import*as k from"winston";import*as A from"dir-compare";import C from"diff-match-patch";import{isBinaryFile as D}from"isbinaryfile";import*as E from"os";import*as j from"crypto";import z from"extract-zip";import H from"svgtofont";import*as _ from"node:process";import"ejs";import"esbuild";import"http-proxy-middleware";import"picocolors";import"axios";import"jsdom";import"https";import"memory-cache";import"process";import"child_process";import"console";import"zlib";function I(e){return null!==e||void 0!==e}const M=[{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 N=/(.+)(-[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:d}=t;if(this.logger=h(),!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(E.tmpdir(),j.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(E.tmpdir(),j.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(m.yellow("Invalid changelog template, using default"))),"function"==typeof r&&(this.diffFileTemplateHandler=r),"function"==typeof a&&(this.diffLineTemplateHandler=a),d&&(this.contextLines=d)}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}),z(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(m.blue(`Comparing asset folders ${await this.oldAssetsPath} and ${await this.newAssetsPath}`));const e=await A.compare(await this.oldAssetsPath,await this.newAssetsPath,{compareContent:!0,skipSymlinks:!0,compareSize:!0,compareDate:!1,compareNameHandler:(e,t)=>(N.test(e)&&(e=e.replace(N,"$1$3")),N.test(t)&&(t=t.replace(N,"$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 C,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 D(n)||await D(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(m.green("Generating changelog"));const o=await this.generateAssetFoldersDiff(),n=(await Promise.all(o.map((e=>this.generateFilesDiff(e))))).join("");this.logger.info(m.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(m.green(`Changelog file written to ${e.join(this.destinationPath,this.changelogFilename)}`))}}class U{sourceDir;outputDir;fontName;constructor(e){this.sourceDir=e.sourceDir,this.outputDir=e.outputDir,this.fontName=e.fontName}async generate(){await H({src:this.sourceDir,dist:this.outputDir,fontName:this.fontName,css:!0,typescript:!0,startUnicode:59905,svgicons2svgfont:{fontHeight:1024}})}}const O=n("pp-dev");let q=global.__pp_dev_profile_session,G=0;const V=o=>{if(q)return new Promise(((n,i)=>{q.post("Profiler.stop",((s,{profile:r})=>{if(s)i(s);else{const i=e.resolve(`./pp-dev-profile-${G++}.cpuprofile`);t.writeFileSync(i,JSON.stringify(r)),o(m.yellow(`CPU profile written to ${m.white(m.dim(i))}`)),q=void 0,n()}}))}))},W=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}O.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"),O.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(e,t)=>{W(t);const{createServer:n}=await import("vite");try{const a=await i({mode:t.mode||"development",command:"serve"},t.config,e,t.logLevel);let l=await p();const d=s(t.mode||"development",e??_.cwd(),"");if(d&&Object.keys(d).forEach((e=>{e.startsWith("MI_")&&(_.env[e]=d[e])})),a){const{plugins:e,...t}=a.config;l=r(l,t)}const c=await n(r(l,{root:e,base:t.base,mode:t.mode,configFile:t.config,logLevel:t.logLevel,clearScreen:t.clearScreen,optimizeDeps:{force:t.force},server:B(t),customLogger:h(t.logLevel)},!0));if(!c.config.base||"/"===c.config.base)throw new Error('base cannot be equal to "/" or empty string');if(!c.httpServer)throw new Error("HTTP server not available");await c.listen();const g=h(t.logLevel),u=global.__pp_dev_start_time??!1,b=u?m.dim(`ready in ${m.reset(m.bold(Math.ceil(o.now()-u)))} ms`):"";g.info(`\n ${m.green(`${m.bold("PP-DEV")} v${f}`)} ${b}\n`),c.printUrls(),function(e,t){if(!e.httpServer||!process.stdin.isTTY||process.env.CI)return;e._shortcutsOptions=t;const o=h();t.print&&o.info(m.dim(m.green(" ➜"))+m.dim(" press ")+m.bold("h")+m.dim(" to show help"));const n=(t.customShortcuts??[]).filter(I).concat(M);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(["",m.bold(" Shortcuts"),...n.map((e=>m.dim(" press ")+m.bold(e.key)+m.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()}))}(c,{print:!0,customShortcuts:[q&&{key:"p",description:"start/stop the profiler",async action(e){if(q)await V(g.info);else{const e=await import("node:inspector").then((e=>e.default));await new Promise((t=>{q=new e.Session,q.connect(),q.post("Profiler.enable",(()=>{q?.post("Profiler.start",(()=>{g.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("/")}`}})}}]})}catch(e){const o=h(t.logLevel);o.error(m.red(`error when starting dev server:\n${e.stack}`),{error:e}),V(o.info),_.exit(1)}})),O.command("next [root]","start dev server").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)=>{W(t);const{default:n}=await import("next"),i=h(),r=function(e="info"){const t=F.default(),o=k.createLogger({level:e,format:k.format.cli({level:!0}),transports:[new k.transports.Console]});t.config={logger:o};const n=t.listen;let i;return t.listen=function(...e){i=n.apply(this,e)},t.printUrls=function(e){if(!i)throw new Error("Server is not listening");const t=e=>m.cyan(e.replace(/:(\d+)\//,((e,t)=>`:${m.bold(t)}/`))),n=i.address();if(n&&"object"==typeof n)if("::"===n.address){const i=new $(e||"",`http://localhost:${n.port}`);o.info(` ${m.green("➜")} ${m.bold("Local")}: ${t(i.toString())}`)}else{const i=new $(e||"",`http://[${n.address}]:${n.port}`);o.info(` ${m.green("➜")} ${m.bold("Local")}: ${t(i.toString())}`)}},t}(t.logLevel),a=B(t),l=s(t.mode||"development",e??_.cwd(),"");l&&Object.keys(l).forEach((e=>{e.startsWith("MI_")&&(_.env[e]=l[e])}));const d=n({dev:!0,hostname:a.host,port:a.port});await d.prepare();const c=await d.getServer();let p=c.nextConfig.basePath;const{assetPrefix:A}=c.nextConfig;if(p.endsWith("/")||(p+="/"),"/"===p)throw new Error('basePath cannot be equal to "/" or empty string');const C=p.substring(0,p.lastIndexOf("/")),D=c.nextConfig.serverRuntimeConfig.templateName,E=c.nextConfig.serverRuntimeConfig.ppDevConfig,{backendBaseURL:j,portalPageId:z,appId:H,templateLess:I=!0,enableProxyCache:M=!0,miHudLess:N=!0,proxyCacheTTL:R=6e5,disableSSLValidation:U=!1,v7Features:O=!1,personalAccessToken:q=_.env.MI_ACCESS_TOKEN}=E,G=H??z;if(r.use(g(p,D)),j){let e;try{e=new URL(j).host}catch(e){i.error(m.red(`Invalid backendBaseURL: ${j}`)),_.exit(1)}const t=new u(j,{headers:{host:e,referer:j,origin:j.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},portalPageId:G,templateLess:I,disableSSLValidation:U,v7Features:O,personalAccessToken:q});if(M){let e=+R;(!e||Number.isNaN(e)||e<0)&&(e=6e5),r.use(b({devServer:r,ttl:e}))}const o=["/@vite","/@metricinsights","/@",C];A&&o.push(A),r.use(v({devServer:r,baseURL:j,proxyIgnore:o,disableSSLValidation:U,miAPI:t}));const n=new RegExp(`^((${p})|/)$`);r.use(w(n,t,E)),r.use(y((e=>n.test(L(e))),((o,n)=>Buffer.from(x(e,n.headers.host??"",t.buildPage(o,N)))))),P.post("/@api/login",(async(e,o,n)=>{const{token:s,tokenType:r}=e.body;if(!s)return void o.status(400).json({error:"Token is required"}).end();const a=e=>(i.error(e),n(e),null);if("personal"===r){if(!await t.get("/data/page/index/auth/info",{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${s}`},!0).then((async e=>{if("number"==typeof e.data?.user?.user_id)return t.personalAccessToken=s,e;o.status(400).json({error:"Token expired or invalid"}).end()})).catch(a))return;T(o,"/",302)}else if("regular"===r){if(!await t.get("/api/user",{"Content-Type":"application/json",Accept:"application/json",Token:s},!0).then((e=>{if(e.data?.users?.length)return t.personalAccessToken=void 0,o.setHeader("set-cookie",e.headers["set-cookie"]??""),e;o.status(400).json({error:"Token expired or invalid"}).end()})).catch(a))return;T(o,"/",302)}})),r.use(P)}const Z=d.getRequestHandler();r.all("*",((e,t)=>{try{if(e.url?.startsWith(A)&&A!==C){const o=e.url.replace(A,C),n=S(o,!0);return n.pathname?Z(e,t,n):(t.statusCode=400,void t.end("Invalid URL"))}const o=S(e.url||"/",!0);if(!o.pathname)return t.statusCode=400,void t.end("Invalid URL");Z(e,t,o)}catch(e){const o=e instanceof Error?e.message:"Unknown error";i.error(m.red(`Error handling request: ${o}`)),t.statusCode=500,t.end("Internal Server Error")}}));try{await new Promise((e=>{a.host?e(r.listen(a.port,a.host,(()=>{}))):e(r.listen(a.port,(()=>{})))}));const e=global.__pp_dev_start_time??!1,t=e?m.dim(`ready in ${m.reset(m.bold(Math.ceil(o.now()-e)))} ms`):"";i.info(`\n ${m.green(`${m.bold("PP-DEV")} v${f}`)} ${t}\n`,{clear:!0}),r.printUrls(p)}catch(e){const o=h(t.logLevel);o.error(m.red(`error when starting dev server:\n${e.stack}`),{error:e}),V(o.info),_.exit(1)}})),O.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)=>{W(n);const s=B(n);try{const l=await i({mode:n.mode||"production",command:"build"},n.config,o,n.logLevel);let d=await p();if(l){const{plugins:e,...t}=l.config;d=r(d,t)}const c=r(d,{root:o,base:n.base,mode:n.mode,configFile:n.config,logLevel:n.logLevel,clearScreen:n.clearScreen,optimizeDeps:{force:n.force},build:s},!0);if(await a(c),s.changelog){const i=o||_.cwd(),r=c.build?.outDir||"dist";let a="";if("string"==typeof s.changelog)a=e.resolve(i,s.changelog);else{const o=e.resolve(i,c.ppDevConfig?.syncBackupsDir||"backups");if(!t.existsSync(o))return void h(n.logLevel).warn(m.yellow("backups directory not found, skipping changelog generation"));const s=t.readdirSync(o,{withFileTypes:!0});if(!s.length)return void h(n.logLevel).warn(m.yellow("no backups found, skipping changelog generation"));const r=s.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),s[0]).name;a=e.resolve(o,r)}const l=e.resolve(i,r);let d="dist-zip";c.ppDevConfig&&(!1===c.ppDevConfig.distZip?d=c.build?.outDir||"dist":"object"==typeof c.ppDevConfig.distZip&&"string"==typeof c.ppDevConfig.distZip.outDir&&(d=c.ppDevConfig.distZip.outDir));const p=new R({oldAssetsPath:a,newAssetsPath:l,destinationPath:e.resolve(i,d)});await p.generateChangelog()}}catch(e){h(n.logLevel).error(m.red(`error during build:\n${e.stack}`),{error:e}),_.exit(1)}finally{V((e=>h(n.logLevel).info(e)))}})),O.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)=>{W(n);const{oldAssetsPath:i=t,newAssetsPath:s=o,destination:r=".",filename:a="CHANGELOG.html",logLevel:l}=n,d=_.cwd();i&&s||(h(l).error(m.red("error during changelog generation: oldAssetPath and newAssetPath are required")),_.exit(1));const c=e.resolve(d,i),p=e.resolve(d,s),f=e.resolve(d,r),g=new R({oldAssetsPath:c,newAssetsPath:p,destinationPath:f,changelogFilename:a});await g.generateChangelog()})),O.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)=>{W(n);const{source:i=t,destination:s=o,fontName:r="icon-font"}=n,a=_.cwd(),l=e.resolve(a,i),d=e.resolve(a,s),c=new U({sourceDir:l,outputDir:d,fontName:r}),p=h(n.logLevel);p.info(`Generating icon font from SVG files in ${m.dim(l)}`),await c.generate(),p.info(`Icon font generated and saved to ${m.dim(d)}`)})),O.command("optimize [root]","pre-bundle dependencies").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action((async(e,t)=>{W(t);try{const o=await i({mode:t.mode||"production",command:"build"},t.config,e,t.logLevel);let n=await p();if(o){const{plugins:e,...t}=o.config;n=r(n,t)}const s=await l(r(n,{root:e,base:t.base,configFile:t.config,logLevel:t.logLevel,mode:t.mode}),"serve");await d(s,t.force,!0)}catch(e){h(t.logLevel).error(m.red(`error when optimizing deps:\n${e.stack}`),{error:e}),_.exit(1)}})),O.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)=>{W(t);try{const o=await i({mode:t.mode||"production",command:"build"},t.config,e,t.logLevel);let n=await p();if(o){const{plugins:e,...t}=o.config;n=r(n,t)}(await c(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){h(t.logLevel).error(m.red(`error when starting preview server:\n${e.stack}`),{error:e}),_.exit(1)}finally{V((e=>h(t.logLevel).info(e)))}})),O.help(),O.version(f),O.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{cac as n}from"cac";import{loadConfigFromFile as i,loadEnv as s,mergeConfig as r,build as a,resolveConfig as l,optimizeDeps as d,preview as c}from"vite";import{g as p,V as f}from"./index-kmS_-y6Z.js";import{c as h,a as m,i as g,M as u,b,d as v,e as w,f as y,g as P,r as T,u as x,h as L}from"./plugin-H4ccpQoX.js";import{URL as $,parse as S}from"url";import*as F from"express";import*as k from"winston";import*as A from"dir-compare";import C from"diff-match-patch";import{isBinaryFile as D}from"isbinaryfile";import*as E from"os";import*as j from"crypto";import z from"extract-zip";import H from"svgtofont";import*as _ from"node:process";import"ejs";import"esbuild";import"http-proxy-middleware";import"picocolors";import"axios";import"jsdom";import"https";import"memory-cache";import"process";import"child_process";import"console";import"zlib";function I(e){return null!==e||void 0!==e}const M=[{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 N=/(.+)(-[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:d}=t;if(this.logger=h(),!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(E.tmpdir(),j.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(E.tmpdir(),j.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(m.yellow("Invalid changelog template, using default"))),"function"==typeof r&&(this.diffFileTemplateHandler=r),"function"==typeof a&&(this.diffLineTemplateHandler=a),d&&(this.contextLines=d)}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}),z(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(m.blue(`Comparing asset folders ${await this.oldAssetsPath} and ${await this.newAssetsPath}`));const e=await A.compare(await this.oldAssetsPath,await this.newAssetsPath,{compareContent:!0,skipSymlinks:!0,compareSize:!0,compareDate:!1,compareNameHandler:(e,t)=>(N.test(e)&&(e=e.replace(N,"$1$3")),N.test(t)&&(t=t.replace(N,"$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 C,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 D(n)||await D(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(m.green("Generating changelog"));const o=await this.generateAssetFoldersDiff(),n=(await Promise.all(o.map((e=>this.generateFilesDiff(e))))).join("");this.logger.info(m.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(m.green(`Changelog file written to ${e.join(this.destinationPath,this.changelogFilename)}`))}}class U{sourceDir;outputDir;fontName;constructor(e){this.sourceDir=e.sourceDir,this.outputDir=e.outputDir,this.fontName=e.fontName}async generate(){await H({src:this.sourceDir,dist:this.outputDir,fontName:this.fontName,css:!0,typescript:!0,startUnicode:59905,svgicons2svgfont:{fontHeight:1024}})}}const O=n("pp-dev");let q=global.__pp_dev_profile_session,G=0;const V=o=>{if(q)return new Promise(((n,i)=>{q.post("Profiler.stop",((s,{profile:r})=>{if(s)i(s);else{const i=e.resolve(`./pp-dev-profile-${G++}.cpuprofile`);t.writeFileSync(i,JSON.stringify(r)),o(m.yellow(`CPU profile written to ${m.white(m.dim(i))}`)),q=void 0,n()}}))}))},W=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}O.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"),O.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(e,t)=>{W(t);const{createServer:n}=await import("vite");try{const a=await i({mode:t.mode||"development",command:"serve"},t.config,e,t.logLevel);let l=await p();const d=s(t.mode||"development",e??_.cwd(),"");if(d&&Object.keys(d).forEach((e=>{e.startsWith("MI_")&&(_.env[e]=d[e])})),a){const{plugins:e,...t}=a.config;l=r(l,t)}const c=await n(r(l,{root:e,base:t.base,mode:t.mode,configFile:t.config,logLevel:t.logLevel,clearScreen:t.clearScreen,optimizeDeps:{force:t.force},server:B(t),customLogger:h(t.logLevel)},!0));if(!c.config.base||"/"===c.config.base)throw new Error('base cannot be equal to "/" or empty string');if(!c.httpServer)throw new Error("HTTP server not available");await c.listen();const g=h(t.logLevel),u=global.__pp_dev_start_time??!1,b=u?m.dim(`ready in ${m.reset(m.bold(Math.ceil(o.now()-u)))} ms`):"";g.info(`\n ${m.green(`${m.bold("PP-DEV")} v${f}`)} ${b}\n`),c.printUrls(),function(e,t){if(!e.httpServer||!process.stdin.isTTY||process.env.CI)return;e._shortcutsOptions=t;const o=h();t.print&&o.info(m.dim(m.green(" ➜"))+m.dim(" press ")+m.bold("h")+m.dim(" to show help"));const n=(t.customShortcuts??[]).filter(I).concat(M);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(["",m.bold(" Shortcuts"),...n.map((e=>m.dim(" press ")+m.bold(e.key)+m.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()}))}(c,{print:!0,customShortcuts:[q&&{key:"p",description:"start/stop the profiler",async action(e){if(q)await V(g.info);else{const e=await import("node:inspector").then((e=>e.default));await new Promise((t=>{q=new e.Session,q.connect(),q.post("Profiler.enable",(()=>{q?.post("Profiler.start",(()=>{g.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("/")}`}})}}]})}catch(e){const o=h(t.logLevel);o.error(m.red(`error when starting dev server:\n${e.stack}`),{error:e}),V(o.info),_.exit(1)}})),O.command("next [root]","start dev server").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)=>{W(t);const{default:n}=await import("next"),i=h(),r=function(e="info"){const t=F.default(),o=k.createLogger({level:e,format:k.format.cli({level:!0}),transports:[new k.transports.Console]});t.config={logger:o};const n=t.listen;let i;return t.listen=function(...e){i=n.apply(this,e)},t.printUrls=function(e){if(!i)throw new Error("Server is not listening");const t=e=>m.cyan(e.replace(/:(\d+)\//,((e,t)=>`:${m.bold(t)}/`))),n=i.address();if(n&&"object"==typeof n)if("::"===n.address){const i=new $(e||"",`http://localhost:${n.port}`);o.info(` ${m.green("➜")} ${m.bold("Local")}: ${t(i.toString())}`)}else{const i=new $(e||"",`http://[${n.address}]:${n.port}`);o.info(` ${m.green("➜")} ${m.bold("Local")}: ${t(i.toString())}`)}},t}(t.logLevel),a=B(t),l=s(t.mode||"development",e??_.cwd(),"");l&&Object.keys(l).forEach((e=>{e.startsWith("MI_")&&(_.env[e]=l[e])}));const d=n({dev:!0,hostname:a.host,port:a.port});await d.prepare();const c=await d.getServer();let p=c.nextConfig.basePath;const{assetPrefix:A}=c.nextConfig;if(p.endsWith("/")||(p+="/"),"/"===p)throw new Error('basePath cannot be equal to "/" or empty string');const C=p.substring(0,p.lastIndexOf("/")),D=c.nextConfig.serverRuntimeConfig.templateName,E=c.nextConfig.serverRuntimeConfig.ppDevConfig,{backendBaseURL:j,portalPageId:z,appId:H,templateLess:I=!0,enableProxyCache:M=!0,miHudLess:N=!0,proxyCacheTTL:R=6e5,disableSSLValidation:U=!1,v7Features:O=!1,personalAccessToken:q=_.env.MI_ACCESS_TOKEN}=E,G=H??z;if(r.use(g(p,D)),j){let e;try{e=new URL(j).host}catch(e){i.error(m.red(`Invalid backendBaseURL: ${j}`)),_.exit(1)}const t=new u(j,{headers:{host:e,referer:j,origin:j.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},portalPageId:G,templateLess:I,disableSSLValidation:U,v7Features:O,personalAccessToken:q});if(M){let e=+R;(!e||Number.isNaN(e)||e<0)&&(e=6e5),r.use(b({devServer:r,ttl:e}))}const o=["/@vite","/@metricinsights","/@",C];A&&o.push(A),r.use(v({devServer:r,baseURL:j,proxyIgnore:o,disableSSLValidation:U,miAPI:t}));const n=new RegExp(`^((${p})|/)$`);r.use(w(n,t,E)),r.use(y((e=>n.test(L(e))),((o,n)=>Buffer.from(x(e,n.headers.host??"",t.buildPage(o,N)))))),P.post("/@api/login",(async(e,o,n)=>{const{token:s,tokenType:r}=e.body;if(!s)return void o.status(400).json({error:"Token is required"}).end();const a=e=>(i.error(e),n(e),null);if("personal"===r){if(!await t.get("/data/page/index/auth/info",{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${s}`},!0).then((async e=>{if("number"==typeof e.data?.user?.user_id)return t.personalAccessToken=s,e;o.status(400).json({error:"Token expired or invalid"}).end()})).catch(a))return;T(o,"/",302)}else if("regular"===r){if(!await t.get("/api/user",{"Content-Type":"application/json",Accept:"application/json",Token:s},!0).then((e=>{if(e.data?.users?.length)return t.personalAccessToken=void 0,o.setHeader("set-cookie",e.headers["set-cookie"]??""),e;o.status(400).json({error:"Token expired or invalid"}).end()})).catch(a))return;T(o,"/",302)}})),r.use(P)}const Z=d.getRequestHandler();r.all("*",((e,t)=>{try{if(e.url?.startsWith(A)&&A!==C){const o=e.url.replace(A,C),n=S(o,!0);return n.pathname?Z(e,t,n):(t.statusCode=400,void t.end("Invalid URL"))}const o=S(e.url||"/",!0);if(!o.pathname)return t.statusCode=400,void t.end("Invalid URL");Z(e,t,o)}catch(e){const o=e instanceof Error?e.message:"Unknown error";i.error(m.red(`Error handling request: ${o}`)),t.statusCode=500,t.end("Internal Server Error")}}));try{await new Promise((e=>{a.host?e(r.listen(a.port,a.host,(()=>{}))):e(r.listen(a.port,(()=>{})))}));const e=global.__pp_dev_start_time??!1,t=e?m.dim(`ready in ${m.reset(m.bold(Math.ceil(o.now()-e)))} ms`):"";i.info(`\n ${m.green(`${m.bold("PP-DEV")} v${f}`)} ${t}\n`,{clear:!0}),r.printUrls(p)}catch(e){const o=h(t.logLevel);o.error(m.red(`error when starting dev server:\n${e.stack}`),{error:e}),V(o.info),_.exit(1)}})),O.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)=>{W(n);const s=B(n);try{const l=await i({mode:n.mode||"production",command:"build"},n.config,o,n.logLevel);let d=await p();if(l){const{plugins:e,...t}=l.config;d=r(d,t)}const c=r(d,{root:o,base:n.base,mode:n.mode,configFile:n.config,logLevel:n.logLevel,clearScreen:n.clearScreen,optimizeDeps:{force:n.force},build:s},!0);if(await a(c),s.changelog){const i=o||_.cwd(),r=c.build?.outDir||"dist";let a="";if("string"==typeof s.changelog)a=e.resolve(i,s.changelog);else{const o=e.resolve(i,c.ppDevConfig?.syncBackupsDir||"backups");if(!t.existsSync(o))return void h(n.logLevel).warn(m.yellow("backups directory not found, skipping changelog generation"));const s=t.readdirSync(o,{withFileTypes:!0});if(!s.length)return void h(n.logLevel).warn(m.yellow("no backups found, skipping changelog generation"));const r=s.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),s[0]).name;a=e.resolve(o,r)}const l=e.resolve(i,r);let d="dist-zip";c.ppDevConfig&&(!1===c.ppDevConfig.distZip?d=c.build?.outDir||"dist":"object"==typeof c.ppDevConfig.distZip&&"string"==typeof c.ppDevConfig.distZip.outDir&&(d=c.ppDevConfig.distZip.outDir));const p=new R({oldAssetsPath:a,newAssetsPath:l,destinationPath:e.resolve(i,d)});await p.generateChangelog()}}catch(e){h(n.logLevel).error(m.red(`error during build:\n${e.stack}`),{error:e}),_.exit(1)}finally{V((e=>h(n.logLevel).info(e)))}})),O.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)=>{W(n);const{oldAssetsPath:i=t,newAssetsPath:s=o,destination:r=".",filename:a="CHANGELOG.html",logLevel:l}=n,d=_.cwd();i&&s||(h(l).error(m.red("error during changelog generation: oldAssetPath and newAssetPath are required")),_.exit(1));const c=e.resolve(d,i),p=e.resolve(d,s),f=e.resolve(d,r),g=new R({oldAssetsPath:c,newAssetsPath:p,destinationPath:f,changelogFilename:a});await g.generateChangelog()})),O.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)=>{W(n);const{source:i=t,destination:s=o,fontName:r="icon-font"}=n,a=_.cwd(),l=e.resolve(a,i),d=e.resolve(a,s),c=new U({sourceDir:l,outputDir:d,fontName:r}),p=h(n.logLevel);p.info(`Generating icon font from SVG files in ${m.dim(l)}`),await c.generate(),p.info(`Icon font generated and saved to ${m.dim(d)}`)})),O.command("optimize [root]","pre-bundle dependencies").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action((async(e,t)=>{W(t);try{const o=await i({mode:t.mode||"production",command:"build"},t.config,e,t.logLevel);let n=await p();if(o){const{plugins:e,...t}=o.config;n=r(n,t)}const s=await l(r(n,{root:e,base:t.base,configFile:t.config,logLevel:t.logLevel,mode:t.mode}),"serve");await d(s,t.force,!0)}catch(e){h(t.logLevel).error(m.red(`error when optimizing deps:\n${e.stack}`),{error:e}),_.exit(1)}})),O.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)=>{W(t);try{const o=await i({mode:t.mode||"production",command:"build"},t.config,e,t.logLevel);let n=await p();if(o){const{plugins:e,...t}=o.config;n=r(n,t)}(await c(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){h(t.logLevel).error(m.red(`error when starting preview server:\n${e.stack}`),{error:e}),_.exit(1)}finally{V((e=>h(t.logLevel).info(e)))}})),O.help(),O.version(f),O.parse();export{V as stopProfiler};
|
|
2
2
|
//# sourceMappingURL=cli.js.map
|
package/dist/esm/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sources":["../../../src/shortcuts.ts","../../../src/lib/changelog-generator.ts","../../../src/lib/icon-font-generator.ts","../../../src/cli.ts","../../../src/lib/helpers/server.ts"],"sourcesContent":[null,null,null,null,null],"names":["isDefined","value","BASE_SHORTCUTS","key","description","async","server","restart","action","config","logger","info","printUrls","openBrowser","clearScreen","close","finally","process","exit","cache","clear","fileNameWithHashRegEx","ChangelogGenerator","oldAssetsPath","newAssetsPath","destinationPath","changelogFilename","changelogTemplate","diffFileTemplateHandler","diffLineTemplateHandler","contextLines","constructor","opts","this","createLogger","Error","isExists","isZipFile","unzipDestinationPath","path","resolve","os","tmpdir","crypto","createHash","update","digest","unzipFile","then","normalizeAssetFolderPath","isEmptyFolder","isFolder","Promise","mkdirpSync","templateIsValid","warn","colors","yellow","template","includes","assetPath","fs","existsSync","endsWith","lstatSync","isDirectory","readdirSync","withFileTypes","length","dir","mkdirSync","recursive","rmSync","force","extractZip","folderContent","join","pathToPosix","replace","diffTableTemplate","diffLinesHTML","getDiffTableHTML","diffLines","filter","index","array","lineType","slice","some","line","map","prevLine","lineNumber","lineContent","flat","diffLineHTML","diffLineMessageTemplate","message","diffLineSkipTemplate","diffLineTemplate","diffLine","numClass","str","i","charCodeAt","diffFileTemplate","filename","htmlDiff","blue","dirDiff","dirCompare","compare","compareContent","skipSymlinks","compareSize","compareDate","compareNameHandler","name1","name2","test","localeCompare","diffSet","d","state","oldFileString","newFileString","dmp","DiffMatchPatch","linesChars","diff_linesToChars_","linesDiff","diff_main","chars1","chars2","diff_charsToLines_","lineArray","linesCount","split","lines","difference","filepath1","relativePath","filepath2","assetFile1Path","path1","assetFile2Path","path2","filepath","filenameTitle","isBinaryFile","generateAssetFilesDiff","readFileSync","green","generateAssetFoldersDiff","all","generateFilesDiff","templateArray","splice","changelogHTML","writeFileSync","IconFontGenerator","sourceDir","outputDir","fontName","options","svgToFont","src","dist","css","typescript","startUnicode","svgicons2svgfont","fontHeight","cli","cac","profileSession","global","__pp_dev_profile_session","profileCount","stopProfiler","log","res","rej","post","err","profile","outPath","JSON","stringify","white","dim","undefined","filterDuplicateOptions","Object","entries","Array","isArray","cleanOptions","ret","c","base","l","logLevel","debug","f","m","mode","option","command","alias","root","createServer","import","configFromFile","loadConfigFromFile","getViteConfig","envVars","loadEnv","cwd","keys","forEach","startsWith","env","plugins","fileConfig","mergeConfig","configFile","optimizeDeps","customLogger","httpServer","listen","ppDevStartTime","__pp_dev_start_time","startupDurationString","reset","bold","Math","ceil","performance","now","VERSION","stdin","isTTY","CI","_shortcutsOptions","print","shortcuts","customShortcuts","concat","actionRunning","onInput","input","shortcut","find","setRawMode","on","setEncoding","resume","off","pause","bindShortcuts","inspector","r","default","Session","connect","ws","send","type","event","data","url","encodeURIComponent","e","error","red","stack","next","express","winston","level","format","transports","Console","originalListen","listener","args","apply","colorUrl","cyan","_","port","address","URL","toString","createDevServer","app","dev","hostname","host","prepare","nextServer","getServer","nextConfig","basePath","assetPrefix","baseWithoutTrailingSlash","substring","lastIndexOf","templateName","serverRuntimeConfig","ppDevConfig","backendBaseURL","portalPageId","ppId","appId","templateLess","enableProxyCache","miHudLess","proxyCacheTTL","disableSSLValidation","v7Features","personalAccessToken","MI_ACCESS_TOKEN","use","initPPRedirect","baseUrlHost","mi","MiAPI","headers","referer","origin","ttl","Number","isNaN","initProxyCache","devServer","proxyIgnore","push","proxyPassMiddleware","baseURL","miAPI","isIndexRegExp","RegExp","initLoadPPData","initRewriteResponse","cutUrlParams","response","req","Buffer","from","urlReplacer","buildPage","internalServer","token","tokenType","body","status","json","end","handleError","reason","get","Accept","Authorization","user","user_id","catch","redirect","Token","users","setHeader","handle","getRequestHandler","newUrl","parsedUrl","parse","pathname","statusCode","errorMessage","buildOptions","buildConfig","build","changelog","executionRoot","outDir","backupsDirPath","syncBackupsDir","backups","latestBackup","isFile","name","reduce","latest","current","statSync","mtimeMs","currentAssetFilePath","changelogDestination","distZip","changelogGenerator","generateChangelog","oldAssetPath","newAssetPath","oldPath","newPath","destination","fullOldPath","fullNewPath","fullDestination","source","destDir","fullSourceDir","fullDestDir","iconFontGenerator","generate","optimizeConfig","resolveConfig","preview","strictPort","https","open","help","version"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sources":["../../../src/shortcuts.ts","../../../src/lib/changelog-generator.ts","../../../src/lib/icon-font-generator.ts","../../../src/cli.ts","../../../src/lib/helpers/server.ts"],"sourcesContent":[null,null,null,null,null],"names":["isDefined","value","BASE_SHORTCUTS","key","description","action","server","restart","config","logger","info","printUrls","openBrowser","clearScreen","close","finally","process","exit","cache","clear","fileNameWithHashRegEx","ChangelogGenerator","oldAssetsPath","newAssetsPath","destinationPath","changelogFilename","changelogTemplate","diffFileTemplateHandler","diffLineTemplateHandler","contextLines","constructor","opts","this","createLogger","Error","isExists","isZipFile","unzipDestinationPath","path","resolve","os","tmpdir","crypto","createHash","update","digest","unzipFile","then","normalizeAssetFolderPath","isEmptyFolder","isFolder","Promise","mkdirpSync","templateIsValid","warn","colors","yellow","template","includes","assetPath","fs","existsSync","endsWith","lstatSync","isDirectory","readdirSync","withFileTypes","length","dir","mkdirSync","recursive","rmSync","force","extractZip","folderContent","join","pathToPosix","replace","diffTableTemplate","diffLinesHTML","getDiffTableHTML","diffLines","filter","index","array","lineType","slice","some","line","map","prevLine","lineNumber","lineContent","flat","diffLineHTML","diffLineMessageTemplate","message","diffLineSkipTemplate","diffLineTemplate","diffLine","numClass","str","i","charCodeAt","diffFileTemplate","filename","htmlDiff","generateAssetFoldersDiff","blue","dirDiff","dirCompare","compare","compareContent","skipSymlinks","compareSize","compareDate","compareNameHandler","name1","name2","test","localeCompare","diffSet","d","state","generateAssetFilesDiff","oldFileString","newFileString","dmp","DiffMatchPatch","linesChars","diff_linesToChars_","linesDiff","diff_main","chars1","chars2","diff_charsToLines_","lineArray","linesCount","split","lines","generateFilesDiff","difference","filepath1","relativePath","filepath2","assetFile1Path","path1","assetFile2Path","path2","filepath","filenameTitle","isBinaryFile","readFileSync","generateChangelog","green","all","templateArray","splice","changelogHTML","writeFileSync","IconFontGenerator","sourceDir","outputDir","fontName","options","generate","svgToFont","src","dist","css","typescript","startUnicode","svgicons2svgfont","fontHeight","cli","cac","profileSession","global","__pp_dev_profile_session","profileCount","stopProfiler","log","res","rej","post","err","profile","outPath","JSON","stringify","white","dim","undefined","filterDuplicateOptions","Object","entries","Array","isArray","cleanOptions","ret","c","base","l","logLevel","debug","f","m","mode","option","command","alias","async","root","createServer","import","configFromFile","loadConfigFromFile","getViteConfig","envVars","loadEnv","cwd","keys","forEach","startsWith","env","plugins","fileConfig","mergeConfig","configFile","optimizeDeps","customLogger","httpServer","listen","ppDevStartTime","__pp_dev_start_time","startupDurationString","reset","bold","Math","ceil","performance","now","VERSION","stdin","isTTY","CI","_shortcutsOptions","print","shortcuts","customShortcuts","concat","actionRunning","onInput","input","shortcut","find","setRawMode","on","setEncoding","resume","off","pause","bindShortcuts","inspector","r","default","Session","connect","ws","send","type","event","data","url","encodeURIComponent","e","error","red","stack","next","express","winston","level","format","transports","Console","originalListen","listener","args","apply","colorUrl","cyan","_","port","address","URL","toString","createDevServer","app","dev","hostname","host","prepare","nextServer","getServer","nextConfig","basePath","assetPrefix","baseWithoutTrailingSlash","substring","lastIndexOf","templateName","serverRuntimeConfig","ppDevConfig","backendBaseURL","portalPageId","ppId","appId","templateLess","enableProxyCache","miHudLess","proxyCacheTTL","disableSSLValidation","v7Features","personalAccessToken","MI_ACCESS_TOKEN","use","initPPRedirect","baseUrlHost","mi","MiAPI","headers","referer","origin","ttl","Number","isNaN","initProxyCache","devServer","proxyIgnore","push","proxyPassMiddleware","baseURL","miAPI","isIndexRegExp","RegExp","initLoadPPData","initRewriteResponse","cutUrlParams","response","req","Buffer","from","urlReplacer","buildPage","internalServer","token","tokenType","body","status","json","end","handleError","reason","get","Accept","Authorization","user","user_id","catch","redirect","Token","users","setHeader","handle","getRequestHandler","newUrl","parsedUrl","parse","pathname","statusCode","errorMessage","buildOptions","buildConfig","build","changelog","executionRoot","outDir","backupsDirPath","syncBackupsDir","backups","latestBackup","isFile","name","reduce","latest","current","statSync","mtimeMs","currentAssetFilePath","changelogDestination","distZip","changelogGenerator","oldAssetPath","newAssetPath","oldPath","newPath","destination","fullOldPath","fullNewPath","fullDestination","source","destDir","fullSourceDir","fullDestDir","iconFontGenerator","optimizeConfig","resolveConfig","preview","strictPort","https","open","help","version"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e,v as t}from"./plugin-H4ccpQoX.js";import{normalizePath as n}from"vite";import*as i from"path";import s,{resolve as o}from"path";import*as a from"fs";import{readFileSync as r,readdirSync as p,writeFileSync as c,unlink as l}from"fs";import{fileURLToPath as f,pathToFileURL as m}from"url";import{compile as g}from"ejs";import{build as d}from"esbuild";const u=o("undefined"!=typeof __filename&&__filename||f(import.meta.url),"../../.."),v=o(u,"dist/client/client.js"),{version:j,name:y}=JSON.parse(r(o(u,"package.json")).toString()),w=j,b=y,h=[".pp-watch.config.js",".pp-watch.config.ts",".pp-watch.config.json"],$=[".pp-dev.config.js",".pp-dev.config.cjs",".pp-dev.config.mjs",".pp-dev.config.ts",".pp-dev.config.cts",".pp-dev.config.mts",".pp-dev.config.json","pp-dev.config.js","pp-dev.config.cjs","pp-dev.config.mjs","pp-dev.config.ts","pp-dev.config.cts","pp-dev.config.mts","pp-dev.config.json"],S=i.dirname("undefined"!=typeof __filename&&__filename||f(new URL(".",import.meta.url))),O=`/${b}/client`,L=`/${O}`;function D(e){const t=a.readFileSync(i.resolve(S,"client","index.html"),{encoding:"utf8",flag:"r"});let s,o="",r=!1;return{name:"pp-dev:client",apply:"serve",config:e=>(e.optimizeDeps?.exclude?.push(`${b}/client`),e),resolveId(e){const t=new RegExp(`^\\/?${b}\\/client\\/(.*)$`);if(t.test(e))return{id:n(i.join(u,"dist/client",e.replace(t,"$1")))}},transformIndexHtml:async(e,n)=>{n.server?.config.base&&o!==n.server?.config.base&&(o=n.server.config.base,r=!0);const a={html:e,tags:[{tag:"link",injectTo:"head",attrs:{rel:"stylesheet",href:i.posix.join(o,b,"client/client.css")}}]},{backendBaseURL:p,templateLess:c,portalPageId:l,canSync:f=!0}=n.server?.config.clientInjectionPlugin||{};return s&&!r||(s=g(t.replace(new RegExp(`${L}`,"g"),i.posix.join(o,O)),{openDelimiter:"{",closeDelimiter:"}",async:!0})),a.tags.push({tag:"div",injectTo:"body-prepend",children:await(s?.({PACKAGE_NAME:b,VERSION:w,backendBaseURL:p,templateLess:c,portalPageId:l,canSync:f}))}),a.tags.push({tag:"script",injectTo:"body-prepend",attrs:{src:i.posix.join(o,b,"client/client.js"),type:"module"}}),r=!1,a},configureServer(e){e.config.server?.fs?.allow?.push(n(i.resolve(e.config.root,i.dirname(v))))}}}const I=(e,t)=>` * ${t}`;function R(e){return`/*!\n${"***** DO NOT EDIT THIS CODE! *****\n***** ------- *****".replace(/^(.*)$/gm,I)}\n */`}async function E(e){const t=process.cwd();let n=!1;if(/\.m[jt]s$/.test(e))n=!0;else if(/\.c[jt]s$/.test(e))n=!1;else try{const e=process.cwd(),t=r(s.resolve(e,"package.json"),{encoding:"utf-8",flag:"r"});n=!!t&&"module"===JSON.parse(t).type}catch(e){}const i=await d({absWorkingDir:t,entryPoints:[e],outfile:"out.js",write:!1,target:["node14.18","node16"],platform:"node",bundle:!0,format:n?"esm":"cjs",mainFields:["main"],sourcemap:"inline",metafile:!0}),{text:o}=i.outputFiles[0],a=`${`pp-config.timestamp-${Date.now()}-${Math.random().toString(16).slice(2)}`}.js`,p=m(s.resolve(t,a)).toString();c(a,o);let f={};try{const e=(await import(p)).default;f=e?.default||e}finally{l(a,(()=>{}))}return f}async function P(e){return(await import(m(e).toString())).default}async function N(e){return JSON.parse(r(e,{encoding:"utf-8"}))}async function k(e,t){for(const n of t)if(e.includes(n)){if(/\.[cm]?ts$/i.test(n))return await E(n);if(/\.[cm]?js$/i.test(n))return await P(s.resolve(".",n));if(n.endsWith(".json"))return await N(s.resolve(".",n))}return null}function x(){const e=process.cwd();try{return JSON.parse(r(s.resolve(e,"package.json"),{encoding:"utf-8",flag:"r"}))}catch{return{}}}async function _(){const e=/\.config\.(([cm]?ts)|([cm]?js)|(json))$/,t=process.cwd(),n=p(t,{withFileTypes:!0}).filter((t=>t.isFile()&&e.test(t.name))).map((e=>e.name));let i={},s=!1;const o=await k(n,$);if(o&&(i=o,s=!0),n.length&&!s){const e=await k(n,h);e&&(i={backendBaseURL:e.baseURL,portalPageId:e.portalPageId},s=!0)}const a=x();return s||"object"!=typeof a["pp-dev"]||(i=a["pp-dev"]),i}async function C(){const n=x().name,i=await _(),s=e(Object.assign(i,{templateName:n})),o=[t(s),D()],{outDir:a,distZip:r,imageOptimizer:p,templateLess:c}=s;if(p){const{ViteImageOptimizer:e}=await import("vite-plugin-image-optimizer");o.push(e("object"==typeof p?p:void 0))}if(r){const{default:e}=await import("vite-plugin-zip-pack");o.push({...e("object"==typeof r?r:{outFileName:`${n}.zip`}),enforce:"post"})}return{base:c?`/p/${n}`:`/pt/${n}`,server:{port:3e3},build:{minify:!1,assetsInlineLimit:4096,rollupOptions:{output:{banner:R}},outDir:a},css:{modules:{localsConvention:"dashes"},scss:{api:"modern"}},ppDevConfig:s,plugins:o}}function T(e,t){return async(n,i={})=>{const{PHASE_DEVELOPMENT_SERVER:s}=await import("next/constants.js"),o=await _(),a=x().name,r="function"==typeof e?await e(n,i):e;if(n===s){const e=Object.assign(o,t),{templateLess:n}=e;return Object.assign({basePath:n?`/p/${a}`:`/pt/${a}`,trailingSlash:!0},r,{serverRuntimeConfig:{templateName:a,ppDevConfig:e},publicRuntimeConfig:{templateName:a,ppDevConfig:{backendBaseURL:e.backendBaseURL,portalPageId:e.portalPageId,templateLess:e.templateLess}}})}return Object.assign({basePath:`/pt/${a}`},r)}}export{w as V,C as g,T as w};
|
|
2
|
+
//# sourceMappingURL=index-kmS_-y6Z.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-kmS_-y6Z.js","sources":["../../../src/constants.ts","../../../src/plugins/client-injection-plugin.ts","../../../src/banner/header.ts","../../../src/config.ts","../../../src/index.ts"],"sourcesContent":[null,null,null,null,null],"names":["PP_DEV_PACKAGE_DIR","resolve","__filename","fileURLToPath","url","PP_DEV_CLIENT_ENTRY","version","name","JSON","parse","readFileSync","toString","VERSION","PACKAGE_NAME","PP_WATCH_CONFIG_NAMES","PP_DEV_CONFIG_NAMES","DIRNAME","path","dirname","URL","PACKAGE_IMPORT","CLIENT_PATH","clientInjectionPlugin","opts","clientPanelTpl","fs","encoding","flag","render","base","baseChanged","apply","config","optimizeDeps","exclude","push","resolveId","source","pkgRegExp","RegExp","test","id","normalizePath","join","replace","transformIndexHtml","async","html","ctx","server","result","tags","tag","injectTo","attrs","rel","href","posix","backendBaseURL","templateLess","portalPageId","canSync","compile","openDelimiter","closeDelimiter","children","src","type","configureServer","allow","root","replacer","substring","$1","header","chunk","loadTsConfig","filePath","cwd","process","isESM","pkg","e","build","absWorkingDir","entryPoints","outfile","write","target","platform","bundle","format","mainFields","sourcemap","metafile","text","code","outputFiles","fileNameTmp","Date","now","Math","random","slice","fileUrl","pathToFileURL","writeFileSync","conf","import","default","unlink","loadJsConfig","loadJSONConfig","loadConfig","dirFiles","configNames","configName","includes","endsWith","getPkg","getConfig","endsWithRegExp","dirContent","readdirSync","withFileTypes","filter","value","isFile","map","configFound","newConfig","length","watchConfig","baseURL","getViteConfig","templateName","ppDevConfig","normalizedPPDevConfig","normalizeVitePPDevConfig","Object","assign","plugins","vitePPDev","outDir","distZip","imageOptimizer","ViteImageOptimizer","undefined","zipPack","outFileName","enforce","port","minify","assetsInlineLimit","rollupOptions","output","banner","css","modules","localsConvention","scss","api","withPPDev","nextjsConfig","phase","nextConfig","PHASE_DEVELOPMENT_SERVER","nextConfiguration","devConfig","basePath","trailingSlash","serverRuntimeConfig","publicRuntimeConfig"],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./plugin-
|
|
1
|
+
import"./plugin-H4ccpQoX.js";export{g as getViteConfig,w as withPPDev}from"./index-kmS_-y6Z.js";import"http-proxy-middleware";import"url";import"vite";import"picocolors";import"axios";import"jsdom";import"https";import"memory-cache";import"path";import"fs";import"crypto";import"process";import"child_process";import"console";import"zlib";import"express";import"ejs";import"esbuild";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/package.json
CHANGED
|
@@ -59,7 +59,6 @@
|
|
|
59
59
|
"diff-match-patch": "^1.0.5",
|
|
60
60
|
"dir-compare": "^5.0.0",
|
|
61
61
|
"ejs": "^3.1.10",
|
|
62
|
-
"esbuild": "^0.24.0",
|
|
63
62
|
"express": "^4.21.1",
|
|
64
63
|
"extract-zip": "^2.0.1",
|
|
65
64
|
"file-type": "^19.6.0",
|
|
@@ -69,13 +68,12 @@
|
|
|
69
68
|
"jsdom": "^25.0.1",
|
|
70
69
|
"memory-cache": "^0.2.0",
|
|
71
70
|
"picocolors": "^1.1.1",
|
|
72
|
-
"sass": "^1.
|
|
71
|
+
"sass": "^1.87.0",
|
|
73
72
|
"sharp": "^0.33.5",
|
|
74
73
|
"source-map-support": "^0.5.21",
|
|
75
74
|
"svgo": "^3.3.2",
|
|
76
75
|
"svgtofont": "^6.0.1",
|
|
77
76
|
"typescript": "^5.6.0",
|
|
78
|
-
"vite": "^5.4.11",
|
|
79
77
|
"vite-plugin-image-optimizer": "^1.1.8",
|
|
80
78
|
"vite-plugin-zip-pack": "^1.2.4",
|
|
81
79
|
"winston": "^3.17.0"
|
|
@@ -93,13 +91,17 @@
|
|
|
93
91
|
"@types/jsdom": "^21.1.7",
|
|
94
92
|
"@types/memory-cache": "^0.2.6",
|
|
95
93
|
"@types/node": "^20.17.6",
|
|
94
|
+
"esbuild": "^0.25.3",
|
|
96
95
|
"prettier": "^3.3.3",
|
|
97
96
|
"rimraf": "^6.0.1",
|
|
98
|
-
"rollup": "^4.
|
|
99
|
-
"rollup-plugin-dts": "^6.
|
|
100
|
-
"rollup-plugin-scss": "^4.0.
|
|
97
|
+
"rollup": "^4.40.0",
|
|
98
|
+
"rollup-plugin-dts": "^6.2.1",
|
|
99
|
+
"rollup-plugin-scss": "^4.0.1",
|
|
101
100
|
"semantic-release": "^24.2.3",
|
|
102
|
-
"
|
|
101
|
+
"semantic-release-github-pullrequest": "^1.3.0",
|
|
102
|
+
"semantic-release-monorepo": "^8.0.2",
|
|
103
|
+
"tslib": "^2.8.1",
|
|
104
|
+
"vite": "^6.3.3"
|
|
103
105
|
},
|
|
104
106
|
"files": [
|
|
105
107
|
"bin",
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createProxyMiddleware as e,responseInterceptor as t}from"http-proxy-middleware";import{fileURLToPath as a,URL as r}from"url";import{createLogger as s}from"vite";import{createColors as i}from"picocolors";import n,{isAxiosError as o}from"axios";import{JSDOM as p}from"jsdom";import{Agent as l}from"https";import*as c from"memory-cache";import*as d from"path";import{promises as h}from"fs";import*as u from"crypto";import*as g from"process";import*as m from"child_process";import*as f from"console";import{deflateSync as w,brotliDecompressSync as y,unzipSync as v,inflateSync as b,brotliCompressSync as k,gzipSync as T}from"zlib";import x from"express";const P=(e,t,a)=>{const r=new RegExp(`(!!)?(https?(:(\\\\)?/(\\\\)?/)${e})`,"gi");return a.replace(r,((e,...a)=>e.startsWith("!!")?a[1]:`http${a[2]}${t}`))},A=(e,t,a)=>{e.setHeader("location",t),e.statusCode=a,e.end()};function $(e){return e.split("?")[0]}const L=new Map,I="default",S=(e="info",t=I)=>{if(L.has(t))return L.get(t);if(t===I){const a=s(e);return L.set(t,a),a}const a=s(e);return L.set(t,a),a},E=i(),F=function(){const e=setInterval((function(){if(document.querySelector("#mi-react-root form")){clearInterval(e);const t=document.querySelector("#mi-react-root form"),a=t?.firstChild,r=a.lastChild.cloneNode(!0);r.innerHTML="";const s=r.cloneNode(!0);s.innerText="OR";const i=r.cloneNode(!0),n=document.createElement("div"),o=`\n<style>\n.helper-login-wrapper {\n font-family: Arial, sans-serif;\n color: #222;\n padding: 8px;\n background-color: #f8f9fa;\n border-radius: 8px;\n border: 1px solid #ddd;\n width: 100%;\n max-width: 400px;\n margin: 0 auto;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.helper-login-wrapper .title {\n font-weight: bold;\n font-size: 18px;\n margin-bottom: 12px;\n text-align: center;\n}\n\n.helper-login-wrapper .control {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.helper-login-wrapper .control input {\n border: 1px solid #ddd;\n /*padding: 12px;*/\n border-radius: 4px;\n width: 100%;\n box-sizing: border-box;\n text-align: center;\n height: 26px;\n}\n\n.helper-login-wrapper .control .caption {\n font-size: 12px;\n color: #666;\n text-align: center;\n}\n\n.helper-login-wrapper .footer {\n margin-top: 16px;\n text-align: center;\n}\n\n.helper-login-wrapper .footer .btn.submit {\n background-color: #007bff;\n color: white;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n width: 100%;\n font-size: 14px;\n transition: background-color 0.3s;\n height: 26px;\n}\n\n.helper-login-wrapper .footer .btn.submit:hover {\n background-color: #0056b3;\n}\n\n.helper-login-wrapper .token-type-switcher {\n display: flex;\n border: 1px solid #ccc;\n border-radius: 4px;\n overflow: hidden;\n margin-bottom: 12px;\n width: 100%;\n}\n\n.helper-login-wrapper .token-type-option {\n padding: 4px 8px;\n cursor: pointer;\n background-color: #f8f9fa;\n color: #666;\n font-size: 12px;\n text-align: center;\n transition: background-color 0.2s, color 0.2s;\n border-right: 1px solid #ccc;\n flex: 1;\n}\n\n.helper-login-wrapper .token-type-option:last-child {\n border-right: none;\n}\n\n.helper-login-wrapper .token-type-option.active {\n background-color: #007bff;\n color: white;\n font-weight: bold;\n}\n\n.helper-login-wrapper .token-type-option:not(.active):hover {\n background-color: #e9ecef;\n}\n</style>\n<div class="helper-login-wrapper">\n <div class="title">PP Dev Helper</div>\n\n <div class="token-type-switcher" id="token-type-switcher">\n <div class="token-type-option active" data-value="personal">\n API Token\n </div>\n <div class="token-type-option" data-value="regular">\n Legacy Token\n </div>\n </div>\n\n <div class="control">\n <input type="password" id="helper-token" placeholder="API Token">\n <span class="caption" id="token-caption">\n You can get the API Token\n <a href="https://${host}/api-token" target="_blank" style="color: #007bff; text-decoration: none;">here</a>\n </span>\n </div>\n\n <div class="footer">\n <button id="helper-token-submit" class="btn submit">\n Token Login\n </button>\n </div>\n</div>`;n.innerHTML=o,i.appendChild(n),a.appendChild(s),a.appendChild(i);const p=document.getElementById("token-type-switcher"),l=p?.querySelectorAll(".token-type-option"),c=document.getElementById("helper-token"),d=document.getElementById("token-caption"),h={personal:{placeholder:"API Token",caption:`You can get the API Token\n <a href="https://${host}/api-token" target="_blank" \n style="color: #007bff; text-decoration: none;">here</a>`},regular:{placeholder:"Legacy Token",caption:`You can get the Legacy Token\n <a href="https://${host}/api/get_token" target="_blank" \n style="color: #007bff; text-decoration: none;">here</a>`}},u=e=>{const t=h[e];t&&(c.placeholder=t.placeholder,d.innerHTML=t.caption)};u("personal"),l?.forEach((e=>{e.addEventListener("click",(e=>{const t=e.currentTarget,a=t.dataset.value;l.forEach((e=>e.classList.remove("active"))),t.classList.add("active"),u(a)}))})),document.getElementById("helper-token-submit")?.addEventListener("click",(e=>{e.preventDefault();const t=document.getElementById("helper-token");if(t){if(!t.value)return void alert(`${c.placeholder} is required`);const e=t.value,a=p?.querySelector(".token-type-option.active"),r=a?.dataset.value||"personal";fetch("/@api/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:e,tokenType:r}),redirect:"follow"}).then((async e=>{const t=e.url&&new URL(e.url,window.location.origin);if(!t||t.pathname.startsWith("/login")||t.pathname.startsWith("/@api/"))try{const t=await e.json();alert(`Login failed: ${t?.error}`)}catch(e){alert("Login failed: Unknown error")}else window.location.href=e.url})).catch((()=>{alert("Login failed")}))}}))}}),100)},j=/^(https?:\/\/)([^/]+)(\/.*)?$/i,B="X-PP-Proxy";function O(a){const{rewritePath:r=/^\/(?!pt).*/i,baseURL:s="",devServer:i,disableSSLValidation:n=!1,miAPI:o}=a;if(!s)throw new Error("Base url is required");const p=s.replace(j,"$2"),l=s.replace(j,"$1$2"),c=import("file-type"),d=S();return e({selfHandleResponse:!0,pathFilter:(e,t)=>!(a.proxyIgnore||[]).some((t=>"string"==typeof t?e.startsWith(t):"function"!=typeof t.test||t.test(e)))&&("string"==typeof r?e.startsWith(r):Array.isArray(r)?r.some((t=>e.startsWith(t))):"function"==typeof r.test&&r.test(e)),target:s,changeOrigin:!0,autoRewrite:!0,cookieDomainRewrite:{[p]:"localhost"},logger:{info:()=>{},log:()=>{},error:()=>{},warn:()=>{}},secure:!n,headers:{host:p,origin:l},on:{proxyReq(e,t,a){const r=t.headers.host,i=e.getHeader("referer");return d.info(`${E.blue("Proxies request:")} ${E.green(t.method)} ${t.url} -> ${E.green(e.method)} ${e.protocol}//${e.host}${e.path}`),r&&i&&"string"==typeof i&&e.setHeader("referer",i.replace(new RegExp(`https?://${r}`),s)),o.personalAccessToken&&e.setHeader("Authorization",`Bearer ${o.personalAccessToken}`),t.socket.on("close",(()=>{setTimeout((()=>{e.destroyed||e.destroy()}),200)})),e},proxyRes:(e,a,r)=>{if(e.headers["content-type"]?.includes("text/event-stream")||e.headers["transfer-encoding"]?.includes("chunked")&&"no"===e.headers["x-accel-buffering"]){d.info(`${E.blue("Start streaming for request:")} ${E.green(a.method)} ${a.url}`);const t=async(e,t,a)=>{a.setHeader(B,1),a.setHeaders(new Map(Object.entries(e.headers))),e.pipe(a)};return t(e,a,r)}const s=t((async(e,t,a,r)=>{r.setHeader(B,1);if(await(await c).fileTypeFromBuffer(e))return e;{let t=e.toString("utf8");try{const e=new URL(a.url??"",`http://${p}`);if(e.searchParams&&e.searchParams.has("proxyRedirect")){t+=`<script>(${function(){const e="pp-dev::redirectCount";let t=+(localStorage.getItem(e)??0);Number.isNaN(t)&&(t=0);let a=window.location.href;const r=function(){const s=new URLSearchParams(window.location.search);s.has("proxyRedirect")?a!==window.location.href?(a=window.location.href,setTimeout(r,t<3?3e3:5e3)):(localStorage.setItem(e,""+ ++t),window.location.href=s.get("proxyRedirect")):localStorage.removeItem(e)};setTimeout(r,3e3)}.toString()})()<\/script>`}e.pathname.startsWith("/login")&&(t+=`<script>const host = "${p}";\n(${F.toString()})()<\/script>`)}catch{}const r=a.headers.host??"";return((e,t,a)=>{const r=new RegExp(`${e.replace(/\\*\//gi,"\\\\/")}`,"gi"),s=new RegExp(`${e}`,"gi"),i=a.replace(r,t);return i===a?i.replace(s,t):i})("/auth/saml/login","/login",P(p,r,t))}}));return s(e,a,r)},error(e,t,a){const r=`Proxy error: "${e.message}" when trying to "${t.method} ${t.url}"\n\n${e.stack}`;d.error(r),a.writable&&a.writeHead(500,{"Content-Type":"text/plain"}),a.end(r)}}})}class H{axios;constructor(e){this.axios=e}async checkAuth(e){return this.axios.get("/data/page/index/auth/info",{headers:Object.assign({},e,{accept:"text/html"}),maxRedirects:0}).then((()=>!0)).catch((()=>!1))}}class N extends H{formdataModulePromise=import("formdata-node");constructor(e){super(e)}getDownloadUrl(e){return`/admin/page/downloadassets/id/${e}`}getDownloadTemplateUrl(e){return`/admin/pagetemplate/downloadassets/id/${e}`}getUploadUrl(e){return`/admin/page/uploadassets/id/${e}`}getUploadTemplateUrl(e){return`/admin/pagetemplate/uploadassets/id/${e}`}async downloadPageAssets(e,t){return this.axios.get(this.getDownloadUrl(e),{withCredentials:!0,headers:Object.assign({},t,{accept:"*/*"}),responseType:"arraybuffer"}).then((e=>e.data))}async uploadPageAssets(e,t,a){const r=new(await this.formdataModulePromise).FormData,{File:s}=await this.formdataModulePromise,i=new s([t],"file.zip",{type:"application/zip"});r.append("file",i);const n=this.getUploadUrl(e);return this.axios.post(n,r,{withCredentials:!0,headers:Object.assign({},a,{accept:"application/json","Content-Type":"multipart/form-data",Referer:this.axios.getUri({url:n})})}).then((e=>e.data))}async downloadTemplateAssets(e,t){return this.axios.get(this.getDownloadTemplateUrl(e),{withCredentials:!0,headers:Object.assign({},t,{accept:"*/*"}),responseType:"arraybuffer"}).then((e=>e.data))}async uploadTemplateAssets(e,t,a){const r=new(await this.formdataModulePromise).FormData,{File:s}=await this.formdataModulePromise,i=new s([t],"file.zip",{type:"application/zip"});r.append("file",i,"file.zip");const n=this.getUploadTemplateUrl(e);return this.axios.post(n,r,{withCredentials:!0,headers:Object.assign({},a,{accept:"application/json","Content-Type":"multipart/form-data",Referer:this.axios.getUri({url:n})})}).then((e=>e.data))}}class C extends N{getDownloadUrl(e){return`/api/page/id/${e}/asset/download`}getDownloadTemplateUrl(e){return`/api/page_template/id/${e}/asset/download`}getUploadUrl(e){return`/api/page/id/${e}/asset/upload`}getUploadTemplateUrl(e){return`/api/page_template/id/${e}/asset/upload`}}class M extends H{async getAll(e){return(await this.axios.get("/api/page",{withCredentials:!0,headers:Object.assign({},e,{Accept:"application/json","Content-Type":"application/json","Cache-Control":"no-cache",Pragma:"no-cache",Expires:"0"})})).data.pages}async get(e,t){return(await this.axios.get(`/api/page/id/${e}`,{withCredentials:!0,headers:Object.assign({},t,{accept:"application/json","content-type":"application/json"})})).data.page}async getPageContent(e,t){return(await this.axios.get(`/p/${e}`,{withCredentials:!0,headers:Object.assign({},t,{accept:"text/html","content-type":"application/json"})})).data}async create(e,t){return(await this.axios.post("/api/page",e,{withCredentials:!0,headers:Object.assign({},t,{accept:"application/json","content-type":"application/json"})})).data.page}}class R extends H{async getAll(e,t){return(await this.axios.get("/api/page_template",{withCredentials:!0,headers:Object.assign({},t,{Accept:"application/json","Content-Type":"application/json","Cache-Control":"no-cache",Pragma:"no-cache",Expires:"0"}),params:{internal_name:e}})).data.page_templates}async get(e,t){return(await this.axios.get(`/api/page_template/id/${e}`,{withCredentials:!0,headers:Object.assign({},t,{accept:"application/json","content-type":"application/json"})})).data.page_template}}const D="[DEV PAGE. DO NOT DELETE]";class V{#e;#t;#a=null;#r;#s;#i;#n;#o;#p;#l;portalPageId;templateLess;assetsApi;pageApi;pageTemplateApi;logger;constructor(e,t){const{headers:a={},portalPageId:r,templateLess:s=!0,disableSSLValidation:i=!1,v7Features:o=!1,personalAccessToken:p}=t||{};this.#e=a,this.#s=[],this.#r="",this.#i=o,this.#n=p,this.#o=!1,this.#p=Promise.resolve(!1),i&&(n.defaults.httpsAgent=new l({rejectUnauthorized:!1})),this.#t=n.create({baseURL:e,headers:a}),this.portalPageId=r,this.templateLess=s,this.assetsApi=new(o?C:N)(this.#t),this.pageApi=new M(this.#t),this.pageTemplateApi=new R(this.#t),this.logger=S()}async isTemplateLoaded(){return this.#p}get isV710OrHigher(){return this.#o}#c(e){const t=Object.assign({},e,{host:void 0,referer:void 0});return Object.keys(t).forEach((e=>void 0===t[e]&&delete t[e])),this.#e=t,!t.authorization&&this.#n&&(t.authorization=`Bearer ${this.#n}`),t}get personalAccessToken(){return this.#n}set personalAccessToken(e){this.#n=e}updateHeaders(e){this.#c(e)}get localTemplateHTML(){return'<!DOCTYPE html>\n <html lang="en">\n <head>\n <meta charset="UTF-8" />\n <title>Local template</title>\n <meta charset="UTF-8" />\n <link rel="icon" type="image/svg+xml" href="/favicon.ico" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n </head>\n <body>\n <div id="mi-react-root"></div>\n <script src="/auth/info.js"><\/script>\n <script src="/js/main.js" defer><\/script>\n <link rel="stylesheet" href="/css/main.css" />\n </body>\n </html>'}async getPageTemplate(e){if(await this.#p||this.#a||(this.#p=new Promise((e=>{this.#l=e}))),this.#a)return Promise.resolve(this.#a);if(void 0===this.templateLess&&(this.templateLess=!1),this.#i){return void 0!==(await this.pageApi.get(this.portalPageId,this.#c(e)).then((e=>(this.logger.info(E.green("Page fetched")),e))).catch((async t=>{throw this.#l(!1),await this.pageApi.checkAuth(this.#c(e))?(this.logger.error(E.red(`Error fetching page data: ${t.message}\n${t.stack}`)),new Error("The current user does not have access to this page. Check your configuration to ensure the portalPageId is correct.")):t}))).template_id&&(this.#o=!0),this.#a=this.localTemplateHTML,this.logger.info(E.green("Local page template fetched")),this.#l(!0),this.#a}let t=(await this.pageApi.getAll(this.#c(e)).then((e=>(this.logger.info(E.green("Page list fetched")),e))).catch((async t=>{throw this.#l(!1),await this.pageApi.checkAuth(this.#c(e))?(this.logger.error(E.red(`Error fetching page list: ${t.message}\n${t.stack}`)),new Error("Current user does not have access to page list")):t}))).find((e=>e.name===D));return t||(this.logger.warn(E.yellow("Creating dev page template...")),t=await this.pageApi.create({enabled:"Y",name:D,internal_name:"dev-page-template",visible_in_homepage:"Y"},this.#c(e)).then((e=>(this.logger.info(E.green("Dev page created")),e))).catch((e=>{throw this.logger.error(E.red(`Error creating dev page: ${e.message}`)),this.#l(!1),new Error(`Error when creating dev page.\n That can be caused by missing permissions or page with name "${D}" already exists`)}))),await this.pageApi.getPageContent(t.internal_name,this.#c(e)).then((e=>(this.#a=e,e))).then((e=>(this.#l(!0),this.logger.info(E.green("Page template fetched")),e))).catch((e=>{throw this.#l(!1),this.logger.error(E.red(`Error fetching page template: ${e.message}`)),new Error("Error fetching page template")}))}async getPageVariables(e,t){return this.#a=await this.getPageTemplate(t),this.portalPageId||(this.portalPageId=e,this.templateLess=!1),await this.pageApi.get(e,this.#c(t)).then((e=>{const{tags:t="[]",name:a,template:r}=e;if(r&&t){const e=JSON.parse(t);return this.#s=e,this.#r=a,e}return this.#s=[],this.#r=a,[]})).catch((t=>{if(this.logger.error(E.red(`Error fetching page variables: ${t.message}`)),404===t.response?.status)throw new Error(`Portal Page with id "${e}" not found on instance ${this.#t.getUri()}`);if(401===t.response?.status)throw new Error(`Current user does not have access to page with id "${e}" on instance ${this.#t.getUri()}`);throw t}))}buildPage(e,t=!1){let a="string"==typeof e?e:e.toString("utf-8");for(const e of this.#s)a=a.replace(new RegExp(`\\[${e.name}\\]`,"g"),e.value);const r=new p(t?a:this.#a),s="%%PLACEHOLDER%%";if(!t){const e=r.window.document.createElement("div");e.innerHTML=s;const t=r.window.document.querySelector(".main-side");if(t){const a=t.querySelectorAll("script");a.length?t.insertBefore(e,a.item(a.length-1)):t.append(e)}else{const t=r.window.document.createElement("div");t.append(e),r.window.document.body.append(t)}const a=r.window.document.querySelector("head"),i=a.querySelector("title");i?i.text=this.#r:a.innerHTML+=`<title>${this.#r}</title>`}return r.serialize().replace(new RegExp(`<div>\\s*${s}\\s*<\\/div>`,"i"),a)}async getAssets(){if(this.portalPageId){if(this.templateLess)return await this.assetsApi.downloadPageAssets(this.portalPageId,this.#e);{const e=await this.pageApi.get(this.portalPageId,this.#e);if(this.#o){const t=await this.pageTemplateApi.get(e.template_id,this.#e);return await this.assetsApi.downloadTemplateAssets(t.id,this.#e)}if(e.template)return await this.assetsApi.downloadTemplateAssets(e.template,this.#e)}}}async updateAssets(e){if(this.portalPageId){if(this.templateLess)return await this.assetsApi.uploadPageAssets(this.portalPageId,e,this.#e);{const t=await this.pageApi.get(this.portalPageId,this.#e);if(this.#o){const a=await this.pageTemplateApi.get(t.template_id,this.#e);return await this.assetsApi.uploadTemplateAssets(a.id,e,this.#e)}if(t.template)return await this.assetsApi.uploadTemplateAssets(t.template,e,this.#e)}}}async get(e,t,a=!1){const r=a?t:Object.assign({},this.#c(this.#e),t);return await this.#t.get(e,{headers:r})}}class U{server;opts;eventMap;logger;constructor(e,t){this.server=e,this.opts=t||{},this.eventMap=new Map,this.eventMap.set("info-data:request",this.onInfoDataRequest.bind(this)),this.eventMap.set("template:sync",this.onTemplateSync.bind(this)),this.logger=S(),this.init()}init(){const{ws:e}=this.server;for(const[t,a]of this.eventMap)e.on(t,a)}onInfoDataRequest(){this.server.ws.send({type:"custom",event:"info-data:response",data:{}})}async onTemplateSync(){if(!this.opts.distService||!this.opts.miAPI)return this.server.ws.send("template:sync:response",{error:"Dist service or MiAPI is not defined"}),void this.logger.error(E.red("Dist service or MiAPI is not defined"));{const{distService:e,miAPI:t}=this.opts;if(this.server.config.clientInjectionPlugin?.v7Features){if(!t?.isV710OrHigher)return void this.server.ws.send("template:sync:response",{error:"This feature is available only for MI v7.1.0 or higher",config:{canSync:!1}});this.server.ws.send("client:config:update",{config:{canSync:!0}})}const a=await(t?.getAssets().catch((e=>{if(o(e)){if(412===e.response?.status)return this.logger.info(E.yellow("Session expired")),this.server.ws.send("template:sync:response",{error:"Session expired",refresh:!0}),e;if(e.cause instanceof Error&&("ECONNRESET"===e.cause.code||"ENOTFOUND"===e.cause.code))return this.logger.info(E.yellow("Server in maintenance mode, VPN connection is needed or no internet connection")),this.server.ws.send("template:sync:response",{error:"Server in maintenance mode, VPN connection is needed or no internet connection"}),e}throw e})));if(a instanceof Error)return;const r=a?await(e?.saveBackupAndBuild(a).catch((e=>{if("Backup file is not a ZIP file"===e.message)return this.logger.error(E.red("Backup file is not a ZIP file")),e}))):await(e?.buildNewAssets());if(!(r&&r instanceof Buffer))return r instanceof Error?(this.server.ws.send("template:sync:response",{error:r.message}),void this.logger.error(E.red(r.message))):(this.server.ws.send("template:sync:response",{error:"Failed to build new assets"}),void this.logger.error(E.red("Failed to build new assets")));{const a=await(t?.updateAssets(r));if("OK"===a?.status){const t=e?.getBackupMeta(),{lastBackupName:a,lastBackupHash:r,lastBackupDate:s}=t||{lastBackupName:"",lastBackupHash:"",lastBackupDate:(new Date).toISOString()};this.server.ws.send("template:sync:response",{syncedAt:new Date(s),currentHash:r,backupFilename:a}),this.logger.info(E.green("Template synced"))}else this.server.ws.send("template:sync:response",{error:"Failed to update assets"}),this.logger.error(E.red("Failed to update assets"))}}}}const z=new c.Cache,_=/\.[a-z0-9]+$/i;function q(e){const{devServer:t,ttl:a=6e5}=e,r=S();return t.cache=z,(e,t,s)=>{const i=e.originalUrl||e.url||"";if(_.test(i.split("?")[0]||"")){const s=z.get(i);if(s){r.info(`${E.blue("Proxies request:")} ${E.green(e.method)} ${i} -> ${E.blue("Cache")} ${i}`);for(const[e,a]of Object.entries(s.headers))t.setHeader(e,a);return t.write(s.content),void t.end()}const n=t.end,o=t.write;let p=Buffer.from("","utf8");t.write=function(e,a,r){return t.hasHeader(B)?(p=Buffer.concat([p,e]),!0):o.call(this,e,a,r)},t.end=function(e,s,o){if(!t.hasHeader(B))return n.call(this,e,s,o);"string"==typeof e&&(p=Buffer.concat([p,Buffer.from(e,s)])),Buffer.isBuffer(e)&&(p=Buffer.concat([p,e])),t.hasHeader(B)&&(r.info(`${E.blue("[Cached]")} ${i}`),z.put(i,{headers:t.getHeaders(),content:p},a)),n.call(this,p,s,o)}}s()}}const Z="pageName",W="date",Y=d.dirname("undefined"!=typeof __filename&&__filename||a(import.meta.url)),J=d.resolve(Y,"..",".."),K=d.resolve(J,"..",".."),G=d.resolve(K,".pp-dev-meta"),X=d.resolve(G,"sync-service.meta.json");class Q{backupFolder;backupNameTemplate;dateFormat;pageName;currentMeta=null;distZipFolder;distZipFilename;logger;constructor(e,t){this.pageName=e;const{backupFolder:a=d.resolve(g.cwd(),"backups"),distZipFolder:r=d.resolve(g.cwd(),"dist-zip"),distZipFilename:s=`${this.pageName}.zip`,backupNameTemplate:i=`{${Z}}-{${W}}.zip`,dateFormat:n=e=>e.toISOString().replace(/:/g,"-").replace(/\..*$/,"")}=t||{};this.backupFolder=a,this.backupNameTemplate=i,this.dateFormat=n,this.distZipFolder=r,this.distZipFilename=s,this.syncMeta(),this.logger=S()}async checkMeta(){try{await h.stat(G)}catch{await h.mkdir(G)}try{await h.stat(this.backupFolder)}catch{await h.mkdir(this.backupFolder)}}async readMetaFile(){return await this.checkMeta(),await h.readFile(X,{encoding:"utf-8"}).catch((()=>"{}"))}async writeMetaFile(e){return await this.checkMeta(),await h.writeFile(X,JSON.stringify(e,null,2),{encoding:"utf-8"})}async syncMeta(){this.currentMeta?await this.writeMetaFile(this.currentMeta):this.currentMeta=JSON.parse(await this.readMetaFile())}async getLatestSavedBackup(){const{lastBackupName:e}=this.currentMeta;if(!e)return null;const t=d.resolve(this.backupFolder,e);try{return await h.stat(t),t}catch{return null}}backupName(e,t=new Date){return this.backupNameTemplate.replace(`{${Z}}`,e).replace(`{${W}}`,this.dateFormat(t))}getBackupMeta(){return this.currentMeta}async saveBackup(e){if("PK"!==e.toString("utf-8").slice(0,4))throw new Error("Backup file is not a ZIP file");const t=u.createHash("md5").update(e).digest("hex");if(await this.getLatestSavedBackup()){const{lastBackupHash:e}=this.currentMeta;if(e===t)return}const a=new Date,r=this.backupName(this.pageName,a);return this.currentMeta.lastBackupName=r,this.currentMeta.lastBackupHash=t,this.currentMeta.lastBackupDate=a.toISOString(),await this.syncMeta(),await h.writeFile(d.resolve(this.backupFolder,r),e).finally((()=>{this.logger.info(`Backup saved to ${r}`)}))}async buildNewAssets(){const e=new Promise(((e,t)=>{let a="";this.logger.info(E.cyan("[DistService] Build started"));const r=m.spawn("node",[d.resolve(J,"./bin/pp-dev.js"),"build"],{cwd:g.cwd(),env:Object.assign({},g.env,{NODE_ENV:"production"}),stdio:"inherit"});r.on("message",(e=>{a+=e})),r.on("close",(r=>{0===r?e(a):t(new Error(`build command exited with code ${r}`))})),r.on("error",(e=>{t(e)}))}));try{await e.finally((()=>{this.logger.info(E.cyan("[DistService] Build finished"))}));const t=d.resolve(g.cwd(),this.distZipFolder,this.distZipFilename);if(!await h.stat(t))throw new Error(`File ${t} not found`);return await h.readFile(t)}catch(e){throw f.log(e),e}}async saveBackupAndBuild(e){return await this.saveBackup(e),await this.buildNewAssets()}}function ee(e,t){return async(a,r,s)=>{if(await e(a.url??"",a,r)){S().info(`Rewrite response for ${a.url}`);const e=r.end,s=[];r.write=function(e){return s.push(e),!0},r.end=function(i,n,o){"string"==typeof i&&s.push(Buffer.from(i));const p=r.getHeader("content-encoding"),l=function(e,t){switch(t){case"gzip":return v(e);case"br":return y(e);case"deflate":return w(e);default:return e}}(Buffer.from(Buffer.concat(s)),p),c="function"!=typeof n&&n?n:"utf-8",d="function"==typeof n?n:o;return e.call(this,function(e,t){switch(t){case"gzip":return T(e);case"br":return k(e);case"deflate":return b(e);default:return e}}(t(l,a,r),p),c,d),this}}s()}}function te(e,t){const a=(e=(e=e.startsWith("/")?e:`/${e}`).endsWith("/")?e:`${e}/`).endsWith("/")?e.slice(0,-1):e,s=S();return(i,n,o)=>{const p=new r(i.url??"","http://localhost"),{pathname:l,search:c}=p,d=["/",a];if(t&&(d.push(`/pt/${t}`),d.push(`/pl/${t}`)),d.includes(l)){const t=`${e}${c}`;return s.info(E.yellow(`Redirecting to: ${t}`)),A(n,t,302)}o()}}function ae(e,t,a){const{templateLess:r=!1,miHudLess:s=!1,portalPageId:i}=a,n=S();return(a,o,p)=>{const l=!(r&&s),c=e.test($(a.url??""));if(l&&c){const e=a.headers??{};n.info(E.green("Start loading page data"));(r||void 0===i?t.getPageTemplate(e):t.getPageVariables(i,e)).then((()=>{p()})).catch((e=>{if(e.response){n.info(E.red("Page data loading failed. Not authorized"));const e=`/home?proxyRedirect=${encodeURIComponent("/")}`;return n.info(E.yellow(`Redirecting to: ${e}`)),A(o,e,302)}n.info(E.red(`Page data loading failed. Error: ${e.message}`)),p(e)}))}else p()}}const re=x();function se(e,t,a){return t(e)?{isValid:!0}:{isValid:!1,error:a}}function ie(e){const t=function(e){return[se(e,(e=>"object"==typeof e&&null!==e),"VitePPDevOptions must be an object"),se(e.templateName,(e=>"string"==typeof e&&e.length>0),"VitePPDevOptions.templateName must be a non-empty string"),se(e.backendBaseURL,(e=>void 0===e||"string"==typeof e&&e.length>0),"VitePPDevOptions.backendBaseURL must be a non-empty string if provided"),se(e.portalPageId,(e=>void 0===e||"number"==typeof e&&e>0),"VitePPDevOptions.portalPageId must be a positive number if provided"),se(e.appId,(e=>void 0===e||"number"==typeof e&&e>0),"VitePPDevOptions.appId must be a positive number if provided"),se(e.proxyCacheTTL,(e=>void 0===e||"number"==typeof e&&e>0),"VitePPDevOptions.proxyCacheTTL must be a positive number if provided")].find((e=>!e.isValid))||{isValid:!0}}(e);if(!t.isValid)throw new Error(t.error);const a=e.appId??e.portalPageId,{enableProxyCache:r=!0,proxyCacheTTL:s=6e5,disableSSLValidation:i=!1,imageOptimizer:n=!0,miHudLess:o=!1,templateLess:p=!1,outDir:l="dist",distZip:c=!0,syncBackupsDir:d="backups",v7Features:h=!1,personalAccessToken:u=process.env.MI_ACCESS_TOKEN}=e||{};let g=c;g=!0===g?{outFileName:`${e.templateName}.zip`,outDir:"dist-zip"}:"object"==typeof c&&{outFileName:"string"==typeof c.outFileName?c.outFileName.replace("[templateName]",e.templateName):`${e.templateName}.zip`,outDir:c.outDir??"dist-zip"};let m=n;return"boolean"==typeof n?!0===m&&(m={}):"object"!=typeof n&&(m=!1),{enableProxyCache:r,proxyCacheTTL:s,disableSSLValidation:i,imageOptimizer:m,templateLess:p,miHudLess:o,outDir:l,distZip:g,syncBackupsDir:d,v7Features:h,personalAccessToken:u,portalPageId:a,...e}}function ne(e){const{templateName:t,templateLess:a,backendBaseURL:r,miHudLess:s,portalPageId:i,enableProxyCache:n,proxyCacheTTL:o,disableSSLValidation:p,distZip:l,syncBackupsDir:c,v7Features:d,personalAccessToken:h}=e||{};let u=!0;return process.cwd(),{name:"vite-pp-dev",apply:"serve",config:e=>{const s=function(e){return[se(e.base,(e=>"string"==typeof e&&e.length>0&&"/"!==e),'Server base path cannot be empty or "/"'),se(e.port,(e=>void 0===e||"number"==typeof e&&e>0&&e<65536),"Server port must be a valid port number (1-65535)")].find((e=>!e.isValid))||{isValid:!0}}({base:e.base||"",...e.server});if(!s.isValid)throw new Error(s.error);return e.clientInjectionPlugin={backendBaseURL:r,portalPageId:i,templateLess:a,v7Features:d},d&&(e.base=`/pl/${t}`),e.root&&e.root,e},transformIndexHtml:async(e,t)=>{const a={html:e,tags:[]};return u&&(u=!1,a.tags.push({tag:"script",injectTo:"body",children:`${Math.random()}`})),a},configureServer:u=>{let g=u.config.base;g.endsWith("/")||(g+="/");const m=g.substring(0,g.lastIndexOf("/"));if(u.middlewares.use(te(g,t)),r){const w=new URL(r).host,y={headers:{host:w,referer:r,origin:r.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},portalPageId:i,appId:i,templateLess:a,disableSSLValidation:p,v7Features:d,personalAccessToken:h??process.env.MI_ACCESS_TOKEN},v=[se((f=y).headers,(e=>"object"==typeof e&&"string"==typeof e.host&&"string"==typeof e.referer&&"string"==typeof e.origin),"MiAPI headers must be properly configured"),se(f.portalPageId,(e=>void 0===e||"number"==typeof e&&e>0),"MiAPI portalPageId must be a positive number if provided"),se(f.appId,(e=>void 0===e||"number"==typeof e&&e>0),"MiAPI appId must be a positive number if provided"),se(f.personalAccessToken,(e=>void 0===e||"string"==typeof e),"MiAPI personalAccessToken must be a string if provided")].find((e=>!e.isValid))||{isValid:!0};if(!v.isValid)throw new Error(v.error);const b=new V(r,y);if(n){let e=+o;(!e||Number.isNaN(e)||e<0)&&(e=6e5);const t={devServer:u,ttl:e},a=function(e){return[se(e.ttl,(e=>"number"==typeof e&&e>0),"Proxy cache TTL must be a positive number")].find((e=>!e.isValid))||{isValid:!0}}(t);if(!a.isValid)throw new Error(a.error);u.middlewares.use(q(t))}u.middlewares.use(O({devServer:u,baseURL:r,proxyIgnore:["/@vite","/@metricinsights","/@",m],disableSSLValidation:p,miAPI:b}));const k=new RegExp(`^((${g})|/)$`);u.middlewares.use(ae(k,b,e)),re.post("/@api/login",(async(e,t,a)=>{const{token:r,tokenType:s}=e.body;if(!r)return void t.status(400).json({error:"Token is required"}).end();const i=e=>(u.config.logger.error(e),a(e),null);if("personal"===s){if(!await b.get("/data/page/index/auth/info",{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${r}`},!0).then((async e=>{if("number"==typeof e.data?.user?.user_id)return b.personalAccessToken=r,e;t.status(400).json({error:"Token expired or invalid"}).end()})).catch(i))return;A(t,"/",302)}else if("regular"===s){if(!await b.get("/api/user",{"Content-Type":"application/json",Accept:"application/json",Token:r},!0).then((e=>{if(e.data?.users?.length)return b.personalAccessToken=void 0,t.setHeader("set-cookie",e.headers["set-cookie"]??""),e;t.status(400).json({error:"Token expired or invalid"}).end()})).catch(i))return;A(t,"/",302)}})),u.middlewares.use(re);const T=!1!==l?new Q(t,Object.assign({backupDir:c},"object"==typeof l?{distZipFolder:l.outDir,distZipFilename:l.outFileName}:void 0)):void 0;return new U(u,{distService:T,miAPI:b}),()=>{u.middlewares.use(ee((e=>(console.log("initRewriteResponse.url",e),e.split("?")[0].endsWith("index.html"))),((e,t)=>Buffer.from(P(w,t.headers.host??"",b.buildPage(e,s))))))}}var f}}}re.use(x.json()),re.use(x.urlencoded({extended:!0}));export{V as M,E as a,q as b,S as c,O as d,ae as e,ee as f,re as g,$ as h,te as i,ie as n,A as r,P as u,ne as v};
|
|
2
|
+
//# sourceMappingURL=plugin-H4ccpQoX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-H4ccpQoX.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/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/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],"names":["urlReplacer","originalHost","destinationHost","content","urlReplaceRegExp","RegExp","replace","substring","args","startsWith","redirect","res","url","statusCode","setHeader","end","cutUrlParams","split","storage","Map","DEFAULT_LOGGER_KEY","createLogger","level","name","has","get","logger","cL","set","colors","createColors","tokenLoginFunction","readyInterval","setInterval","document","querySelector","clearInterval","$loginForm","$contentWrapper","firstChild","$rowTemplate","lastChild","cloneNode","innerHTML","$orRow","innerText","$helperForm","$formContent","createElement","formHtml","host","appendChild","tokenTypeSwitcher","getElementById","tokenTypeOptions","querySelectorAll","tokenInput","tokenCaption","tokenInfo","personal","placeholder","caption","regular","updateTokenUI","type","info","forEach","option","addEventListener","e","target","currentTarget","value","dataset","opt","classList","remove","add","preventDefault","$helperTokenInput","alert","token","activeOption","tokenType","fetch","method","headers","body","JSON","stringify","then","async","URL","window","location","origin","pathname","json","error","href","catch","hostOriginRegExp","PROXY_HEADER","initProxy","opts","rewritePath","baseURL","devServer","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","response","toString","reqUrl","searchParams","storageKey","redirectCount","localStorage","getItem","Number","isNaN","func","params","URLSearchParams","search","setItem","removeItem","reqHost","urlPath","destinationPath","unescapedUrlReplaceRegExp","replacedContent","urlPathReplacer","err","errorMessage","message","stack","writable","writeHead","BaseAPI","axios","constructor","this","checkAuth","assign","accept","maxRedirects","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","TEMPLATE_PAGE_NAME","MiAPI","pageTemplate","pageTitle","pageVars","v7Features","isV710OrHigher","templateLoaded","templateLoadedResolve","templateLess","assetsApi","pageApi","pageTemplateApi","Promise","resolve","defaults","httpsAgent","Agent","rejectUnauthorized","isTemplateLoaded","clearHeaders","obj","undefined","keys","key","authorization","updateHeaders","localTemplateHTML","getPageTemplate","red","template_id","find","p","yellow","enabled","visible_in_homepage","getPageVariables","pageId","tags","template","parsed","parse","reason","status","buildPage","miHudLess","result","v","dom","JSDOM","placeholderText","container","scripts","length","insertBefore","item","head","title","text","serialize","getAssets","pageInfo","templateInfo","updateAssets","assets","cleanup","normalizedHeaders","ClientService","server","eventMap","onInfoDataRequest","bind","onTemplateSync","init","ws","event","handler","send","distService","config","clientInjectionPlugin","canSync","currentAssets","isAxiosError","refresh","cause","code","newAssets","saveBackupAndBuild","buildNewAssets","Buffer","updateResult","backupMeta","getBackupMeta","lastBackupName","backupFilename","lastBackupHash","currentHash","lastBackupDate","backupDate","Date","toISOString","syncedAt","cache","memoryCache","Cache","testCacheUrlRegExp","initProxyCache","ttl","next","originalUrl","cacheItem","header","write","buffer","from","encoding","callback","hasHeader","concat","call","chunk","cb","isBuffer","put","getHeaders","TEMPLATE_PART_PAGE_NAME","TEMPLATE_PART_DATE","DIRNAME","dirname","__filename","fileURLToPath","pluginPath","node_modules_path","metaDirPath","metaFilePath","DistService","backupFolder","backupNameTemplate","dateFormat","pageName","currentMeta","distZipFolder","distZipFilename","syncOptions","process","cwd","date","syncMeta","checkMeta","fs","stat","mkdir","readMetaFile","readFile","writeMetaFile","meta","writeFile","getLatestSavedBackup","backupPath","backupName","saveBackup","backupFile","slice","backupFileHash","crypto","createHash","update","digest","filename","finally","buildCommand","reject","cyan","proc","child_process","spawn","env","NODE_ENV","stdio","msg","console","initRewriteResponse","predicate","rewrite","buffers","push","contentEncoding","unzipSync","brotliDecompressSync","deflateSync","decodeContent","bufferEncoding","endCallback","gzipSync","brotliCompressSync","inflateSync","encodeContent","initPPRedirect","base","templateName","baseWithoutTrailingSlash","endsWith","parsedUrl","findPaths","redirectUrl","initLoadPPData","applyUrlRegExp","mi","isNeedTemplateLoad","isApplyRequest","encodeURIComponent","internalServer","express","validateConfigValue","validator","isValid","normalizeVitePPDevConfig","validationResult","c","backendBaseURL","appId","proxyCacheTTL","validateConfig","enableProxyCache","imageOptimizer","outDir","distZip","syncBackupsDir","MI_ACCESS_TOKEN","distZipConfig","outFileName","imageOptimizerConfig","vitePPDev","options","isFirstRequest","apply","port","validateServerConfig","root","transformIndexHtml","html","ctx","tag","injectTo","children","Math","random","configureServer","lastIndexOf","middlewares","use","baseUrlHost","miConfig","cacheConfig","validateProxyCacheConfig","proxyPassMiddleware","isIndexRegExp","handleError","Authorization","user","user_id","Token","users","backupDir","urlencoded","extended"],"mappings":"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"}
|
package/dist/esm/plugin.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{v as default,n as normalizeVitePPDevConfig}from"./plugin-
|
|
1
|
+
export{v as default,n as normalizeVitePPDevConfig}from"./plugin-H4ccpQoX.js";import"http-proxy-middleware";import"url";import"vite";import"picocolors";import"axios";import"jsdom";import"https";import"memory-cache";import"path";import"fs";import"crypto";import"process";import"child_process";import"console";import"zlib";import"express";
|
|
2
2
|
//# sourceMappingURL=plugin.js.map
|
package/dist/types/index.d.ts
CHANGED
|
@@ -121,4 +121,5 @@ declare function withPPDev(nextjsConfig: NextConfig | ((phase: string, nextConfi
|
|
|
121
121
|
defaultConfig?: any;
|
|
122
122
|
}) => Promise<NextConfig>;
|
|
123
123
|
|
|
124
|
-
export {
|
|
124
|
+
export { getViteConfig, withPPDev };
|
|
125
|
+
export type { PPDevConfig, PPWatchConfig };
|