@metricinsights/pp-dev 0.17.0 → 0.18.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 +81 -61
- package/README.md +91 -66
- package/dist/CHANGELOG.md +81 -61
- package/dist/README.md +91 -66
- package/dist/cjs/cli.js +1 -1
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/helpers.js.map +1 -1
- package/dist/cjs/index-B1GblhLQ.js +2 -0
- package/dist/cjs/index-B1GblhLQ.js.map +1 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/package.json +2 -2
- package/dist/cjs/plugin-DY9gjLm8.js +2 -0
- package/dist/cjs/plugin-DY9gjLm8.js.map +1 -0
- package/dist/cjs/plugin.js +1 -1
- package/dist/cjs/version-plugin-DSLhm6Q1.js +2 -0
- package/dist/cjs/version-plugin-DSLhm6Q1.js.map +1 -0
- package/dist/client/client.css +1 -1
- package/dist/client/client.css.map +1 -1
- package/dist/client/client.js +91 -2
- package/dist/client/client.js.map +1 -1
- package/dist/client/index.html +12 -9
- package/dist/esm/cli.js +1 -1
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/helpers.js.map +1 -1
- package/dist/esm/index-basLGB1P.js +2 -0
- package/dist/esm/index-basLGB1P.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/package.json +2 -2
- package/dist/esm/plugin-B6DaUVqp.js +2 -0
- package/dist/esm/plugin-B6DaUVqp.js.map +1 -0
- package/dist/esm/plugin.js +1 -1
- package/dist/esm/version-plugin-DekxT1OJ.js +2 -0
- package/dist/esm/version-plugin-DekxT1OJ.js.map +1 -0
- package/dist/types/index.d.ts +1 -205
- package/package.json +4 -3
- package/pp-dev.d.ts +1 -0
- package/scripts/patch-npm-bundled-vulnerabilities.mjs +8 -11
- package/dist/cjs/index-Bu8AM2lb.js +0 -2
- package/dist/cjs/index-Bu8AM2lb.js.map +0 -1
- package/dist/cjs/plugin-D-TIdILy.js +0 -2
- package/dist/cjs/plugin-D-TIdILy.js.map +0 -1
- package/dist/cjs/version-plugin-Cj4Pv-pw.js +0 -2
- package/dist/cjs/version-plugin-Cj4Pv-pw.js.map +0 -1
- package/dist/esm/index-Cx5STeh7.js +0 -2
- package/dist/esm/index-Cx5STeh7.js.map +0 -1
- package/dist/esm/plugin-CE47-pTE.js +0 -2
- package/dist/esm/plugin-CE47-pTE.js.map +0 -1
- package/dist/esm/version-plugin-B1n39tE6.js +0 -2
- package/dist/esm/version-plugin-B1n39tE6.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createProxyMiddleware as e,responseInterceptor as t}from"http-proxy-middleware";import{URL as s,fileURLToPath as n}from"url";import{createLogger as a}from"vite";import{createColors as r}from"picocolors";import i,{isAxiosError as o}from"axios";import c from"node:http";import l from"node:https";import{JSDOM as p}from"jsdom";import*as d from"path";import{promises as h}from"fs";import*as u from"crypto";import{randomUUID as g}from"crypto";import*as m from"process";import*as f from"child_process";import*as w from"console";import*as y from"os";import v from"extract-zip";import*as b from"memory-cache";import{inflateSync as k,brotliDecompressSync as x,unzipSync as T,deflateSync as P,brotliCompressSync as $,gzipSync as E}from"zlib";import S from"express";const I=(e,t,s)=>{const n=new RegExp(`(!!)?(https?(:(\\\\)?/(\\\\)?/)${e})`,"gi");return s.replace(n,(e,...s)=>e.startsWith("!!")?s[1]:`http${s[2]}${t}`)},A=(e,t,s)=>{e.setHeader("location",t),e.statusCode=s,e.end()};let F=new Map;const R="default",L=(e="info",t=R)=>{if(F&&"function"==typeof F.has||(F=new Map),F.has(t))return F.get(t);if(t===R){const s=a(e);return F.set(t,s),s}const s=a(e);return F.set(t,s),s},N=r(),O=function(){const e={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>`,endpoint:"/@api/login"},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>`,endpoint:"/@api/login"}};function t(t,s,n){const a=e[t];a&&(s.placeholder=a.placeholder,n.innerHTML=a.caption)}function s(e,t){t.textContent=e,t.classList.add("show")}function n(e){e.classList.remove("show")}function a(e,t,a,r){a.addEventListener("click",async a=>{if(a.preventDefault(),n(r),!t.value.trim())return s(`${t.placeholder} is required`,r),void t.focus();const i=document.getElementById("token-type-switcher"),o=i?.querySelector(".token-type-option.active"),c=o?.dataset.value||"personal";await async function(e,t,n,a){try{n.classList.add("loading");const r=await fetch("/@api/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:e,tokenType:t}),redirect:"follow"}),i=r.url&&new URL(r.url,window.location.origin);if(!i||i.pathname.startsWith("/login")||i.pathname.startsWith("/@api/"))try{const e=await r.json();s(`Login failed: ${e?.error||"Unknown error occurred"}`,a)}catch(e){s("Login failed: Unable to parse response",a)}else window.location.href=r.url}catch(e){s("Login failed: Network error. Please check your connection.",a)}finally{n.classList.remove("loading")}}(t.value.trim(),c,e,r)}),t.addEventListener("keydown",e=>{"Enter"===e.key&&(e.preventDefault(),a.click())}),t.addEventListener("input",()=>{n(r)})}function r(e){const s=e.firstChild;if(!s)return;const n=s.lastChild?.cloneNode(!0);if(!n)return;n.innerHTML="";const r=n.cloneNode(!0);r.innerText="OR",r.setAttribute("role","separator"),r.setAttribute("aria-label","Alternative login method");const i=n.cloneNode(!0),o=document.createElement("div"),c=document.createElement("style");c.textContent="\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 border-radius: 4px;\n width: 100%;\n box-sizing: border-box;\n text-align: center;\n height: 26px;\n padding: 0 8px;\n font-size: 14px;\n}\n\n.helper-login-wrapper .control input:focus {\n outline: none;\n border-color: #007bff;\n box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);\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 font-weight: 500;\n}\n\n.helper-login-wrapper .footer .btn.submit:hover {\n background-color: #0056b3;\n}\n\n.helper-login-wrapper .footer .btn.submit:disabled {\n background-color: #6c757d;\n cursor: not-allowed;\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 user-select: none;\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\n.helper-login-wrapper .error-message {\n color: #dc3545;\n font-size: 12px;\n text-align: center;\n margin-top: 8px;\n display: none;\n}\n\n.helper-login-wrapper .error-message.show {\n display: block;\n}\n\n.helper-login-wrapper .loading {\n opacity: 0.6;\n pointer-events: none;\n}\n",document.head.appendChild(c),o.innerHTML=`\n<div class="helper-login-wrapper" role="form" aria-label="PP Dev Helper Login">\n <div class="title" role="heading" aria-level="2">PP Dev Helper</div>\n\n <div class="token-type-switcher" id="token-type-switcher" role="tablist" aria-label="Token type selection">\n <div class="token-type-option active" data-value="personal" role="tab" aria-selected="true" tabindex="0">\n API Token\n </div>\n <div class="token-type-option" data-value="regular" role="tab" aria-selected="false" tabindex="0">\n Legacy Token\n </div>\n </div>\n\n <div class="control">\n <input \n type="password" \n id="helper-token" \n placeholder="API Token"\n aria-label="Token input"\n aria-describedby="token-caption"\n >\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="error-message" id="error-message" role="alert" aria-live="polite"></div>\n\n <div class="footer">\n <button id="helper-token-submit" class="btn submit" type="button">\n Token Login\n </button>\n </div>\n</div>`,i.appendChild(o),s.appendChild(r),s.appendChild(i);const l=document.getElementById("token-type-switcher"),p=document.getElementById("helper-token"),d=document.getElementById("token-caption"),h=document.getElementById("helper-token-submit"),u=document.getElementById("error-message"),g=o.querySelector(".helper-login-wrapper");l&&p&&d&&h&&u&&g?(!function(e,s,n){const a=e.querySelectorAll(".token-type-option"),r=e=>{const r=e.dataset.value;a.forEach(e=>{e.classList.remove("active"),e.setAttribute("aria-selected","false"),e.setAttribute("tabindex","-1")}),e.classList.add("active"),e.setAttribute("aria-selected","true"),e.setAttribute("tabindex","0"),t(r,s,n)};a.forEach(e=>{e.addEventListener("click",e=>{const t=e.currentTarget;r(t)}),e.addEventListener("keydown",t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),r(e))})})}(l,p,d),a(g,p,h,u),t("personal",p,d)):console.error("Failed to find required form elements")}const i='#mi-react-root form:not([id]):has(input[name="login"]):has(input[name="password"])',o=new MutationObserver(e=>{for(const t of e)if("childList"===t.type){const e=document.querySelector(i);if(e){o.disconnect(),r(e);break}}});o.observe(document.body,{childList:!0,subtree:!0});const c=document.querySelector(i);c&&(o.disconnect(),r(c))},C=/^(https?:\/\/)([^/]+)(\/.*)?$/i,M="X-PP-Proxy";function j(n){const{rewritePath:a=/^\/(?!p[tl]).*/i,baseURL:r="",disableSSLValidation:i=!1,miAPI:o,templateName:c}=n;if(!r)throw new Error("Base url is required");const l=r.replace(C,"$2"),p=r.replace(C,"$1$2"),d=import("file-type"),h=L();return e({selfHandleResponse:!0,pathFilter:(e,t)=>!(n.proxyIgnore||[]).some(t=>"string"==typeof t?e.startsWith(t):"function"!=typeof t.test||t.test(e))&&("string"==typeof a?e.startsWith(a):Array.isArray(a)?a.some(t=>e.startsWith(t)):"function"==typeof a.test&&a.test(e)),target:r,changeOrigin:!0,autoRewrite:!0,cookieDomainRewrite:{[l]:"localhost"},logger:{info:()=>{},log:()=>{},error:()=>{},warn:()=>{}},secure:!i,headers:{host:l,origin:p},on:{proxyReq(e,t,n){const a=t.headers.host,i=e.getHeader("referer");a&&i&&"string"==typeof i&&e.setHeader("referer",i.replace(new RegExp(`https?://${a}`),r)),o.personalAccessToken&&e.setHeader("Authorization",`Bearer ${o.personalAccessToken}`);const l=t.url??"/",p=function(e,t,n,a){if(!t||!n||!a||n===a)return e;try{const t=new s(e,"http://localhost"),r=t.pathname.match(/^\/data\/page\/([^/]+)(\/.*)?$/);if(!r)return e;let i;try{i=decodeURIComponent(r[1])}catch{i=r[1]}if(i!==n)return e;return`/data/page/${a}${r[2]??""}`+t.search+t.hash}catch{return e}}(l,o.v7Features,c,o.internalPageName);return p!==l&&(t.url=p,e.path=p,console.info(`${N.cyan("Rewrites data page to correct internal page name")}: ${N.yellow(l)} ${N.blue("→")} ${N.green(p)}`)),h.info(`${N.blue("Proxies request:")} ${N.green(t.method)} ${t.url} -> ${N.green(e.method)} ${e.protocol}//${e.host}${e.path}`),t.socket.setMaxListeners(0),t.socket.once("close",()=>{setTimeout(()=>{e.destroyed||e.destroy()},200)}),e},proxyRes:(e,s,n)=>{if(e.headers["content-type"]?.includes("text/event-stream")||e.headers["transfer-encoding"]?.includes("chunked")&&"no"===e.headers["x-accel-buffering"]){h.info(`${N.blue("Start streaming for request:")} ${N.green(s.method)} ${s.url}`);const t=async(e,t,s)=>{s.setHeader(M,1),s.setHeaders(new Map(Object.entries(e.headers))),e.pipe(s)};return t(e,s,n)}const a=t(async(e,t,s,n)=>{n.setHeader(M,1);if(await(await d).fileTypeFromBuffer(e))return e;{let t=e.toString("utf8");try{const e=new URL(s.url??"",`http://${l}`);if(e.searchParams&&e.searchParams.has("proxyRedirect")){t+=`<script>(${function(){const e="pp-dev::redirectCount",t="pp-dev::lastRedirect";let s=+(localStorage.getItem(e)??0);localStorage.getItem(t);Number.isNaN(s)&&(s=0);let n=window.location.href;const a=function(){const r=new URLSearchParams(window.location.search);if(!r.has("proxyRedirect"))return console.debug("No proxyRedirect param. Cleaning up."),void localStorage.removeItem(e);n!==window.location.href?(n=window.location.href,setTimeout(a,s<3?3e3:5e3)):window.location.href=r.get("proxyRedirect"),localStorage.setItem(e,""+ ++s),localStorage.setItem(t,(new Date).toISOString())};setTimeout(a,3e3)}.toString()})()<\/script>`}e.pathname.startsWith("/login")&&(n.setHeader("Cache-Control","no-cache, no-store, must-revalidate"),n.setHeader("Pragma","no-cache"),n.setHeader("Expires","0"));const a=t.slice(0,100);(a.includes("<html")||a.includes("<body")||a.includes("<head")||a.includes("html>"))&&(t+=`<script>const host = "${l}";\n(${O.toString()})()<\/script>`)}catch{}const a=s.headers.host??"";return((e,t,s)=>{const n=new RegExp(`${e.replace(/\\*\//gi,"\\\\/")}`,"gi"),a=new RegExp(`${e}`,"gi"),r=s.replace(n,t);return r===s?r.replace(a,t):r})("/auth/saml/login","/login",I(l,a,t))}});return a(e,s,n)},error(e,t,s){const n=`Proxy error: "${e.message}" when trying to "${t.method} ${t.url}"\n\n${e.stack}`;h.error(n),s.writable&&s.writeHead(500,{"Content-Type":"text/plain"}),s.end(n)}}})}class D{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 H extends D{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,s){const n=new(await this.formdataModulePromise).FormData,{File:a}=await this.formdataModulePromise,r=new a([t],"file.zip",{type:"application/zip"});n.append("file",r);const i=this.getUploadUrl(e);return this.axios.post(i,n,{withCredentials:!0,headers:Object.assign({},s,{accept:"application/json","Content-Type":"multipart/form-data",Referer:this.axios.getUri({url:i})})}).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,s){const n=new(await this.formdataModulePromise).FormData,{File:a}=await this.formdataModulePromise,r=new a([t],"file.zip",{type:"application/zip"});n.append("file",r,"file.zip");const i=this.getUploadTemplateUrl(e);return this.axios.post(i,n,{withCredentials:!0,headers:Object.assign({},s,{accept:"application/json","Content-Type":"multipart/form-data",Referer:this.axios.getUri({url:i})})}).then(e=>e.data)}}class B extends H{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`}}const V="Something went wrong when fetching page data",U="Something went wrong when fetching page template data",_=" The instance may be down or in maintenance mode. Please try again later.";function z(){return new Error(`${U}.${_}`)}function q(e){return e instanceof Error&&(e.message.includes(V)||e.message.includes(U))}class Z extends D{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){const s=(await this.axios.get(`/api/page/id/${e}`,{withCredentials:!0,headers:Object.assign({},t,{accept:"application/json","content-type":"application/json"})})).data;if("object"!=typeof s||null===s)throw new Error(`${V}.${_}`);return s.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 W extends D{async getAll(e,t){const s=(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;if("object"!=typeof s||null===s||!Array.isArray(s.page_templates))throw z();return s.page_templates}async get(e,t){const s=(await this.axios.get(`/api/page_template/id/${e}`,{withCredentials:!0,headers:Object.assign({},t,{accept:"application/json","content-type":"application/json"})})).data;if("object"!=typeof s||null===s||"object"!=typeof s.page_template||null===s.page_template)throw z();return s.page_template}}function Y(e){const t=e.response?.status||0,s=e.response?.data?.message||e.message||"Unknown error";switch(t){case 412:const e=s.toLowerCase();return e.includes("session expired")||e.includes("session has expired")?{status:t,message:s,code:"SESSION_EXPIRED",userFriendlyMessage:"Your session has expired",suggestions:["Refresh your token in the portal","Re-authenticate with the portal","Check if your token has been revoked","Ensure your token has the correct permissions"]}:{status:t,message:s,code:"AUTH_FAILED",userFriendlyMessage:"Authentication failed",suggestions:["Verify your token is correct","Check token permissions","Ensure the token hasn't expired","Try generating a new token"]};case 401:return{status:t,message:s,code:"UNAUTHORIZED",userFriendlyMessage:"Unauthorized access",suggestions:["Check if your token is valid","Verify you have the required permissions","Ensure the token hasn't been revoked","Try logging in again"]};case 403:return{status:t,message:s,code:"FORBIDDEN",userFriendlyMessage:"Access forbidden",suggestions:["Check your user permissions","Verify the portal page ID is correct","Ensure your token has the right scope","Contact your administrator"]};default:return{status:t,message:s,code:"UNKNOWN_ERROR",userFriendlyMessage:"An unexpected error occurred",suggestions:["Check your network connection","Verify the portal URL is correct","Try again in a few moments","Check the portal status"]}}}const X="[DEV PAGE. DO NOT DELETE]",K=new Map;class J{#e;#t;#s=null;#n;#a;#r;#i;#o;#c;#l;internalPageName;portalPageId;templateLess;assetsApi;pageApi;pageTemplateApi;logger;constructor(e,t){const{headers:s={},portalPageId:n,templateLess:a=!0,disableSSLValidation:r=!1,v7Features:o=!1,personalAccessToken:p}=t||{};this.#e=s,this.#a=[],this.#n="",this.#r=o,this.#i=p,this.#o=!1,this.#c=Promise.resolve(!1);const d=`${e}:${r}`;if(K.has(d))this.#t=K.get(d);else{r&&(process.env.NODE_TLS_REJECT_UNAUTHORIZED="0");const t=new l.Agent({keepAlive:!1,...r?{rejectUnauthorized:!1}:{}});this.#t=i.create({baseURL:e,headers:s,timeout:3e4,maxRedirects:5,httpAgent:new c.Agent({keepAlive:!1}),httpsAgent:t}),r&&(i.defaults.httpsAgent=t),K.set(d,this.#t)}this.portalPageId=n,this.templateLess=a,this.assetsApi=new(o?B:H)(this.#t),this.pageApi=new Z(this.#t),this.pageTemplateApi=new W(this.#t),this.logger=L()}async isTemplateLoaded(){return this.#c}get isV710OrHigher(){return this.#o}get v7Features(){return this.#r}#p(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.#i&&(t.authorization=`Bearer ${this.#i}`),t}#d(e){return e.replace(/[.*+?^${}()|[\]\\\/]/g,"\\$&")}get personalAccessToken(){return this.#i}set personalAccessToken(e){this.#i=e}updateHeaders(e){this.#p(e)}get localTemplateHTML(){return'<!DOCTYPE html>\n <html lang="en">\n <head>\n <meta charset="UTF-8" />\n <title>%%PAGE TITLE%%</title>\n <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\n <meta name="theme-color" content="rgba(255, 255, 255, 1)" />\n <link rel="shortcut icon" type="image/x-icon" sizes="any" href="/img/favicon/favicon.ico" />\n <link rel="icon" type="image/png" sizes="16x16" href="/img/favicon/favicon-16x16.png" />\n <link rel="icon" type="image/png" sizes="32x32" href="/img/favicon/favicon-32x32.png" />\n <link rel="icon" type="image/png" sizes="48x48" href="/img/favicon/favicon-48x48.png" />\n <meta name="msapplication-config" content="/auth/browserconfig.xml" />\n <link rel="apple-touch-icon" sizes="180x180" href="/img/favicon/apple-touch-icon.png" />\n <link rel="manifest" href="/auth/site.webmanifest" />\n <link rel="manifest" href="/auth/manifest.json" />\n <link rel="stylesheet" type="text/css" href="/auth/theme-vars.css" />\n <link rel="icon" type="image/svg+xml" href="/favicon.ico" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n <script src="/js/libs/underscore-latest.min.js" charset="utf-8"><\/script>\n <script src="/js/jquery/jquery-latest.min.js" charset="utf-8"><\/script>\n <script src="/js/application/rating_component.js" charset="utf-8"><\/script>\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.#c||this.#s||(this.#c=new Promise(e=>{this.#l=e})),this.#s)return Promise.resolve(this.#s);if(void 0===this.templateLess&&(this.templateLess=!1),this.#r){const t=await this.pageApi.get(this.portalPageId,this.#p(e)).then(e=>(this.logger.info(N.green("Page fetched")),e)).catch(async t=>{if(this.#l(!1),q(t))throw t;throw await this.pageApi.checkAuth(this.#p(e))?(this.logger.error(N.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});return void 0!==t.template_id&&(this.#o=!0),this.internalPageName=t.internal_name,this.#s=this.localTemplateHTML,this.#s=this.#s.replace(/%%PAGE TITLE%%/g,t.name||"Local template"),this.logger.info(N.green("Local page template fetched")),this.#l(!0),this.#s}let t=(await this.pageApi.getAll(this.#p(e)).then(e=>(this.logger.info(N.green("Page list fetched")),e)).catch(async t=>{throw this.#l(!1),await this.pageApi.checkAuth(this.#p(e))?(this.logger.error(N.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===X);return t||(this.logger.warn(N.yellow("Creating dev page template...")),t=await this.pageApi.create({enabled:"Y",name:X,internal_name:"dev-page-template",visible_in_homepage:"Y"},this.#p(e)).then(e=>(this.logger.info(N.green("Dev page created")),e)).catch(e=>{throw this.logger.error(N.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 "${X}" already exists`)})),await this.pageApi.getPageContent(t.internal_name,this.#p(e)).then(e=>(this.#s=e,e)).then(e=>(this.#l(!0),this.logger.info(N.green("Page template fetched")),e)).catch(e=>{throw this.#l(!1),this.logger.error(N.red(`Error fetching page template: ${e.message}`)),new Error("Error fetching page template")})}async getPageVariables(e,t){return this.#s=await this.getPageTemplate(t),this.portalPageId||(this.portalPageId=e,this.templateLess=!1),await this.pageApi.get(e,this.#p(t)).then(e=>{const{tags:t="[]",name:s,template:n}=e;if(n&&t){const e=JSON.parse(t);return this.#a=e,this.#n=s,e}return this.#a=[],this.#n=s,[]}).catch(t=>{if(this.logger.error(N.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})}async getPageInfo(e,t){this.portalPageId||(this.portalPageId=e);const s=this.#p(t),n=this.portalPageId;try{return this.#r?await this.#h(n,s):await this.#u(n,s)}catch(e){this.#g(e,n)}}async#h(e,t){const s=await this.pageApi.get(e,t);return this.logger.info(N.green("Page fetched")),void 0!==s.template_id&&(this.#o=!0),this.internalPageName=s.internal_name,s}async#u(e,t){return await this.pageApi.get(e,t)}#g(e,t){if(q(e))throw e;if(this.#r&&e.message?.includes("access"))throw new Error("The current user does not have access to this page. Check your configuration to ensure the portalPageId is correct.");if(404===e.response?.status)throw new Error(`Portal Page with id "${t}" not found on instance ${this.#t.getUri()}`);throw 401===e.response?.status&&this.logger.error(N.red(`Current user does not have access to page with id "${t}" on instance ${this.#t.getUri()}`)),e}buildPage(e,t=!1){let s="string"==typeof e?e:e.toString("utf-8");for(const e of this.#a){const t=this.#d(e.name),n=new RegExp(`\\[${t}\\]`,"g");s=s.replace(n,()=>e.value)}const n=new p(t?s:this.#s),a="%%PLACEHOLDER%%";if(!t){const e=n.window.document.createElement("div");e.innerHTML=a;const t=n.window.document.querySelector(".main-side");if(t){const s=t.querySelectorAll("script");s.length?t.insertBefore(e,s.item(s.length-1)):t.append(e)}else{const t=n.window.document.createElement("div");t.append(e),n.window.document.body.append(t)}const s=n.window.document.querySelector("head"),r=s.querySelector("title");if(r)r.text=this.#n;else{const e=n.window.document.createElement("title");e.textContent=this.#n,s.appendChild(e)}}return n.serialize().replace(new RegExp(`<div>\\s*${a}\\s*<\\/div>`,"i"),s)}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 s=await this.pageTemplateApi.get(t.template_id,this.#e);return await this.assetsApi.uploadTemplateAssets(s.id,e,this.#e)}if(t.template)return await this.assetsApi.uploadTemplateAssets(t.template,e,this.#e)}}}async validateCredentials(e){try{const t=e||this.#e;return await this.get("/api/user",t,!0),{isValid:!0}}catch(e){const t=Y(e);return{isValid:!1,error:t.userFriendlyMessage,code:t.code}}}async get(e,t,s=!1){const n=s?t:Object.assign({},this.#p(this.#e),t);try{return await this.#t.get(e,{headers:n})}catch(e){if("UNKNOWN_ERROR"!==Y(e).code){const t=Y(e);throw this.logger.error(N.red(`API request failed: ${t.userFriendlyMessage}`)),function(e,t,s){const n=Y(t),a=`[${s}] `;e.error(N.red(`${a}${n.userFriendlyMessage}`)),e.error(N.red(`Status: ${n.status} (${n.code})`)),e.error(N.red(`Details: ${n.message}`)),n.suggestions.length>0&&(e.info(N.yellow("Suggestions:")),n.suggestions.forEach((t,s)=>{e.info(N.yellow(` ${s+1}. ${t}`))}))}(this.logger,e,"API Request"),e.response||(e.response={status:t.status,data:{message:t.message}}),e.tokenErrorInfo=t,e}throw e}}}const G="pageName",Q="date",ee=d.dirname("undefined"!=typeof __filename&&__filename||n(import.meta.url)),te=d.resolve(ee,"..",".."),se=d.resolve(te,"..",".."),ne=d.resolve(se,".pp-dev-meta"),ae=d.resolve(ne,"sync-service.meta.json"),re="BUILD-MANIFEST.json",ie="__template_variables.json";class oe{backupFolder;backupNameTemplate;dateFormat;pageName;currentMeta=null;distZipFolder;distZipFilename;versionFileTemplate;logger;constructor(e,t){this.pageName=e;const{backupFolder:s=d.resolve(m.cwd(),"backups"),distZipFolder:n=d.resolve(m.cwd(),"dist-zip"),distZipFilename:a=`${this.pageName}.zip`,backupNameTemplate:r=`{${G}}-{${Q}}.zip`,versionFileTemplate:i="VERSION-v{packageversion}-{currentDate}.json",dateFormat:o=e=>e.toISOString().replace(/:/g,"-").replace(/\..*$/,"")}=t||{};this.backupFolder=s,this.backupNameTemplate=r,this.dateFormat=o,this.distZipFolder=n,this.distZipFilename=a,this.versionFileTemplate=i,this.syncMeta(),this.logger=L()}async checkMeta(){try{await h.stat(ne)}catch{await h.mkdir(ne)}try{await h.stat(this.backupFolder)}catch{await h.mkdir(this.backupFolder)}}async readMetaFile(){return await this.checkMeta(),await h.readFile(ae,{encoding:"utf-8"}).catch(()=>"{}")}async writeMetaFile(e){return await this.checkMeta(),await h.writeFile(ae,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(`{${G}}`,e).replace(`{${Q}}`,this.dateFormat(t))}getBackupMeta(){return this.currentMeta}pathToPosix(e){return e.replace(/\\/g,"/")}async normalizeExtractedRootDir(e){let t=e;for(;;){const e=await h.readdir(t,{withFileTypes:!0});if(1!==e.length||!e[0]?.isDirectory())return t;t=d.join(t,e[0].name)}}async listFilesRecursive(e){const t=await h.readdir(e,{withFileTypes:!0}),s=[];for(const n of t){const t=d.join(e,n.name);n.isDirectory()?s.push(...await this.listFilesRecursive(t)):n.isFile()&&s.push(t)}return s}buildManifestChecksum(e){const t=Object.keys(e).sort().map(t=>e[t]).join("");return u.createHash("sha256").update(t).digest("hex")}buildBackupFingerprint(e){const t=Object.keys(e).sort().map(t=>`${t}:${e[t]}`).join("\n");return u.createHash("sha256").update(t,"utf-8").digest("hex")}escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}versionFileTemplateMatcher(){const e=/\{[^}]+\}/g,t=[];let s=0,n=null;for(;n=e.exec(this.versionFileTemplate),n;){const[e]=n,a=this.versionFileTemplate.slice(s,n.index);t.push(this.escapeRegExp(a)),t.push("[^/]+"),s=n.index+e.length}const a=this.versionFileTemplate.slice(s);return t.push(this.escapeRegExp(a)),new RegExp(`^${t.join("")}$`,"i")}isTemplateVariablesBasename(e){return e===ie}async pickTemplateVariablesFromBackupZip(e,t){const s=e.find(e=>d.basename(e)===ie);if(!s)return null;const n=d.join(t,s),a=await h.readFile(n);return{relativePath:s,content:a,actualHash:u.createHash("sha256").update(a).digest("hex"),manifestHash:null}}async resolveBackupAnalysisFromZip(e){const t=await h.mkdtemp(d.join(y.tmpdir(),"pp-dev-backup-")),s=d.join(t,"backup.zip"),n=d.join(t,"extracted");try{await h.mkdir(n,{recursive:!0}),await h.writeFile(s,e),await v(s,{dir:n});const t=await this.normalizeExtractedRootDir(n),a=(await this.listFilesRecursive(t)).map(e=>this.pathToPosix(d.relative(t,e))),r=a.filter(e=>d.basename(e)===re);if(r.length>1)throw new Error(`Expected at most one ${re} in backup ZIP, found ${r.length}`);const i=1===r.length?r[0]:null;let o=null;if(i){const e=d.join(t,i);if(o=JSON.parse(await h.readFile(e,"utf-8")),!(o&&"pp-dev-build-manifest"===o.manifestType&&"string"==typeof o.versionFile&&o.versionFile.trim()&&"string"==typeof o.versionFileTemplate&&o.versionFileTemplate.trim()&&"string"==typeof o.buildFingerprint&&o.buildFingerprint.trim()))throw new Error("Build manifest is missing required fields")}let c=null;if(o){const e=this.pathToPosix(o.versionFile.trim()),t=a.filter(t=>t===e),s=a.filter(t=>d.basename(t)===d.basename(e)),n=t.length>0?t:s;if(n.length>1)throw new Error(`Build manifest version file "${o.versionFile}" must resolve to exactly one file in backup ZIP, found ${n.length}`);if(1===n.length&&(c=n[0]),!0===o.compat?.versionFileRequired&&null===c)throw new Error(`Build manifest requires version file "${o.versionFile}", but it is missing in backup ZIP`)}else{const e=this.versionFileTemplateMatcher(),t=a.filter(t=>e.test(d.basename(t)));if(t.length>1)throw new Error(`Expected exactly one version file matching template "${this.versionFileTemplate}" in backup ZIP, found ${t.length}`);1===t.length&&(c=t[0])}const l={};let p=null,g=null;const m={};let f=[];if(c){const e=d.join(t,c),s=JSON.parse(await h.readFile(e,"utf-8"));if(!s?.files||"object"!=typeof s.files)throw new Error("VERSION manifest files map is missing or invalid");if("string"!=typeof s.checksum||!s.checksum)throw new Error("VERSION manifest checksum is missing or invalid");g=s.checksum;for(const[e,t]of Object.entries(s.files)){if("string"!=typeof t||!t.trim())throw new Error(`VERSION manifest contains invalid hash for file: ${e}`);l[this.pathToPosix(e)]=t}if(this.buildManifestChecksum(l)!==s.checksum)throw new Error("VERSION manifest checksum does not match its files map");for(const[e,s]of Object.entries(l)){const n=d.join(t,e),a=await h.readFile(n).catch(()=>null);if(!a)throw new Error(`VERSION manifest references missing file: ${e}`);const r=u.createHash("sha256").update(a).digest("hex");m[e]=r,r!==s&&f.push({relativePath:e,expected:s,actual:r}),this.isTemplateVariablesBasename(d.basename(e))&&(p={relativePath:e,content:a,actualHash:r,manifestHash:s})}f.length>0&&this.logger.warn(N.yellow(`[DistService] VERSION manifest hash mismatch for ${f.length} file(s) (confirm in UI): ${f.map(e=>e.relativePath).join(", ")}`))}const w=new Set(f.map(e=>e.relativePath)),y={},b=[];for(const e of a){if(e===i)continue;if(c&&e===c)continue;if(c&&Object.prototype.hasOwnProperty.call(y,e))continue;const s=d.join(t,e),n=await h.readFile(s),a=u.createHash("sha256").update(n).digest("hex");c&&Object.prototype.hasOwnProperty.call(l,e)?y[e]=w.has(e)?m[e]:l[e]:c?(y[e]="__NOT_IN_VERSION_FILE__",b.push(e)):y[e]=a}p||(p=await this.pickTemplateVariablesFromBackupZip(a,t));const k=this.buildBackupFingerprint(y);let x=null;return o&&c&&k!==o.buildFingerprint&&(x={expected:o.buildFingerprint,actual:k},this.logger.warn(N.yellow(`[DistService] Build manifest fingerprint mismatch (confirm in UI): expected ${o.buildFingerprint}, got ${k}`))),{backupFingerprint:k,unknownFiles:b,templateVariables:p,mainHash:g,allFilesInMeta:Boolean(c&&0===b.length),buildManifestMismatch:x,versionManifestHashMismatches:f}}finally{await h.rm(t,{recursive:!0,force:!0})}}async analyzeBackup(e){if("PK"!==e.toString("utf-8").slice(0,4))throw new Error("Backup file is not a ZIP file");return await this.resolveBackupAnalysisFromZip(e)}async getPublicTemplateVariablesHash(){const e=d.resolve(m.cwd(),"public",ie),t=await h.readFile(e).catch(()=>null);return t?u.createHash("sha256").update(t).digest("hex"):null}async saveTemplateVariablesFile(e){const t=d.resolve(m.cwd(),"public",ie);return await h.mkdir(d.dirname(t),{recursive:!0}),await h.writeFile(t,e),t}async saveBackup(e,t){const s=t??await this.analyzeBackup(e),n=s.backupFingerprint;if(await this.getLatestSavedBackup()){const{lastBackupHash:e,lastMainHash:t}=this.currentMeta;if(e===n)return void this.logger.info(N.yellow(`[DistService] Backup skipped: same backup fingerprint as last saved (${n.slice(0,12)}...)`));if(s.allFilesInMeta&&s.mainHash&&t===s.mainHash)return void this.logger.info(N.yellow("[DistService] Backup skipped: same VERSION manifest checksum (main hash) and all files listed in VERSION"))}const a=new Date,r=this.backupName(this.pageName,a);return this.currentMeta.lastBackupName=r,this.currentMeta.lastBackupHash=n,this.currentMeta.lastBackupDate=a.toISOString(),s.mainHash?this.currentMeta.lastMainHash=s.mainHash:delete this.currentMeta.lastMainHash,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 s="";this.logger.info(N.cyan("[DistService] Build started"));const n=f.spawn("node",[d.resolve(te,"./bin/pp-dev.js"),"build"],{cwd:m.cwd(),env:Object.assign({},m.env,{NODE_ENV:"production"}),stdio:"inherit"});n.on("message",e=>{s+=e}),n.on("close",n=>{0===n?e(s):t(new Error(`build command exited with code ${n}`))}),n.on("error",e=>{t(e)})});try{await e.finally(()=>{this.logger.info(N.cyan("[DistService] Build finished"))});const t=d.resolve(m.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 w.log(e),e}}async saveBackupAndBuild(e){return await this.saveBackup(e),await this.buildNewAssets()}}class ce{server;opts;eventMap;logger;syncActionResolvers=new Map;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.eventMap.set("template:sync:action-response",this.onTemplateSyncActionResponse.bind(this)),this.logger=L(),this.init()}init(){const{ws:e}=this.server;for(const[t,s]of this.eventMap)e.on(t,s);e.on("close",()=>{this.clearAllPendingSyncActions(!1)}),e.on("error",()=>{this.clearAllPendingSyncActions(!1)})}resolveSyncAction(e,t){const s=this.syncActionResolvers.get(e);s&&(clearTimeout(s.timeoutId),this.syncActionResolvers.delete(e),s.resolve(t))}clearAllPendingSyncActions(e){for(const t of[...this.syncActionResolvers.keys()])this.resolveSyncAction(t,e)}onInfoDataRequest(){this.server.ws.send({type:"custom",event:"info-data:response",data:{}})}onTemplateSyncActionResponse(e){e&&"string"==typeof e.requestId&&"boolean"==typeof e.approved&&this.resolveSyncAction(e.requestId,e.approved)}async requestSyncAction(e){const t=g(),s=this.opts.syncActionTimeoutMs??12e4;return await new Promise(n=>{const a=setTimeout(()=>{this.resolveSyncAction(t,!1)},s);this.syncActionResolvers.set(t,{resolve:n,timeoutId:a}),this.server.ws.send("template:sync:action-required",{...e,requestId:t})})}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(N.red("Dist service or MiAPI is not defined"));{const{distService:e,miAPI:t}=this.opts;try{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 s=await(t?.getAssets().catch(async e=>{if(o(e)){if("SESSION_EXPIRED"===Y(e).code){this.logger.info(N.yellow("Session expired - attempting to validate credentials"));try{const e=await(t?.validateCredentials());e&&!e.isValid?(this.logger.error(N.red(`Authentication error: ${e.error}`)),this.server.ws.send("template:sync:response",{error:e.error,code:e.code,refresh:!0})):(this.logger.info(N.yellow("Session expired")),this.server.ws.send("template:sync:response",{error:"Session expired",code:"SESSION_EXPIRED",refresh:!0}))}catch(e){this.logger.info(N.yellow("Session expired")),this.server.ws.send("template:sync:response",{error:"Session expired",code:"SESSION_EXPIRED",refresh:!0})}return e}if(e.cause instanceof Error&&("ECONNRESET"===e.cause.code||"ENOTFOUND"===e.cause.code))return this.logger.info(N.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",code:"CONNECTION_ERROR"}),e;const s=e.response?.status;if(502===s||503===s||504===s)return this.logger.info(N.yellow(`Server in maintenance mode or unreachable (HTTP ${s}); VPN may be required`)),this.server.ws.send("template:sync:response",{error:"Server in maintenance mode, VPN connection is needed or no internet connection",code:"CONNECTION_ERROR"}),e}if(q(e))return this.logger.info(N.yellow("Server in maintenance mode or non-JSON page / page-template API response (unavailable HTML body)")),this.server.ws.send("template:sync:response",{error:"Server in maintenance mode, VPN connection is needed or no internet connection",code:"CONNECTION_ERROR"}),e;throw e}));if(s instanceof Error)return;let n;if(s){const t=await(e?.analyzeBackup(s).catch(e=>"Backup file is not a ZIP file"===e.message?(this.logger.error(N.red("Backup file is not a ZIP file")),e):e));if(t instanceof Error)n=t;else if(t){await(e?.saveBackup(s,t));const a=0===t.unknownFiles.length&&1===t.versionManifestHashMismatches.length&&d.basename(t.versionManifestHashMismatches[0].relativePath)===ie,r=t.versionManifestHashMismatches,i=r.filter(e=>d.basename(e.relativePath)===ie),o=r.filter(e=>d.basename(e.relativePath)!==ie),c=!a&&i.length>0&&o.length>0,l=a?[]:o.map(e=>e.relativePath),p=async()=>{if(!t.templateVariables||!e)return;const{templateVariables:s}=t;if(await e.getPublicTemplateVariablesHash()!==s.actualHash){await this.requestSyncAction({title:"Template variables (server backup)",content:"The server backup includes __template_variables.json. It differs from your local public/__template_variables.json (or that file is missing). Replace your project copy with the server backup?",confirmText:"Replace from server",cancelText:"Keep local"})&&await e.saveTemplateVariablesFile(s.content)}};if(t.unknownFiles.length>0){if(!await this.requestSyncAction({title:"Unknown files found in backup",content:`Backup contains files not listed in VERSION: ${t.unknownFiles.join(", ")}. Continue sync or cancel?`,confirmText:"Continue sync",cancelText:"Cancel sync"}))return this.server.ws.send("template:sync:response",{cancelled:!0,message:"Sync cancelled by user. Backup was saved."}),void this.logger.info(N.yellow("Sync cancelled by user"))}if(c&&await p(),!a&&l.length>0){const e=40,t=l,s=t.slice(0,e),n=t.length-s.length,a=s.map(e=>`• ${e}`).join("\n"),r=n>0?`\n... and ${n} more file${1===n?"":"s"}`:"";if(!await this.requestSyncAction({title:"VERSION manifest out of date",content:`These files no longer match the hashes recorded in the VERSION manifest:\n\n${a}${r}\n\nCancel sync, or override and continue using the files on disk?`,confirmText:"Override and continue",cancelText:"Cancel sync"}))return this.server.ws.send("template:sync:response",{cancelled:!0,message:"Sync cancelled by user. Backup was saved."}),void this.logger.info(N.yellow("Sync cancelled by user"))}if(!a&&t.buildManifestMismatch&&0===t.versionManifestHashMismatches.length){const{expected:e,actual:s}=t.buildManifestMismatch;if(!await this.requestSyncAction({title:"Build manifest fingerprint mismatch",content:`The recomputed backup fingerprint does not match BUILD-MANIFEST.json.\nManifest: ${e.slice(0,12)}...\nComputed: ${s.slice(0,12)}...\nContinue sync anyway?`,confirmText:"Continue sync",cancelText:"Cancel sync"}))return this.server.ws.send("template:sync:response",{cancelled:!0,message:"Sync cancelled by user. Backup was saved."}),void this.logger.info(N.yellow("Sync cancelled by user"))}c||await p(),n=await(e?.buildNewAssets())}}else n=await(e?.buildNewAssets());if(!(n&&n instanceof Buffer))return n instanceof Error?(this.server.ws.send("template:sync:response",{error:n.message}),void this.logger.error(N.red(n.message))):(this.server.ws.send("template:sync:response",{error:"Failed to build new assets"}),void this.logger.error(N.red("Failed to build new assets")));{const s=await(t?.updateAssets(n));if("OK"===s?.status){const t=e?.getBackupMeta(),{lastBackupName:s,lastBackupHash:n,lastBackupDate:a}=t||{lastBackupName:"",lastBackupHash:"",lastBackupDate:(new Date).toISOString()};this.server.ws.send("template:sync:response",{syncedAt:new Date(a),currentHash:n,backupFilename:s}),this.logger.info(N.green("Template synced"))}else this.server.ws.send("template:sync:response",{error:"Failed to update assets"}),this.logger.error(N.red("Failed to update assets"))}}catch(e){const t=e instanceof Error?e.message:"Template sync failed";return this.logger.error(N.red(`Template sync failed: ${t}`)),void this.server.ws.send("template:sync:response",{error:t,code:"SYNC_FAILED"})}}}}const le=/\.(?:[a-z0-9]+)$/i,pe=6e5,de=104857600,he=1e3;class ue extends b.Cache{totalSize=0;maxSize;maxItems;constructor(e,t){super(),this.maxSize=e,this.maxItems=t}put(e,t,s){const n=this.get(e);n&&(this.totalSize-=n.size);const a=super.put(e,t,s);return this.totalSize+=t.size,this.cleanup(),a}cleanup(){const e=this.keys();if(e.length>this.maxItems){const t=e.length-this.maxItems,s=e.sort((e,t)=>{const s=this.get(e),n=this.get(t);return(s?.timestamp||0)-(n?.timestamp||0)});for(let e=0;e<t;e++){const t=s[e],n=this.get(t);n&&(this.totalSize-=n.size,this.del(t))}}for(;this.totalSize>this.maxSize&&e.length>0;){const t=e.sort((e,t)=>{const s=this.get(e),n=this.get(t);return(s?.timestamp||0)-(n?.timestamp||0)})[0];if(t){const e=this.get(t);e&&(this.totalSize-=e.size,this.del(t))}}}getTotalSize(){return this.totalSize}getItemCount(){return this.keys().length}}const ge=new ue(de,he);function me(e){if(0===e.length)return Buffer.alloc(0);if(1===e.length)return e[0];const t=e.reduce((e,t)=>Buffer.byteLength(t)+e,0);return Buffer.concat(e,t)}function fe(e){const{devServer:t,ttl:s=pe,maxSize:n=de,maxItems:a=he}=e,r=L();return n===de&&a===he||(ge.maxSize=n,ge.maxItems=a),t.cache=ge,(e,t,n)=>{const a=e.originalUrl||e.url||"",i=function(e){const t=e.split("?")[0];return le.test(t)?t.includes("/auth/info.js")?"":e:""}(a);if(!i)return n();const o=ge.get(i);if(o)return r.info(`${N.blue("Proxies request:")} ${N.green(e.method)} ${a} -> ${N.blue("Cache")} ${i}`),function(e,t){try{for(const[s,n]of Object.entries(t))null!=n&&e.setHeader(s,n)}catch(e){console.warn("Failed to set some response headers:",e)}}(t,o.headers),t.write(o.content),void t.end();const c=t.end,l=t.write,p=[];t.write=function(e,s,n){if(!t.hasHeader(M))return l.call(this,e,s,n);if("string"==typeof e){const t=s||"utf8";p.push(Buffer.from(e,t))}else Buffer.isBuffer(e)?p.push(e):null!=e&&p.push(Buffer.from(String(e),"utf8"));return!0},t.end=function(e,n,a){if(!t.hasHeader(M))return c.call(this,e,n,a);if(null!=e)if("string"==typeof e){const t=n||"utf8";p.push(Buffer.from(e,t))}else Buffer.isBuffer(e)?p.push(e):p.push(Buffer.from(String(e),"utf8"));let o;try{o=me(p);const e=Buffer.byteLength(o);if(e>0&&e<10485760){const n={headers:t.getHeaders(),content:o,timestamp:Date.now(),size:e};ge.put(i,n,s),r.info(`${N.blue("[Cached]")} ${i} (${(e/1024).toFixed(1)}KB)`)}}catch(e){r.error(`Failed to cache response for ${i}: ${e}`),o=me(p)}const l=n||"utf8";return c.call(this,o,l,a)},n()}}function we(e,t){return async(s,n,a)=>{if(await e(s.url??"",s,n)){L().info(`Rewrite response for ${s.url}`);const e=n.end,a=[];n.write=function(e){return a.push(e),!0},n.end=function(r,i,o){"string"==typeof r&&a.push(Buffer.from(r));const c=n.getHeader("content-encoding"),l=function(e,t){switch(t){case"gzip":return T(e);case"br":return x(e);case"deflate":return k(e);default:return e}}(Buffer.from(Buffer.concat(a)),c),p="function"!=typeof i&&i?i:"utf-8",d="function"==typeof i?i:o;return e.call(this,function(e,t){switch(t){case"gzip":return E(e);case"br":return $(e);case"deflate":return P(e);default:return e}}(t(l,s,n),c),p,d),this}}a()}}function ye(e,t){const n=(e=(e=e.startsWith("/")?e:`/${e}`).endsWith("/")?e:`${e}/`).endsWith("/")?e.slice(0,-1):e,a=L();return(r,i,o)=>{const c=new s(r.url??"","http://localhost"),{pathname:l,search:p}=c,d=["/",n];if(t&&(d.push(`/pt/${t}`),d.push(`/pl/${t}`)),d.includes(l)){const t=`${e}${p}`;return a.info(N.yellow(`Redirecting to: ${t}`)),A(i,t,302)}o()}}class ve{state={isAuthenticated:!1,isRedirected:!1,lastChecked:0};listeners=new Set;getState(){return{...this.state}}isAuthenticated(){return this.state.isAuthenticated}isRedirected(){return this.state.isRedirected}setAuthenticated(e){this.state.isAuthenticated=e,this.state.lastChecked=Date.now(),this.notifyListeners()}setRedirected(e){this.state.isRedirected=e,this.notifyListeners()}updateState(e){void 0!==e.isAuthenticated&&(this.state.isAuthenticated=e.isAuthenticated),void 0!==e.isRedirected&&(this.state.isRedirected=e.isRedirected),this.state.lastChecked=Date.now(),this.notifyListeners()}reset(){this.state={isAuthenticated:!1,isRedirected:!1,lastChecked:0},this.notifyListeners()}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}notifyListeners(){this.listeners.forEach(e=>{try{e(this.getState())}catch(e){console.error("Error in auth state listener:",e)}})}getDebugInfo(){return{...this.getState(),listenerCount:this.listeners.size}}}const be=new ve,ke=new Map;function xe(e){const t=ke.get(e);return t?Date.now()-t.timestamp>18e4?(ke.delete(e),null):t.data:null}function Te(e,t){ke.set(e,{timestamp:Date.now(),data:t})}const Pe="/home?proxyRedirect=";function $e(e,t,s){const{templateLess:n=!1,miHudLess:a=!1,appId:r,base:i,v7Features:o}=s,c=L();if(n&&a&&void 0===r)throw new Error("Custom App ID is required when both templateLess and miHudLess are true");let l=be.getState();return be.subscribe(e=>{l=e}),async(s,p,d)=>{try{const h=!(n&&a),u=e.test((s.url??"").split("?")[0]);if(!l.isAuthenticated&&!l.isRedirected&&s.url?.startsWith("/home")&&!s.url?.startsWith(Pe)){c.info(N.blue("Trying to authenticate and redirect to base"));try{return h?await Se(t,{templateLess:n,miHudLess:a,appId:r,redirectUrl:o&&i?`${i}`:`${Pe}${encodeURIComponent("/")}`},s,p,()=>{},c):await Ee(t,{templateLess:n,miHudLess:a,appId:r,redirectUrl:o&&i?`${i}`:`${Pe}${encodeURIComponent("/")}`},s,p,()=>{},c),be.setRedirected(!0),c.info(N.blue("Successfully authenticated. Redirecting to base")),A(p,i??"/",302)}catch(e){return d()}}if(!u)return d();if(!h){return await Ee(t,{templateLess:n,miHudLess:a,appId:r,redirectUrl:o&&i?`${i}`:`${Pe}${encodeURIComponent("/")}`},s,p,d,c)}return await Se(t,{templateLess:n,miHudLess:a,appId:r,redirectUrl:o&&i?`${i}`:`${Pe}${encodeURIComponent("/")}`},s,p,d,c)}catch(e){return c.error(N.red(`Unexpected error in load-pp-data middleware: ${e instanceof Error?e.message:String(e)}`)),be.reset(),d(e)}}}async function Ee(e,t,s,n,a,r){const{appId:i,redirectOnAuthFailure:o,redirectUrl:c}=t;if(void 0===i){const e=new Error("Custom App ID is required for page info only mode");return r.error(N.red(e.message)),a(e)}const l=s.headers??{};r.info(N.green("Start loading page info"));try{const t=`pageInfo:${i}`;return xe(t)?(r.info(N.green("Page info loaded from cache")),a()):(await e.getPageInfo(i,l),r.info(N.blue("Clearing proxy cache after successful login")),ge.clear(),Te(t,{success:!0}),be.updateState({isAuthenticated:!0}),r.info(N.green("Page info loaded successfully")),a())}catch(e){return be.reset(),Ie(e,o??!0,c||`${Pe}${encodeURIComponent("/")}`,n,a,r,"Page info")}}async function Se(e,t,s,n,a,r){const{templateLess:i,appId:o,redirectOnAuthFailure:c,redirectUrl:l}=t,p=s.headers??{};r.info(N.green("Start loading page data"));try{const t=`pageData:${i}:${o}`;if(xe(t))return r.info(N.green("Page data loaded from cache")),a();const s=i||void 0===o?e.getPageTemplate(p):e.getPageVariables(o,p);return await s,r.info(N.blue("Clearing proxy cache after successful login")),ge.clear(),Te(t,{success:!0}),r.info(N.green("Page data loaded successfully")),a()}catch(e){return be.reset(),Ie(e,c??!0,l||`${Pe}${encodeURIComponent("/")}`,n,a,r,"Page data")}}function Ie(e,t,s,n,a,r,i){if(function(e){return null!==e&&"object"==typeof e&&"response"in e&&void 0!==e.response}(e)&&(r.info(N.red(`${i} loading failed. Not authorized`)),t)){const e=`${s}`;return r.info(N.yellow(`Redirecting to: ${e}`)),A(n,e,302)}const o=e instanceof Error?e.message:String(e);return r.info(N.red(`${i} loading failed. Error: ${o}`)),a(e)}function Ae(){const e=S();return e.use(S.json()),e.use(S.urlencoded({extended:!0})),e}const Fe=Ae();function Re(e,t,s){return t(e)?{isValid:!0}:{isValid:!1,error:s}}function Le(e){const t=function(e){return[Re(e,e=>"object"==typeof e&&null!==e,"VitePPDevOptions must be an object"),Re(e.templateName,e=>"string"==typeof e&&e.length>0,"VitePPDevOptions.templateName must be a non-empty string"),Re(e.backendBaseURL,e=>void 0===e||"string"==typeof e&&e.length>0,"VitePPDevOptions.backendBaseURL must be a non-empty string if provided"),Re(e.portalPageId,e=>void 0===e||"number"==typeof e&&e>0,"VitePPDevOptions.portalPageId must be a positive number if provided"),Re(e.appId,e=>void 0===e||"number"==typeof e&&e>0,"VitePPDevOptions.appId must be a positive number if provided"),Re(e.proxyCacheTTL,e=>void 0===e||"number"==typeof e&&e>0,"VitePPDevOptions.proxyCacheTTL must be a positive number if provided"),Re(e.integrateMiTopBar,t=>{if(void 0===t)return!0;if(null===t)return!1;if("boolean"!=typeof t&&"object"!=typeof t)return!1;if(!0===t&&!0!==e.miHudLess)return!1;if("object"==typeof t&&null!==t){if(void 0!==t.addRootElement&&"boolean"!=typeof t.addRootElement)return!1;if(void 0!==t.addSharedComponentsScripts&&"boolean"!=typeof t.addSharedComponentsScripts)return!1;if(!0!==e.miHudLess&&(!0===t.addRootElement||!0===t.addSharedComponentsScripts))return!1}return!0},"VitePPDevOptions.integrateMiTopBar must be a boolean or an object with addRootElement and addSharedComponentsScripts booleans")].find(e=>!e.isValid)||{isValid:!0}}(e);if(!t.isValid)throw new Error(t.error);const s=e.appId??e.portalPageId,{enableProxyCache:n=!0,proxyCacheTTL:a=6e5,disableSSLValidation:r=!1,imageOptimizer:i=!0,miHudLess:o=!1,integrateMiTopBar:c=!1,templateLess:l=!1,outDir:p="dist",distZip:d=!0,versionPlugin:h=!0,syncBackupsDir:u="backups",v7Features:g=!1,personalAccessToken:m=process.env.MI_ACCESS_TOKEN}=e||{};let f=d;f=!0===f?{outFileName:`${e.templateName}.zip`,outDir:"dist-zip"}:"object"==typeof d&&{outFileName:"string"==typeof d.outFileName?d.outFileName.replace("[templateName]",e.templateName):`${e.templateName}.zip`,outDir:d.outDir??"dist-zip"};let w=i;"boolean"==typeof i?!0===w&&(w={}):"object"!=typeof i&&(w=!1);const y="VERSION-v{packageversion}-{currentDate}.json";let v;return v=!1!==h&&(!0===h?{versionFileTemplate:y,enabled:!0}:{versionFileTemplate:h.versionFileTemplate??y,enabled:h.enabled??!0}),{enableProxyCache:n,proxyCacheTTL:a,disableSSLValidation:r,imageOptimizer:w,templateLess:l,miHudLess:o,outDir:p,distZip:f,versionPlugin:v,syncBackupsDir:u,v7Features:g,personalAccessToken:m,portalPageId:s,integrateMiTopBar:c,...e}}function Ne(e){const{templateName:t,templateLess:s,backendBaseURL:n,miHudLess:a,portalPageId:r,appId:i,enableProxyCache:o,proxyCacheTTL:c,disableSSLValidation:l,distZip:p,versionPlugin:d,syncBackupsDir:h,v7Features:u,personalAccessToken:g}=e||{};let m=!0;process.cwd();const f=i??r;return{name:"vite-pp-dev",apply:"serve",config:e=>{const a=function(e){return[Re(e.base,e=>"string"==typeof e&&e.length>0&&"/"!==e,'Server base path cannot be empty or "/"'),Re(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(!a.isValid)throw new Error(a.error);return e.clientInjectionPlugin={backendBaseURL:n,portalPageId:f,templateLess:s,v7Features:u},u&&(e.base=`/pl/${t}`),e},transformIndexHtml:async(e,t)=>{const s={html:e,tags:[]};return m&&(m=!1,s.tags.push({tag:"script",injectTo:"body",children:`${Math.random()}`})),s},configureServer:r=>{let i=r.config.base;i.endsWith("/")||(i+="/");const m=i.substring(0,i.lastIndexOf("/"));if(r.middlewares.use(ye(i,t)),n){const y=new URL(n).host,v={headers:{host:y,referer:n,origin:n.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},portalPageId:f,appId:f,templateLess:s,disableSSLValidation:l,v7Features:u,personalAccessToken:g??process.env.MI_ACCESS_TOKEN},b=[Re((w=v).headers,e=>"object"==typeof e&&"string"==typeof e.host&&"string"==typeof e.referer&&"string"==typeof e.origin,"MiAPI headers must be properly configured"),Re(w.portalPageId,e=>void 0===e||"number"==typeof e&&e>0,"MiAPI portalPageId must be a positive number if provided"),Re(w.appId,e=>void 0===e||"number"==typeof e&&e>0,"MiAPI appId must be a positive number if provided"),Re(w.personalAccessToken,e=>void 0===e||"string"==typeof e,"MiAPI personalAccessToken must be a string if provided")].find(e=>!e.isValid)||{isValid:!0};if(!b.isValid)throw new Error(b.error);const k=new J(n,v);if(o){let e=+c;(!e||Number.isNaN(e)||e<0)&&(e=6e5);const t={devServer:r,ttl:e},s=function(e){return[Re(e.ttl,e=>"number"==typeof e&&e>0,"Proxy cache TTL must be a positive number")].find(e=>!e.isValid)||{isValid:!0}}(t);if(!s.isValid)throw new Error(s.error);r.middlewares.use(fe(t))}const x=new RegExp(`^((${i})|/)$`);r.middlewares.use($e(x,k,Object.assign({},e,{appId:f,portalPageId:f}))),r.middlewares.use(j({baseURL:n,proxyIgnore:["/@vite","/@metricinsights","/@",m],disableSSLValidation:l,miAPI:k,templateName:t}));const T=(e,t,s,n,a)=>{const r={error:s};n&&(r.details=n),a&&(r.code=a),e.status(t).json(r).end()},P=(e,t,s)=>{r.config.logger.error(`${s} token validation error:`,t);const n=Y(t);if(t.tokenErrorInfo){const s=t.tokenErrorInfo;r.config.logger.info(`Using enhanced error info: ${s.code} - ${s.userFriendlyMessage}`);const n=s.status||500,a=s.code,i=s.userFriendlyMessage,o=s.message;T(e,n,i,o,a)}else{let t,a,i;switch(r.config.logger.info(`Using original error info: ${n.code} - ${n.userFriendlyMessage}`),n.code){case"SESSION_EXPIRED":t=412,a="personal"===s?"Personal access token expired":"Session expired",i="personal"===s?"PAT_EXPIRED":"SESSION_EXPIRED";break;case"UNAUTHORIZED":t=401,a="Unauthorized",i="UNAUTHORIZED";break;case"FORBIDDEN":t=403,a="Access forbidden",i="FORBIDDEN";break;default:t=500,a="Internal server error",i=n.code}const o="personal"===s&&"PAT_EXPIRED"===i?"Your personal access token has expired. Please generate a new token from the portal.":"regular"===s&&"SESSION_EXPIRED"===i?"Your portal session has expired. Please refresh your token or re-authenticate.":n.userFriendlyMessage;T(e,t,a,o,i)}return null},$=Ae();$.post("/@api/login",async(e,t,s)=>{const{token:n,tokenType:a}=e.body;if(n)if(r.config.logger.info(`Attempting to validate ${a} token...`),"personal"===a){if(!await k.get("/data/page/index/auth/info",{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${n}`},!0).then(async e=>"number"==typeof e.data?.user?.user_id?(k.personalAccessToken=n,r.config.logger.info(`Personal access token validated successfully for user ${e.data.user.user_id}`),e):(T(t,400,"Token expired or invalid"),null)).catch(e=>P(t,e,"personal")))return;A(t,"/",302)}else if("regular"===a){if(!await k.get("/api/user",{"Content-Type":"application/json",Accept:"application/json",Token:n},!0).then(e=>e.data?.users?.length?(k.personalAccessToken=void 0,r.config.logger.info(`Regular token validated successfully for ${e.data.users.length} user(s)`),t.setHeader("set-cookie",e.headers["set-cookie"]??""),e):(T(t,400,"Token expired or invalid"),null)).catch(e=>P(t,e,"regular")))return;A(t,"/",302)}else T(t,400,"Invalid tokenType",'tokenType must be "personal" or "regular".',"INVALID_TOKEN_TYPE");else T(t,400,"Token is required")}),r.middlewares.use($);const E=!1!==p?new oe(t,Object.assign({backupDir:h},"object"==typeof p?{distZipFolder:p.outDir,distZipFilename:p.outFileName}:void 0,"object"==typeof d?{versionFileTemplate:d.versionFileTemplate}:void 0)):void 0;return new ce(r,{distService:E,miAPI:k}),()=>{r.middlewares.use(we(e=>e.split("?")[0].endsWith("index.html"),(e,t)=>Buffer.from(I(y,t.headers.host??"",k.buildPage(e,a)))))}}var w}}}export{ve as A,J as M,N as a,fe as b,L as c,$e as d,j as e,Fe as f,we as g,be as h,ye as i,Le as n,I as u,Ne as v};
|
|
2
|
+
//# sourceMappingURL=plugin-B6DaUVqp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-B6DaUVqp.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/unavailable-json-api.ts","../../../src/api/page.ts","../../../src/api/page-template.ts","../../../src/lib/helpers/token.helper.ts","../../../src/lib/pp.middleware.ts","../../../src/lib/dist.service.ts","../../../src/lib/client.service.ts","../../../src/lib/proxy-cache.middleware.ts","../../../src/lib/rewrite-response.middleware.ts","../../../src/lib/helpers/content-encoding.helper.ts","../../../src/lib/pp-redirect.middleware.ts","../../../src/lib/auth.provider.ts","../../../src/lib/load-pp-data.middleware.ts","../../../src/lib/internal.middleware.ts","../../../src/plugin.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["urlReplacer","originalHost","destinationHost","content","urlReplaceRegExp","RegExp","replace","substring","args","startsWith","redirect","res","url","statusCode","setHeader","end","storage","Map","DEFAULT_LOGGER_KEY","createLogger","level","name","has","get","logger","cL","set","colors","createColors","tokenLoginFunction","TOKEN_TYPE_CONFIG","personal","placeholder","caption","host","endpoint","regular","updateTokenUI","type","tokenInput","tokenCaption","info","innerHTML","showError","message","errorElement","textContent","classList","add","hideError","remove","setupEventHandlers","formWrapper","submitButton","addEventListener","async","e","preventDefault","value","trim","focus","tokenTypeSwitcher","document","getElementById","activeOption","querySelector","tokenType","dataset","token","response","fetch","method","headers","body","JSON","stringify","URL","window","location","origin","pathname","json","error","parseError","href","networkError","handleFormSubmission","key","click","initializeLoginForm","loginForm","contentWrapper","firstChild","rowTemplate","lastChild","cloneNode","orRow","innerText","setAttribute","helperForm","formContent","createElement","styleElement","head","appendChild","tokenTypeOptions","querySelectorAll","handleTokenTypeChange","target","forEach","opt","option","currentTarget","setupTokenTypeSwitcher","console","formSelector","observer","MutationObserver","mutations","mutation","disconnect","observe","childList","subtree","existingForm","hostOriginRegExp","PROXY_HEADER","initProxy","opts","rewritePath","baseURL","disableSSLValidation","miAPI","templateName","Error","fileType","import","createProxyMiddleware","selfHandleResponse","pathFilter","req","proxyIgnore","some","test","Array","isArray","rP","changeOrigin","autoRewrite","cookieDomainRewrite","log","warn","secure","on","proxyReq","referer","getHeader","personalAccessToken","originalUrl","rewritten","requestUrl","v7Features","internalPageName","u","m","match","segmentDecoded","decodeURIComponent","search","hash","rewriteDataPagePathForV7Proxy","path","cyan","yellow","blue","green","protocol","socket","setMaxListeners","once","setTimeout","destroyed","destroy","proxyRes","serverRes","includes","streamInterceptor","setHeaders","Object","entries","pipe","rewriteInterceptor","responseInterceptor","responseBuffer","fileTypeFromBuffer","toString","reqUrl","searchParams","storageKey","lastRedirectKey","redirectCount","localStorage","getItem","Number","isNaN","func","params","URLSearchParams","debug","removeItem","setItem","Date","toISOString","slice","reqHost","urlPath","destinationPath","unescapedUrlReplaceRegExp","replacedContent","urlPathReplacer","err","errorMessage","stack","writable","writeHead","BaseAPI","axios","constructor","this","checkAuth","assign","accept","maxRedirects","then","catch","AssetsAPI","formdataModulePromise","super","getDownloadUrl","portalPageId","getDownloadTemplateUrl","templateId","getUploadUrl","getUploadTemplateUrl","downloadPageAssets","withCredentials","responseType","data","uploadPageAssets","file","formData","FormData","File","assetFile","append","post","Referer","getUri","downloadTemplateAssets","uploadTemplateAssets","AssetsV7API","PAGE_DATA_FETCH_FRAGMENT","PAGE_TEMPLATE_FETCH_FRAGMENT","MAINTENANCE_SUFFIX","unavailablePageTemplateDataError","isUnavailableJsonApiError","PageAPI","getAll","Accept","Pragma","Expires","pages","id","page","getPageContent","create","PageTemplateAPI","internal_name","page_templates","page_template","getTokenErrorInfo","status","lowerMessage","toLowerCase","code","userFriendlyMessage","suggestions","TEMPLATE_PAGE_NAME","axiosInstanceCache","MiAPI","pageTemplate","pageTitle","pageVars","isV710OrHigher","templateLoaded","templateLoadedResolve","templateLess","assetsApi","pageApi","pageTemplateApi","Promise","resolve","cacheKey","process","env","NODE_TLS_REJECT_UNAUTHORIZED","httpsAgent","https","Agent","keepAlive","rejectUnauthorized","timeout","httpAgent","http","defaults","isTemplateLoaded","clearHeaders","obj","undefined","keys","authorization","escapeRegExp","updateHeaders","localTemplateHTML","getPageTemplate","red","template_id","find","p","enabled","visible_in_homepage","getPageVariables","pageId","tags","template","parsed","parse","reason","getPageInfo","pageIdToFetch","fetchV7Page","fetchLegacyPage","handlePageFetchError","buildPage","miHudLess","result","v","escapedName","pageVarRegex","dom","JSDOM","placeholderText","container","scripts","length","insertBefore","item","title","text","titleEl","serialize","getAssets","pageInfo","templateInfo","updateAssets","assets","validateCredentials","testHeaders","isValid","errorInfo","cleanup","normalizedHeaders","context","contextPrefix","suggestion","index","logTokenError","tokenErrorInfo","TEMPLATE_PART_PAGE_NAME","TEMPLATE_PART_DATE","DIRNAME","dirname","__filename","fileURLToPath","pluginPath","node_modules_path","metaDirPath","metaFilePath","BUILD_MANIFEST_FILE_NAME","TEMPLATE_VARIABLES_FILE_NAME","DistService","backupFolder","backupNameTemplate","dateFormat","pageName","currentMeta","distZipFolder","distZipFilename","versionFileTemplate","syncOptions","cwd","date","syncMeta","checkMeta","fs","stat","mkdir","readMetaFile","readFile","encoding","writeMetaFile","meta","writeFile","getLatestSavedBackup","lastBackupName","backupPath","backupName","getBackupMeta","pathToPosix","filePath","normalizeExtractedRootDir","extractedDir","currentDir","readdir","withFileTypes","isDirectory","join","listFilesRecursive","rootDir","files","entry","fullPath","push","isFile","buildManifestChecksum","hashesConcatenated","sort","map","crypto","createHash","update","digest","buildBackupFingerprint","normalizedEntries","versionFileTemplateMatcher","placeholderPattern","segments","lastIndex","exec","staticPart","trailingStaticPart","isTemplateVariablesBasename","fileBasename","pickTemplateVariablesFromBackupZip","relativePaths","contentRootDir","relativePath","basename","absolutePath","fileData","actualHash","manifestHash","resolveBackupAnalysisFromZip","backupFile","tempDir","mkdtemp","os","tmpdir","zipPath","recursive","extractZip","dir","relative","buildManifestCandidates","filter","buildManifestPath","buildManifest","buildManifestAbsolutePath","manifestType","versionFile","buildFingerprint","versionManifestPath","requestedVersionFile","exactMatchCandidates","basenameMatchCandidates","resolvedCandidates","compat","versionFileRequired","versionFileMatcher","versionManifestCandidates","normalizedManifestFiles","templateVariables","manifestChecksum","manifestFileActualHashes","versionManifestHashMismatches","versionManifestAbsolutePath","manifest","checksum","expectedHash","expected","actual","mismatchedManifestPaths","Set","fingerprintFiles","unknownFiles","prototype","hasOwnProperty","call","backupFingerprint","buildManifestMismatch","mainHash","allFilesInMeta","Boolean","rm","force","analyzeBackup","getPublicTemplateVariablesHash","templateVariablesPath","saveTemplateVariablesFile","saveBackup","precomputedAnalysis","resolvedAnalysis","resolvedBackupFileHash","lastBackupHash","lastMainHash","backupDate","filename","lastBackupDate","finally","buildNewAssets","buildCommand","reject","proc","child_process","spawn","NODE_ENV","stdio","msg","saveBackupAndBuild","ClientService","server","eventMap","syncActionResolvers","onInfoDataRequest","bind","onTemplateSync","onTemplateSyncActionResponse","init","ws","event","handler","clearAllPendingSyncActions","resolveSyncAction","requestId","approved","clearTimeout","timeoutId","delete","send","payload","requestSyncAction","randomUUID","timeoutMs","syncActionTimeoutMs","distService","config","clientInjectionPlugin","canSync","currentAssets","isAxiosError","validation","refresh","validationError","cause","httpStatus","newAssets","backupAnalysis","onlyTemplateVariablesMismatch","mm","templateVarMismatches","otherManifestMismatches","mixedTemplateAndOthers","pathsForVersionModal","promptReplaceTemplateVariables","confirmText","cancelText","cancelled","maxPaths","paths","listed","remainder","fileList","suffix","Buffer","updateResult","backupMeta","backupFilename","currentHash","syncedAt","syncError","FILE_EXTENSION_REGEX","DEFAULT_TTL","DEFAULT_MAX_SIZE","DEFAULT_MAX_ITEMS","EnhancedCache","memoryCache","Cache","totalSize","maxSize","maxItems","put","ttl","oldItem","size","itemsToRemove","sortedKeys","a","b","itemA","itemB","timestamp","i","del","oldestKey","getTotalSize","getItemCount","cache","createResponseBuffer","chunks","alloc","totalLength","reduce","sum","chunk","byteLength","concat","initProxyCache","devServer","next","cleanUrl","split","generateCacheKey","cacheItem","header","setResponseHeaders","write","originalEnd","originalWrite","callback","hasHeader","safeEncoding","from","isBuffer","String","finalBuffer","responseSize","getHeaders","now","toFixed","finalEncoding","initRewriteResponse","predicate","rewrite","buffers","cb","contentEncoding","unzipSync","brotliDecompressSync","inflateSync","decodeContent","bufferEncoding","endCallback","gzipSync","brotliCompressSync","deflateSync","encodeContent","initPPRedirect","base","baseWithoutTrailingSlash","endsWith","parsedUrl","findPaths","redirectUrl","AuthProvider","state","isAuthenticated","isRedirected","lastChecked","listeners","getState","setAuthenticated","authenticated","notifyListeners","setRedirected","redirected","updateState","updates","reset","subscribe","listener","getDebugInfo","listenerCount","authProvider","apiResponseCache","getCachedResponse","cached","setCachedResponse","DEFAULT_REDIRECT_URL","initLoadPPData","applyUrlRegExp","mi","appId","authState","isNeedTemplateLoad","isApplyRequest","handleTemplateLoad","encodeURIComponent","handlePageInfoOnly","options","redirectOnAuthFailure","clear","success","handleLoadError","loadPageData","operationType","isAuthError","fullRedirectUrl","createInternalServer","app","express","use","urlencoded","extended","internalServer","validateConfigValue","validator","normalizeVitePPDevConfig","validationResult","c","backendBaseURL","proxyCacheTTL","integrateMiTopBar","integrate","addRootElement","addSharedComponentsScripts","validateConfig","enableProxyCache","imageOptimizer","outDir","distZip","versionPlugin","syncBackupsDir","MI_ACCESS_TOKEN","distZipConfig","outFileName","imageOptimizerConfig","versionPluginDefaultTemplate","versionPluginConfig","vitePPDev","isFirstRequest","normalizedAppId","apply","port","validateServerConfig","transformIndexHtml","html","ctx","tag","injectTo","children","Math","random","configureServer","lastIndexOf","middlewares","baseUrlHost","miConfig","cacheConfig","validateProxyCacheConfig","isIndexRegExp","proxyPassMiddleware","sendErrorResponse","details","handleTokenValidationError","enhancedErrorInfo","errorCode","Authorization","user","user_id","Token","users","backupDir"],"mappings":"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"}
|
package/dist/esm/plugin.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{v as default,n as normalizeVitePPDevConfig,v as vitePPDev}from"./plugin-
|
|
1
|
+
export{v as default,n as normalizeVitePPDevConfig,v as vitePPDev}from"./plugin-B6DaUVqp.js";import"http-proxy-middleware";import"url";import"vite";import"picocolors";import"axios";import"node:http";import"node:https";import"jsdom";import"path";import"fs";import"crypto";import"process";import"child_process";import"console";import"os";import"extract-zip";import"memory-cache";import"zlib";import"express";
|
|
2
2
|
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createHash as e}from"crypto";import{execSync as t}from"child_process";import{statSync as r,writeFileSync as n,readdirSync as i,readFileSync as o}from"fs";import s from"path";import{fileURLToPath as c}from"url";const a="BUILD-MANIFEST.json";function p(e,t,r=new Set){const n=i(e,{withFileTypes:!0}),o=[];for(const i of n){const n=s.join(e,i.name),c=s.relative(t,n).replace(/\\/g,"/");i.isDirectory()?o.push(...p(n,t,r)):i.isFile()&&!r.has(c)&&o.push(n)}return o}function u(t){const r=o(t);return e("sha256").update(r).digest("hex")}function f(e){return e.replace(/^([a-z][a-z\d+.-]*:\/\/)(?:[^/?#@]+(?::[^/?#@]*)?@)/i,"$1")}function l(e){const t=e.trim().replace(/^git\+/,"").replace(/\.git$/i,""),r=t.match(/^([^@]+)@([^:]+):(.+)$/);if(r){const[,,e,t]=r;return f(`https://${e}/${t.replace(/^\/+/,"")}`)}const n=t.match(/^ssh:\/\/(?:[^@]+@)?([^/:]+)(?::\d+)?\/(.+)$/i);if(n){const[,e,t]=n;return f(`https://${e}/${t.replace(/^\/+/,"")}`)}const i=t.match(/^git:\/\/([^/]+)\/(.+)$/i);if(i){const[,e,t]=i;return f(`https://${e}/${t.replace(/^\/+/,"")}`)}return f(t)}function m(i){return{name:"pp-dev-version",apply:"build",enforce:"post",closeBundle(){if(!1===i.enabled)return;const{outDir:f,versionFileTemplate:m,packageVersion:g}=i,h=s.resolve(process.cwd(),f);if(!r(h,{throwIfNoEntry:!1})?.isDirectory())return;const d=(new Date).toISOString(),v=m??"VERSION-v{packageversion}-{currentDate}.json",E=function(e,t,r){return e.replace(/\{packageversion\}/g,t).replace(/\{currentDate\}/g,r)}(v,g,d.replace(/:/g,"-")),y=p(h,h,new Set([E,a])),N={};for(const e of y){N[s.relative(h,e).replace(/\\/g,"/")]=u(e)}const I=function(t){const r=Object.keys(t).sort().map(e=>t[e]).join("");return e("sha256").update(r).digest("hex")}(N),R=function(t){const r=Object.keys(t).sort().map(e=>`${e}:${t[e]}`).join("\n");return e("sha256").update(r,"utf-8").digest("hex")}(N),_=function(){const e=c(import.meta.url);let t=s.dirname(e);for(;;){const e=s.join(t,"package.json"),n=r(e,{throwIfNoEntry:!1});if(n?.isFile())try{const t=JSON.parse(o(e,"utf-8"));if("string"==typeof t.version)return t.version}catch{}const i=s.dirname(t);if(i===t)return"unknown";t=i}}(),A=function(e){if("string"==typeof e&&e.trim())return e.trim();const r=["GITHUB_HEAD_REF","GITHUB_REF_NAME","CI_COMMIT_REF_NAME","BITBUCKET_BRANCH","BUILD_SOURCEBRANCHNAME","BRANCH_NAME","TRAVIS_BRANCH","CIRCLE_BRANCH","BUILDKITE_BRANCH","VERCEL_GIT_COMMIT_REF"];for(const e of r){const t=process.env[e];if("string"==typeof t&&t.trim())return t.trim()}try{const e=t("git rev-parse --abbrev-ref HEAD",{encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim();if(e&&"HEAD"!==e)return e}catch{}}(i.packageBranchName),B={schemaVersion:1,version:`v${g}`,date:d,checksum:I,files:N,repositoryUrl:i.packageRepositoryUrl?l(i.packageRepositoryUrl):void 0,branchName:A,helperVersion:_},C=s.join(h,E),F=s.join(h,a),T={schemaVersion:1,manifestType:"pp-dev-build-manifest",generatedAt:d,versionFile:E,versionFileTemplate:v,versionFileSchemaVersion:1,buildFingerprint:R,compat:{versionFileRequired:!0}};n(C,JSON.stringify(B,null,2),"utf-8"),n(F,JSON.stringify(T,null,2),"utf-8")}}}export{m as versionPlugin};
|
|
2
|
+
//# sourceMappingURL=version-plugin-DekxT1OJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-plugin-DekxT1OJ.js","sources":["../../../src/plugins/version-plugin.ts"],"sourcesContent":[null],"names":["BUILD_MANIFEST_FILE_NAME","walkDir","dir","baseDir","excludeFiles","Set","entries","readdirSync","withFileTypes","files","entry","fullPath","path","join","name","relativePath","relative","replace","isDirectory","push","isFile","has","sha256OfContent","filePath","content","readFileSync","createHash","update","digest","stripUrlUserInfo","value","normalizeRepositoryUrl","url","normalizedUrl","trim","scpLikeMatch","match","host","repositoryPath","sshProtocolMatch","gitProtocolMatch","versionPlugin","config","apply","enforce","closeBundle","enabled","outDir","versionFileTemplate","packageVersion","outDirResolved","resolve","process","cwd","statSync","throwIfNoEntry","manifestDate","Date","toISOString","resolvedVersionFileTemplate","versionFileName","template","currentDate","resolveVersionFileName","allPaths","checksum","hashesConcatenated","Object","keys","sort","map","p","computeChecksum","buildFingerprint","normalizedEntries","computeBuildFingerprint","helperVersion","modulePath","fileURLToPath","currentDir","dirname","packageJsonPath","packageStat","packageJson","JSON","parse","version","parentDir","resolveHelperVersion","branchName","configBranchName","ciBranchEnvVars","variableName","env","currentBranchName","execSync","encoding","stdio","resolveBranchName","packageBranchName","manifest","schemaVersion","date","repositoryUrl","packageRepositoryUrl","undefined","manifestPath","buildManifestPath","buildManifest","manifestType","generatedAt","versionFile","versionFileSchemaVersion","compat","versionFileRequired","writeFileSync","stringify"],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { InlineConfig } from 'vite';
|
|
2
2
|
import { ViteImageOptimizer } from 'vite-plugin-image-optimizer';
|
|
3
3
|
import next, { NextConfig } from 'next';
|
|
4
|
+
import * as nextConstants from 'next/constants';
|
|
4
5
|
|
|
5
6
|
type RequiredSelection<T, K extends keyof T> = Required<Pick<T, K>> & Omit<T, K>;
|
|
6
7
|
interface DistZipOptions {
|
|
@@ -153,211 +154,6 @@ type PPWatchConfig = {
|
|
|
153
154
|
portalPageId: number;
|
|
154
155
|
};
|
|
155
156
|
|
|
156
|
-
declare const MODERN_BROWSERSLIST_TARGET: Array<string>
|
|
157
|
-
|
|
158
|
-
declare const UNDERSCORE_NOT_FOUND_ROUTE = "/_not-found";
|
|
159
|
-
declare const UNDERSCORE_NOT_FOUND_ROUTE_ENTRY = "/_not-found/page";
|
|
160
|
-
declare const UNDERSCORE_GLOBAL_ERROR_ROUTE = "/_global-error";
|
|
161
|
-
declare const UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY = "/_global-error/page";
|
|
162
|
-
|
|
163
|
-
type ValueOf<T> = Required<T>[keyof T];
|
|
164
|
-
declare const COMPILER_NAMES: {
|
|
165
|
-
readonly client: "client";
|
|
166
|
-
readonly server: "server";
|
|
167
|
-
readonly edgeServer: "edge-server";
|
|
168
|
-
};
|
|
169
|
-
type CompilerNameValues = ValueOf<typeof COMPILER_NAMES>;
|
|
170
|
-
declare const COMPILER_INDEXES: {
|
|
171
|
-
[compilerKey in CompilerNameValues]: number;
|
|
172
|
-
};
|
|
173
|
-
|
|
174
|
-
declare enum AdapterOutputType {
|
|
175
|
-
/**
|
|
176
|
-
* `PAGES` represents all the React pages that are under `pages/`.
|
|
177
|
-
*/
|
|
178
|
-
PAGES = "PAGES",
|
|
179
|
-
/**
|
|
180
|
-
* `PAGES_API` represents all the API routes under `pages/api/`.
|
|
181
|
-
*/
|
|
182
|
-
PAGES_API = "PAGES_API",
|
|
183
|
-
/**
|
|
184
|
-
* `APP_PAGE` represents all the React pages that are under `app/` with the
|
|
185
|
-
* filename of `page.{j,t}s{,x}`.
|
|
186
|
-
*/
|
|
187
|
-
APP_PAGE = "APP_PAGE",
|
|
188
|
-
/**
|
|
189
|
-
* `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the
|
|
190
|
-
* filename of `route.{j,t}s{,x}`.
|
|
191
|
-
*/
|
|
192
|
-
APP_ROUTE = "APP_ROUTE",
|
|
193
|
-
/**
|
|
194
|
-
* `PRERENDER` represents an ISR enabled route that might
|
|
195
|
-
* have a seeded cache entry or fallback generated during build
|
|
196
|
-
*/
|
|
197
|
-
PRERENDER = "PRERENDER",
|
|
198
|
-
/**
|
|
199
|
-
* `STATIC_FILE` represents a static file (ie /_next/static)
|
|
200
|
-
*/
|
|
201
|
-
STATIC_FILE = "STATIC_FILE",
|
|
202
|
-
/**
|
|
203
|
-
* `MIDDLEWARE` represents the middleware output if present
|
|
204
|
-
*/
|
|
205
|
-
MIDDLEWARE = "MIDDLEWARE"
|
|
206
|
-
}
|
|
207
|
-
declare const PHASE_EXPORT = "phase-export";
|
|
208
|
-
declare const PHASE_ANALYZE = "phase-analyze";
|
|
209
|
-
declare const PHASE_PRODUCTION_BUILD = "phase-production-build";
|
|
210
|
-
declare const PHASE_PRODUCTION_SERVER = "phase-production-server";
|
|
211
|
-
declare const PHASE_DEVELOPMENT_SERVER = "phase-development-server";
|
|
212
|
-
declare const PHASE_TEST = "phase-test";
|
|
213
|
-
declare const PHASE_INFO = "phase-info";
|
|
214
|
-
type PHASE_TYPE = typeof PHASE_INFO | typeof PHASE_TEST | typeof PHASE_EXPORT | typeof PHASE_ANALYZE | typeof PHASE_PRODUCTION_BUILD | typeof PHASE_PRODUCTION_SERVER | typeof PHASE_DEVELOPMENT_SERVER;
|
|
215
|
-
declare const PAGES_MANIFEST = "pages-manifest.json";
|
|
216
|
-
declare const APP_PATHS_MANIFEST = "app-paths-manifest.json";
|
|
217
|
-
declare const APP_PATH_ROUTES_MANIFEST = "app-path-routes-manifest.json";
|
|
218
|
-
declare const BUILD_MANIFEST = "build-manifest.json";
|
|
219
|
-
declare const FUNCTIONS_CONFIG_MANIFEST = "functions-config-manifest.json";
|
|
220
|
-
declare const SUBRESOURCE_INTEGRITY_MANIFEST = "subresource-integrity-manifest";
|
|
221
|
-
declare const NEXT_FONT_MANIFEST = "next-font-manifest";
|
|
222
|
-
declare const EXPORT_MARKER = "export-marker.json";
|
|
223
|
-
declare const EXPORT_DETAIL = "export-detail.json";
|
|
224
|
-
declare const PRERENDER_MANIFEST = "prerender-manifest.json";
|
|
225
|
-
declare const PREFETCH_HINTS = "prefetch-hints.json";
|
|
226
|
-
declare const ROUTES_MANIFEST = "routes-manifest.json";
|
|
227
|
-
declare const IMAGES_MANIFEST = "images-manifest.json";
|
|
228
|
-
declare const SERVER_FILES_MANIFEST = "required-server-files";
|
|
229
|
-
declare const DEV_CLIENT_PAGES_MANIFEST = "_devPagesManifest.json";
|
|
230
|
-
declare const MIDDLEWARE_MANIFEST = "middleware-manifest.json";
|
|
231
|
-
declare const TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST = "_clientMiddlewareManifest.js";
|
|
232
|
-
declare const TURBOPACK_CLIENT_BUILD_MANIFEST = "client-build-manifest.json";
|
|
233
|
-
declare const DEV_CLIENT_MIDDLEWARE_MANIFEST = "_devMiddlewareManifest.json";
|
|
234
|
-
declare const REACT_LOADABLE_MANIFEST = "react-loadable-manifest.json";
|
|
235
|
-
declare const SERVER_DIRECTORY = "server";
|
|
236
|
-
declare const CONFIG_FILES: string[];
|
|
237
|
-
declare const BUILD_ID_FILE = "BUILD_ID";
|
|
238
|
-
declare const BLOCKED_PAGES: string[];
|
|
239
|
-
declare const CLIENT_PUBLIC_FILES_PATH = "public";
|
|
240
|
-
declare const CLIENT_STATIC_FILES_PATH = "static";
|
|
241
|
-
declare const STRING_LITERAL_DROP_BUNDLE = "__NEXT_DROP_CLIENT_FILE__";
|
|
242
|
-
declare const NEXT_BUILTIN_DOCUMENT = "__NEXT_BUILTIN_DOCUMENT__";
|
|
243
|
-
declare const BARREL_OPTIMIZATION_PREFIX = "__barrel_optimize__";
|
|
244
|
-
declare const CLIENT_REFERENCE_MANIFEST = "client-reference-manifest";
|
|
245
|
-
declare const SERVER_REFERENCE_MANIFEST = "server-reference-manifest";
|
|
246
|
-
declare const MIDDLEWARE_BUILD_MANIFEST = "middleware-build-manifest";
|
|
247
|
-
declare const MIDDLEWARE_REACT_LOADABLE_MANIFEST = "middleware-react-loadable-manifest";
|
|
248
|
-
declare const INTERCEPTION_ROUTE_REWRITE_MANIFEST = "interception-route-rewrite-manifest";
|
|
249
|
-
declare const DYNAMIC_CSS_MANIFEST = "dynamic-css-manifest";
|
|
250
|
-
declare const CLIENT_STATIC_FILES_RUNTIME_MAIN = "main";
|
|
251
|
-
declare const CLIENT_STATIC_FILES_RUNTIME_MAIN_APP = "main-app";
|
|
252
|
-
declare const APP_CLIENT_INTERNALS = "app-pages-internals";
|
|
253
|
-
declare const CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH = "react-refresh";
|
|
254
|
-
declare const CLIENT_STATIC_FILES_RUNTIME_WEBPACK = "webpack";
|
|
255
|
-
declare const CLIENT_STATIC_FILES_RUNTIME_POLYFILLS = "polyfills";
|
|
256
|
-
declare const CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL: unique symbol;
|
|
257
|
-
declare const DEFAULT_RUNTIME_WEBPACK = "webpack-runtime";
|
|
258
|
-
declare const EDGE_RUNTIME_WEBPACK = "edge-runtime-webpack";
|
|
259
|
-
declare const STATIC_PROPS_ID = "__N_SSG";
|
|
260
|
-
declare const SERVER_PROPS_ID = "__N_SSP";
|
|
261
|
-
declare const DEFAULT_SERIF_FONT: {
|
|
262
|
-
name: string;
|
|
263
|
-
xAvgCharWidth: number;
|
|
264
|
-
azAvgWidth: number;
|
|
265
|
-
unitsPerEm: number;
|
|
266
|
-
};
|
|
267
|
-
declare const DEFAULT_SANS_SERIF_FONT: {
|
|
268
|
-
name: string;
|
|
269
|
-
xAvgCharWidth: number;
|
|
270
|
-
azAvgWidth: number;
|
|
271
|
-
unitsPerEm: number;
|
|
272
|
-
};
|
|
273
|
-
declare const STATIC_STATUS_PAGES: string[];
|
|
274
|
-
declare const TRACE_OUTPUT_VERSION = 1;
|
|
275
|
-
declare const TURBO_TRACE_DEFAULT_MEMORY_LIMIT = 6000;
|
|
276
|
-
declare const RSC_MODULE_TYPES: {
|
|
277
|
-
readonly client: "client";
|
|
278
|
-
readonly server: "server";
|
|
279
|
-
};
|
|
280
|
-
declare const EDGE_UNSUPPORTED_NODE_APIS: string[];
|
|
281
|
-
declare const SYSTEM_ENTRYPOINTS: Set<string>;
|
|
282
|
-
|
|
283
|
-
declare const nextConstants_APP_CLIENT_INTERNALS: typeof APP_CLIENT_INTERNALS;
|
|
284
|
-
declare const nextConstants_APP_PATHS_MANIFEST: typeof APP_PATHS_MANIFEST;
|
|
285
|
-
declare const nextConstants_APP_PATH_ROUTES_MANIFEST: typeof APP_PATH_ROUTES_MANIFEST;
|
|
286
|
-
type nextConstants_AdapterOutputType = AdapterOutputType;
|
|
287
|
-
declare const nextConstants_AdapterOutputType: typeof AdapterOutputType;
|
|
288
|
-
declare const nextConstants_BARREL_OPTIMIZATION_PREFIX: typeof BARREL_OPTIMIZATION_PREFIX;
|
|
289
|
-
declare const nextConstants_BLOCKED_PAGES: typeof BLOCKED_PAGES;
|
|
290
|
-
declare const nextConstants_BUILD_ID_FILE: typeof BUILD_ID_FILE;
|
|
291
|
-
declare const nextConstants_BUILD_MANIFEST: typeof BUILD_MANIFEST;
|
|
292
|
-
declare const nextConstants_CLIENT_PUBLIC_FILES_PATH: typeof CLIENT_PUBLIC_FILES_PATH;
|
|
293
|
-
declare const nextConstants_CLIENT_REFERENCE_MANIFEST: typeof CLIENT_REFERENCE_MANIFEST;
|
|
294
|
-
declare const nextConstants_CLIENT_STATIC_FILES_PATH: typeof CLIENT_STATIC_FILES_PATH;
|
|
295
|
-
declare const nextConstants_CLIENT_STATIC_FILES_RUNTIME_MAIN: typeof CLIENT_STATIC_FILES_RUNTIME_MAIN;
|
|
296
|
-
declare const nextConstants_CLIENT_STATIC_FILES_RUNTIME_MAIN_APP: typeof CLIENT_STATIC_FILES_RUNTIME_MAIN_APP;
|
|
297
|
-
declare const nextConstants_CLIENT_STATIC_FILES_RUNTIME_POLYFILLS: typeof CLIENT_STATIC_FILES_RUNTIME_POLYFILLS;
|
|
298
|
-
declare const nextConstants_CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL: typeof CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL;
|
|
299
|
-
declare const nextConstants_CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH: typeof CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH;
|
|
300
|
-
declare const nextConstants_CLIENT_STATIC_FILES_RUNTIME_WEBPACK: typeof CLIENT_STATIC_FILES_RUNTIME_WEBPACK;
|
|
301
|
-
declare const nextConstants_COMPILER_INDEXES: typeof COMPILER_INDEXES;
|
|
302
|
-
declare const nextConstants_COMPILER_NAMES: typeof COMPILER_NAMES;
|
|
303
|
-
declare const nextConstants_CONFIG_FILES: typeof CONFIG_FILES;
|
|
304
|
-
type nextConstants_CompilerNameValues = CompilerNameValues;
|
|
305
|
-
declare const nextConstants_DEFAULT_RUNTIME_WEBPACK: typeof DEFAULT_RUNTIME_WEBPACK;
|
|
306
|
-
declare const nextConstants_DEFAULT_SANS_SERIF_FONT: typeof DEFAULT_SANS_SERIF_FONT;
|
|
307
|
-
declare const nextConstants_DEFAULT_SERIF_FONT: typeof DEFAULT_SERIF_FONT;
|
|
308
|
-
declare const nextConstants_DEV_CLIENT_MIDDLEWARE_MANIFEST: typeof DEV_CLIENT_MIDDLEWARE_MANIFEST;
|
|
309
|
-
declare const nextConstants_DEV_CLIENT_PAGES_MANIFEST: typeof DEV_CLIENT_PAGES_MANIFEST;
|
|
310
|
-
declare const nextConstants_DYNAMIC_CSS_MANIFEST: typeof DYNAMIC_CSS_MANIFEST;
|
|
311
|
-
declare const nextConstants_EDGE_RUNTIME_WEBPACK: typeof EDGE_RUNTIME_WEBPACK;
|
|
312
|
-
declare const nextConstants_EDGE_UNSUPPORTED_NODE_APIS: typeof EDGE_UNSUPPORTED_NODE_APIS;
|
|
313
|
-
declare const nextConstants_EXPORT_DETAIL: typeof EXPORT_DETAIL;
|
|
314
|
-
declare const nextConstants_EXPORT_MARKER: typeof EXPORT_MARKER;
|
|
315
|
-
declare const nextConstants_FUNCTIONS_CONFIG_MANIFEST: typeof FUNCTIONS_CONFIG_MANIFEST;
|
|
316
|
-
declare const nextConstants_IMAGES_MANIFEST: typeof IMAGES_MANIFEST;
|
|
317
|
-
declare const nextConstants_INTERCEPTION_ROUTE_REWRITE_MANIFEST: typeof INTERCEPTION_ROUTE_REWRITE_MANIFEST;
|
|
318
|
-
declare const nextConstants_MIDDLEWARE_BUILD_MANIFEST: typeof MIDDLEWARE_BUILD_MANIFEST;
|
|
319
|
-
declare const nextConstants_MIDDLEWARE_MANIFEST: typeof MIDDLEWARE_MANIFEST;
|
|
320
|
-
declare const nextConstants_MIDDLEWARE_REACT_LOADABLE_MANIFEST: typeof MIDDLEWARE_REACT_LOADABLE_MANIFEST;
|
|
321
|
-
declare const nextConstants_MODERN_BROWSERSLIST_TARGET: typeof MODERN_BROWSERSLIST_TARGET;
|
|
322
|
-
declare const nextConstants_NEXT_BUILTIN_DOCUMENT: typeof NEXT_BUILTIN_DOCUMENT;
|
|
323
|
-
declare const nextConstants_NEXT_FONT_MANIFEST: typeof NEXT_FONT_MANIFEST;
|
|
324
|
-
declare const nextConstants_PAGES_MANIFEST: typeof PAGES_MANIFEST;
|
|
325
|
-
declare const nextConstants_PHASE_ANALYZE: typeof PHASE_ANALYZE;
|
|
326
|
-
declare const nextConstants_PHASE_DEVELOPMENT_SERVER: typeof PHASE_DEVELOPMENT_SERVER;
|
|
327
|
-
declare const nextConstants_PHASE_EXPORT: typeof PHASE_EXPORT;
|
|
328
|
-
declare const nextConstants_PHASE_INFO: typeof PHASE_INFO;
|
|
329
|
-
declare const nextConstants_PHASE_PRODUCTION_BUILD: typeof PHASE_PRODUCTION_BUILD;
|
|
330
|
-
declare const nextConstants_PHASE_PRODUCTION_SERVER: typeof PHASE_PRODUCTION_SERVER;
|
|
331
|
-
declare const nextConstants_PHASE_TEST: typeof PHASE_TEST;
|
|
332
|
-
type nextConstants_PHASE_TYPE = PHASE_TYPE;
|
|
333
|
-
declare const nextConstants_PREFETCH_HINTS: typeof PREFETCH_HINTS;
|
|
334
|
-
declare const nextConstants_PRERENDER_MANIFEST: typeof PRERENDER_MANIFEST;
|
|
335
|
-
declare const nextConstants_REACT_LOADABLE_MANIFEST: typeof REACT_LOADABLE_MANIFEST;
|
|
336
|
-
declare const nextConstants_ROUTES_MANIFEST: typeof ROUTES_MANIFEST;
|
|
337
|
-
declare const nextConstants_RSC_MODULE_TYPES: typeof RSC_MODULE_TYPES;
|
|
338
|
-
declare const nextConstants_SERVER_DIRECTORY: typeof SERVER_DIRECTORY;
|
|
339
|
-
declare const nextConstants_SERVER_FILES_MANIFEST: typeof SERVER_FILES_MANIFEST;
|
|
340
|
-
declare const nextConstants_SERVER_PROPS_ID: typeof SERVER_PROPS_ID;
|
|
341
|
-
declare const nextConstants_SERVER_REFERENCE_MANIFEST: typeof SERVER_REFERENCE_MANIFEST;
|
|
342
|
-
declare const nextConstants_STATIC_PROPS_ID: typeof STATIC_PROPS_ID;
|
|
343
|
-
declare const nextConstants_STATIC_STATUS_PAGES: typeof STATIC_STATUS_PAGES;
|
|
344
|
-
declare const nextConstants_STRING_LITERAL_DROP_BUNDLE: typeof STRING_LITERAL_DROP_BUNDLE;
|
|
345
|
-
declare const nextConstants_SUBRESOURCE_INTEGRITY_MANIFEST: typeof SUBRESOURCE_INTEGRITY_MANIFEST;
|
|
346
|
-
declare const nextConstants_SYSTEM_ENTRYPOINTS: typeof SYSTEM_ENTRYPOINTS;
|
|
347
|
-
declare const nextConstants_TRACE_OUTPUT_VERSION: typeof TRACE_OUTPUT_VERSION;
|
|
348
|
-
declare const nextConstants_TURBOPACK_CLIENT_BUILD_MANIFEST: typeof TURBOPACK_CLIENT_BUILD_MANIFEST;
|
|
349
|
-
declare const nextConstants_TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST: typeof TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST;
|
|
350
|
-
declare const nextConstants_TURBO_TRACE_DEFAULT_MEMORY_LIMIT: typeof TURBO_TRACE_DEFAULT_MEMORY_LIMIT;
|
|
351
|
-
declare const nextConstants_UNDERSCORE_GLOBAL_ERROR_ROUTE: typeof UNDERSCORE_GLOBAL_ERROR_ROUTE;
|
|
352
|
-
declare const nextConstants_UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY: typeof UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY;
|
|
353
|
-
declare const nextConstants_UNDERSCORE_NOT_FOUND_ROUTE: typeof UNDERSCORE_NOT_FOUND_ROUTE;
|
|
354
|
-
declare const nextConstants_UNDERSCORE_NOT_FOUND_ROUTE_ENTRY: typeof UNDERSCORE_NOT_FOUND_ROUTE_ENTRY;
|
|
355
|
-
type nextConstants_ValueOf<T> = ValueOf<T>;
|
|
356
|
-
declare namespace nextConstants {
|
|
357
|
-
export { nextConstants_APP_CLIENT_INTERNALS as APP_CLIENT_INTERNALS, nextConstants_APP_PATHS_MANIFEST as APP_PATHS_MANIFEST, nextConstants_APP_PATH_ROUTES_MANIFEST as APP_PATH_ROUTES_MANIFEST, nextConstants_AdapterOutputType as AdapterOutputType, nextConstants_BARREL_OPTIMIZATION_PREFIX as BARREL_OPTIMIZATION_PREFIX, nextConstants_BLOCKED_PAGES as BLOCKED_PAGES, nextConstants_BUILD_ID_FILE as BUILD_ID_FILE, nextConstants_BUILD_MANIFEST as BUILD_MANIFEST, nextConstants_CLIENT_PUBLIC_FILES_PATH as CLIENT_PUBLIC_FILES_PATH, nextConstants_CLIENT_REFERENCE_MANIFEST as CLIENT_REFERENCE_MANIFEST, nextConstants_CLIENT_STATIC_FILES_PATH as CLIENT_STATIC_FILES_PATH, nextConstants_CLIENT_STATIC_FILES_RUNTIME_MAIN as CLIENT_STATIC_FILES_RUNTIME_MAIN, nextConstants_CLIENT_STATIC_FILES_RUNTIME_MAIN_APP as CLIENT_STATIC_FILES_RUNTIME_MAIN_APP, nextConstants_CLIENT_STATIC_FILES_RUNTIME_POLYFILLS as CLIENT_STATIC_FILES_RUNTIME_POLYFILLS, nextConstants_CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL as CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL, nextConstants_CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH as CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH, nextConstants_CLIENT_STATIC_FILES_RUNTIME_WEBPACK as CLIENT_STATIC_FILES_RUNTIME_WEBPACK, nextConstants_COMPILER_INDEXES as COMPILER_INDEXES, nextConstants_COMPILER_NAMES as COMPILER_NAMES, nextConstants_CONFIG_FILES as CONFIG_FILES, nextConstants_DEFAULT_RUNTIME_WEBPACK as DEFAULT_RUNTIME_WEBPACK, nextConstants_DEFAULT_SANS_SERIF_FONT as DEFAULT_SANS_SERIF_FONT, nextConstants_DEFAULT_SERIF_FONT as DEFAULT_SERIF_FONT, nextConstants_DEV_CLIENT_MIDDLEWARE_MANIFEST as DEV_CLIENT_MIDDLEWARE_MANIFEST, nextConstants_DEV_CLIENT_PAGES_MANIFEST as DEV_CLIENT_PAGES_MANIFEST, nextConstants_DYNAMIC_CSS_MANIFEST as DYNAMIC_CSS_MANIFEST, nextConstants_EDGE_RUNTIME_WEBPACK as EDGE_RUNTIME_WEBPACK, nextConstants_EDGE_UNSUPPORTED_NODE_APIS as EDGE_UNSUPPORTED_NODE_APIS, nextConstants_EXPORT_DETAIL as EXPORT_DETAIL, nextConstants_EXPORT_MARKER as EXPORT_MARKER, nextConstants_FUNCTIONS_CONFIG_MANIFEST as FUNCTIONS_CONFIG_MANIFEST, nextConstants_IMAGES_MANIFEST as IMAGES_MANIFEST, nextConstants_INTERCEPTION_ROUTE_REWRITE_MANIFEST as INTERCEPTION_ROUTE_REWRITE_MANIFEST, nextConstants_MIDDLEWARE_BUILD_MANIFEST as MIDDLEWARE_BUILD_MANIFEST, nextConstants_MIDDLEWARE_MANIFEST as MIDDLEWARE_MANIFEST, nextConstants_MIDDLEWARE_REACT_LOADABLE_MANIFEST as MIDDLEWARE_REACT_LOADABLE_MANIFEST, nextConstants_MODERN_BROWSERSLIST_TARGET as MODERN_BROWSERSLIST_TARGET, nextConstants_NEXT_BUILTIN_DOCUMENT as NEXT_BUILTIN_DOCUMENT, nextConstants_NEXT_FONT_MANIFEST as NEXT_FONT_MANIFEST, nextConstants_PAGES_MANIFEST as PAGES_MANIFEST, nextConstants_PHASE_ANALYZE as PHASE_ANALYZE, nextConstants_PHASE_DEVELOPMENT_SERVER as PHASE_DEVELOPMENT_SERVER, nextConstants_PHASE_EXPORT as PHASE_EXPORT, nextConstants_PHASE_INFO as PHASE_INFO, nextConstants_PHASE_PRODUCTION_BUILD as PHASE_PRODUCTION_BUILD, nextConstants_PHASE_PRODUCTION_SERVER as PHASE_PRODUCTION_SERVER, nextConstants_PHASE_TEST as PHASE_TEST, nextConstants_PREFETCH_HINTS as PREFETCH_HINTS, nextConstants_PRERENDER_MANIFEST as PRERENDER_MANIFEST, nextConstants_REACT_LOADABLE_MANIFEST as REACT_LOADABLE_MANIFEST, nextConstants_ROUTES_MANIFEST as ROUTES_MANIFEST, nextConstants_RSC_MODULE_TYPES as RSC_MODULE_TYPES, nextConstants_SERVER_DIRECTORY as SERVER_DIRECTORY, nextConstants_SERVER_FILES_MANIFEST as SERVER_FILES_MANIFEST, nextConstants_SERVER_PROPS_ID as SERVER_PROPS_ID, nextConstants_SERVER_REFERENCE_MANIFEST as SERVER_REFERENCE_MANIFEST, nextConstants_STATIC_PROPS_ID as STATIC_PROPS_ID, nextConstants_STATIC_STATUS_PAGES as STATIC_STATUS_PAGES, nextConstants_STRING_LITERAL_DROP_BUNDLE as STRING_LITERAL_DROP_BUNDLE, nextConstants_SUBRESOURCE_INTEGRITY_MANIFEST as SUBRESOURCE_INTEGRITY_MANIFEST, nextConstants_SYSTEM_ENTRYPOINTS as SYSTEM_ENTRYPOINTS, nextConstants_TRACE_OUTPUT_VERSION as TRACE_OUTPUT_VERSION, nextConstants_TURBOPACK_CLIENT_BUILD_MANIFEST as TURBOPACK_CLIENT_BUILD_MANIFEST, nextConstants_TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST as TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST, nextConstants_TURBO_TRACE_DEFAULT_MEMORY_LIMIT as TURBO_TRACE_DEFAULT_MEMORY_LIMIT, nextConstants_UNDERSCORE_GLOBAL_ERROR_ROUTE as UNDERSCORE_GLOBAL_ERROR_ROUTE, nextConstants_UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY as UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY, nextConstants_UNDERSCORE_NOT_FOUND_ROUTE as UNDERSCORE_NOT_FOUND_ROUTE, nextConstants_UNDERSCORE_NOT_FOUND_ROUTE_ENTRY as UNDERSCORE_NOT_FOUND_ROUTE_ENTRY };
|
|
358
|
-
export type { nextConstants_CompilerNameValues as CompilerNameValues, nextConstants_PHASE_TYPE as PHASE_TYPE, nextConstants_ValueOf as ValueOf };
|
|
359
|
-
}
|
|
360
|
-
|
|
361
157
|
/**
|
|
362
158
|
* Safe Next.js import utility
|
|
363
159
|
* Handles peer dependency availability and provides helpful error messages
|