@accelerated-agency/visual-editor 0.1.9 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1882,7 +1882,7 @@ function IframeCanvas({ url, password, proxyBaseUrl = "", onBridgeReady, onPong
1882
1882
  if (url.toLowerCase() === "test") {
1883
1883
  resolvedUrl = "/test";
1884
1884
  } else if (url.startsWith("http")) {
1885
- resolvedUrl = `${proxyBaseUrl}/api/proxy?password=${encodeURIComponent(password || "")}&url=${encodeURIComponent(url)}`;
1885
+ resolvedUrl = `${proxyBaseUrl}/api/conversion-proxy?password=${encodeURIComponent(password || "")}&url=${encodeURIComponent(url)}`;
1886
1886
  } else {
1887
1887
  resolvedUrl = url;
1888
1888
  }
package/dist/vite.cjs CHANGED
@@ -1021,7 +1021,7 @@ function handleLoadExperiment(data) {
1021
1021
  var urlBar = document.getElementById('url-bar');
1022
1022
  urlBar.textContent = pageUrl;
1023
1023
  urlBar.title = pageUrl;
1024
- var proxyUrl = '/api/proxy?password=' + encodeURIComponent(data.editorPassword || '') +
1024
+ var proxyUrl = '/api/conversion-proxy?password=' + encodeURIComponent(data.editorPassword || '') +
1025
1025
  '&url=' + encodeURIComponent(pageUrl);
1026
1026
  loadPage(proxyUrl);
1027
1027
  }
@@ -1919,8 +1919,8 @@ function createVisualEditorMiddleware(options) {
1919
1919
  }
1920
1920
  return;
1921
1921
  }
1922
- const isRootProxyPath = pathname === "/api/proxy" || pathname.startsWith("/api/proxy/");
1923
- if (!isRootProxyPath && pathname.includes("api/proxy")) {
1922
+ const isRootProxyPath = pathname === "/api/conversion-proxy" || pathname.startsWith("/api/conversion-proxy/");
1923
+ if (!isRootProxyPath && pathname.includes("api/conversion-proxy")) {
1924
1924
  if ((req.method || "GET").toUpperCase() === "OPTIONS") {
1925
1925
  res.statusCode = 204;
1926
1926
  res.setHeader("Access-Control-Allow-Origin", "*");
@@ -1937,6 +1937,10 @@ function createVisualEditorMiddleware(options) {
1937
1937
  return;
1938
1938
  }
1939
1939
  if (pathname.startsWith("/api/proxy")) {
1940
+ const rewritten = (req.url || "").replace("/api/proxy", "/api/conversion-proxy");
1941
+ req.url = rewritten;
1942
+ }
1943
+ if (pathname.startsWith("/api/conversion-proxy")) {
1940
1944
  try {
1941
1945
  const url = new URL(req.url || "", "http://localhost");
1942
1946
  const targetUrl = url.searchParams.get("url");
@@ -2025,7 +2029,7 @@ function createVisualEditorMiddleware(options) {
2025
2029
  }
2026
2030
  html = html.replace(/(href|src|action)="\/(?!\/)/g, `$1="${origin}/`);
2027
2031
  const escapedOrigin = origin.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
2028
- const proxyBase = `/api/proxy?password=${encodeURIComponent(password)}&url=`;
2032
+ const proxyBase = `/api/conversion-proxy?password=${encodeURIComponent(password)}&url=`;
2029
2033
  html = html.replace(
2030
2034
  new RegExp(`(href|action)="${escapedOrigin}(/[^"]*)"`, "g"),
2031
2035
  (match, attr, urlPath) => {
@@ -2040,7 +2044,7 @@ function createVisualEditorMiddleware(options) {
2040
2044
  html = html.replace("</head>", `${popupHideCss}
2041
2045
  </head>`);
2042
2046
  }
2043
- const runtimeProxyScript = `<script>(function(){try{var TARGET_ORIGIN=${JSON.stringify(origin)};var TARGET_PAGE_URL=${JSON.stringify(targetUrl)};var EMPTY_JSON_DATA="data:application/json;charset=utf-8,%7B%7D";function isSkippable(raw){if(!raw||typeof raw!=="string")return true;return raw.startsWith("data:")||raw.startsWith("blob:")||raw.startsWith("javascript:")||raw.startsWith("#")||raw.startsWith("http")||raw.startsWith("//");}function toAbsoluteOriginUrl(raw){if(isSkippable(raw))return raw;try{var base=raw.startsWith("/")?TARGET_ORIGIN:TARGET_PAGE_URL;var abs=new URL(raw,base);if(abs.origin!==TARGET_ORIGIN)return raw;return abs.toString();}catch(_){return raw;}}function resolveUrl(s){try{return new URL(s,window.location.href);}catch(_){return null;}}function isNestedMalformedProxy(u){if(!u)return false;var p=u.pathname||"";if(p==="/api/proxy"||p.indexOf("/api/proxy/")===0)return false;return p.indexOf("api/proxy")!==-1;}function skipNestedProxyNetwork(s){var u=typeof s==="string"?resolveUrl(s):null;return u&&isNestedMalformedProxy(u);}function emptyJsonFetchResponse(){return Promise.resolve(new Response("{}",{status:200,headers:{"Content-Type":"application/json; charset=utf-8"}}));}if(window.fetch){var _fetch=window.fetch.bind(window);window.fetch=function(input,init){try{var rawUrl=typeof input==="string"?input:(input&&input.url?String(input.url):"");if(rawUrl&&skipNestedProxyNetwork(rawUrl))return emptyJsonFetchResponse();if(typeof input==="string"){input=toAbsoluteOriginUrl(input);}else if(input&&input.url){var next=toAbsoluteOriginUrl(input.url);if(next!==input.url){input=new Request(next,input);}}var after=typeof input==="string"?input:(input&&input.url?String(input.url):"");if(after&&skipNestedProxyNetwork(after))return emptyJsonFetchResponse();}catch(_){}return _fetch(input,init);};}if(window.XMLHttpRequest&&window.XMLHttpRequest.prototype&&window.XMLHttpRequest.prototype.open){var _open=window.XMLHttpRequest.prototype.open;window.XMLHttpRequest.prototype.open=function(method,url){try{var u=resolveUrl(String(url));if(u&&isNestedMalformedProxy(u)){arguments[1]=EMPTY_JSON_DATA;}else{arguments[1]=toAbsoluteOriginUrl(url);}}catch(_){}return _open.apply(this,arguments);};}if(window.navigator&&window.navigator.serviceWorker&&typeof window.navigator.serviceWorker.register==="function"){window.navigator.serviceWorker.register=function(){return Promise.resolve({scope:"disabled-in-editor-proxy"});};}}catch(_){}})();</script>`;
2047
+ const runtimeProxyScript = `<script>(function(){try{var TARGET_ORIGIN=${JSON.stringify(origin)};var TARGET_PAGE_URL=${JSON.stringify(targetUrl)};var EMPTY_JSON_DATA="data:application/json;charset=utf-8,%7B%7D";function isSkippable(raw){if(!raw||typeof raw!=="string")return true;return raw.startsWith("data:")||raw.startsWith("blob:")||raw.startsWith("javascript:")||raw.startsWith("#")||raw.startsWith("http")||raw.startsWith("//");}function toAbsoluteOriginUrl(raw){if(isSkippable(raw))return raw;try{var base=raw.startsWith("/")?TARGET_ORIGIN:TARGET_PAGE_URL;var abs=new URL(raw,base);if(abs.origin!==TARGET_ORIGIN)return raw;return abs.toString();}catch(_){return raw;}}function resolveUrl(s){try{return new URL(s,window.location.href);}catch(_){return null;}}function isNestedMalformedProxy(u){if(!u)return false;var p=u.pathname||"";if(p==="/api/conversion-proxy"||p.indexOf("/api/conversion-proxy/")===0)return false;return p.indexOf("api/conversion-proxy")!==-1;}function skipNestedProxyNetwork(s){var u=typeof s==="string"?resolveUrl(s):null;return u&&isNestedMalformedProxy(u);}function emptyJsonFetchResponse(){return Promise.resolve(new Response("{}",{status:200,headers:{"Content-Type":"application/json; charset=utf-8"}}));}if(window.fetch){var _fetch=window.fetch.bind(window);window.fetch=function(input,init){try{var rawUrl=typeof input==="string"?input:(input&&input.url?String(input.url):"");if(rawUrl&&skipNestedProxyNetwork(rawUrl))return emptyJsonFetchResponse();if(typeof input==="string"){input=toAbsoluteOriginUrl(input);}else if(input&&input.url){var next=toAbsoluteOriginUrl(input.url);if(next!==input.url){input=new Request(next,input);}}var after=typeof input==="string"?input:(input&&input.url?String(input.url):"");if(after&&skipNestedProxyNetwork(after))return emptyJsonFetchResponse();}catch(_){}return _fetch(input,init);};}if(window.XMLHttpRequest&&window.XMLHttpRequest.prototype&&window.XMLHttpRequest.prototype.open){var _open=window.XMLHttpRequest.prototype.open;window.XMLHttpRequest.prototype.open=function(method,url){try{var u=resolveUrl(String(url));if(u&&isNestedMalformedProxy(u)){arguments[1]=EMPTY_JSON_DATA;}else{arguments[1]=toAbsoluteOriginUrl(url);}}catch(_){}return _open.apply(this,arguments);};}if(window.navigator&&window.navigator.serviceWorker&&typeof window.navigator.serviceWorker.register==="function"){window.navigator.serviceWorker.register=function(){return Promise.resolve({scope:"disabled-in-editor-proxy"});};}}catch(_){}})();</script>`;
2044
2048
  if (html.includes("</head>")) {
2045
2049
  html = html.replace("</head>", `${runtimeProxyScript}
2046
2050
  </head>`);
package/dist/vite.js CHANGED
@@ -1013,7 +1013,7 @@ function handleLoadExperiment(data) {
1013
1013
  var urlBar = document.getElementById('url-bar');
1014
1014
  urlBar.textContent = pageUrl;
1015
1015
  urlBar.title = pageUrl;
1016
- var proxyUrl = '/api/proxy?password=' + encodeURIComponent(data.editorPassword || '') +
1016
+ var proxyUrl = '/api/conversion-proxy?password=' + encodeURIComponent(data.editorPassword || '') +
1017
1017
  '&url=' + encodeURIComponent(pageUrl);
1018
1018
  loadPage(proxyUrl);
1019
1019
  }
@@ -1911,8 +1911,8 @@ function createVisualEditorMiddleware(options) {
1911
1911
  }
1912
1912
  return;
1913
1913
  }
1914
- const isRootProxyPath = pathname === "/api/proxy" || pathname.startsWith("/api/proxy/");
1915
- if (!isRootProxyPath && pathname.includes("api/proxy")) {
1914
+ const isRootProxyPath = pathname === "/api/conversion-proxy" || pathname.startsWith("/api/conversion-proxy/");
1915
+ if (!isRootProxyPath && pathname.includes("api/conversion-proxy")) {
1916
1916
  if ((req.method || "GET").toUpperCase() === "OPTIONS") {
1917
1917
  res.statusCode = 204;
1918
1918
  res.setHeader("Access-Control-Allow-Origin", "*");
@@ -1929,6 +1929,10 @@ function createVisualEditorMiddleware(options) {
1929
1929
  return;
1930
1930
  }
1931
1931
  if (pathname.startsWith("/api/proxy")) {
1932
+ const rewritten = (req.url || "").replace("/api/proxy", "/api/conversion-proxy");
1933
+ req.url = rewritten;
1934
+ }
1935
+ if (pathname.startsWith("/api/conversion-proxy")) {
1932
1936
  try {
1933
1937
  const url = new URL(req.url || "", "http://localhost");
1934
1938
  const targetUrl = url.searchParams.get("url");
@@ -2017,7 +2021,7 @@ function createVisualEditorMiddleware(options) {
2017
2021
  }
2018
2022
  html = html.replace(/(href|src|action)="\/(?!\/)/g, `$1="${origin}/`);
2019
2023
  const escapedOrigin = origin.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
2020
- const proxyBase = `/api/proxy?password=${encodeURIComponent(password)}&url=`;
2024
+ const proxyBase = `/api/conversion-proxy?password=${encodeURIComponent(password)}&url=`;
2021
2025
  html = html.replace(
2022
2026
  new RegExp(`(href|action)="${escapedOrigin}(/[^"]*)"`, "g"),
2023
2027
  (match, attr, urlPath) => {
@@ -2032,7 +2036,7 @@ function createVisualEditorMiddleware(options) {
2032
2036
  html = html.replace("</head>", `${popupHideCss}
2033
2037
  </head>`);
2034
2038
  }
2035
- const runtimeProxyScript = `<script>(function(){try{var TARGET_ORIGIN=${JSON.stringify(origin)};var TARGET_PAGE_URL=${JSON.stringify(targetUrl)};var EMPTY_JSON_DATA="data:application/json;charset=utf-8,%7B%7D";function isSkippable(raw){if(!raw||typeof raw!=="string")return true;return raw.startsWith("data:")||raw.startsWith("blob:")||raw.startsWith("javascript:")||raw.startsWith("#")||raw.startsWith("http")||raw.startsWith("//");}function toAbsoluteOriginUrl(raw){if(isSkippable(raw))return raw;try{var base=raw.startsWith("/")?TARGET_ORIGIN:TARGET_PAGE_URL;var abs=new URL(raw,base);if(abs.origin!==TARGET_ORIGIN)return raw;return abs.toString();}catch(_){return raw;}}function resolveUrl(s){try{return new URL(s,window.location.href);}catch(_){return null;}}function isNestedMalformedProxy(u){if(!u)return false;var p=u.pathname||"";if(p==="/api/proxy"||p.indexOf("/api/proxy/")===0)return false;return p.indexOf("api/proxy")!==-1;}function skipNestedProxyNetwork(s){var u=typeof s==="string"?resolveUrl(s):null;return u&&isNestedMalformedProxy(u);}function emptyJsonFetchResponse(){return Promise.resolve(new Response("{}",{status:200,headers:{"Content-Type":"application/json; charset=utf-8"}}));}if(window.fetch){var _fetch=window.fetch.bind(window);window.fetch=function(input,init){try{var rawUrl=typeof input==="string"?input:(input&&input.url?String(input.url):"");if(rawUrl&&skipNestedProxyNetwork(rawUrl))return emptyJsonFetchResponse();if(typeof input==="string"){input=toAbsoluteOriginUrl(input);}else if(input&&input.url){var next=toAbsoluteOriginUrl(input.url);if(next!==input.url){input=new Request(next,input);}}var after=typeof input==="string"?input:(input&&input.url?String(input.url):"");if(after&&skipNestedProxyNetwork(after))return emptyJsonFetchResponse();}catch(_){}return _fetch(input,init);};}if(window.XMLHttpRequest&&window.XMLHttpRequest.prototype&&window.XMLHttpRequest.prototype.open){var _open=window.XMLHttpRequest.prototype.open;window.XMLHttpRequest.prototype.open=function(method,url){try{var u=resolveUrl(String(url));if(u&&isNestedMalformedProxy(u)){arguments[1]=EMPTY_JSON_DATA;}else{arguments[1]=toAbsoluteOriginUrl(url);}}catch(_){}return _open.apply(this,arguments);};}if(window.navigator&&window.navigator.serviceWorker&&typeof window.navigator.serviceWorker.register==="function"){window.navigator.serviceWorker.register=function(){return Promise.resolve({scope:"disabled-in-editor-proxy"});};}}catch(_){}})();</script>`;
2039
+ const runtimeProxyScript = `<script>(function(){try{var TARGET_ORIGIN=${JSON.stringify(origin)};var TARGET_PAGE_URL=${JSON.stringify(targetUrl)};var EMPTY_JSON_DATA="data:application/json;charset=utf-8,%7B%7D";function isSkippable(raw){if(!raw||typeof raw!=="string")return true;return raw.startsWith("data:")||raw.startsWith("blob:")||raw.startsWith("javascript:")||raw.startsWith("#")||raw.startsWith("http")||raw.startsWith("//");}function toAbsoluteOriginUrl(raw){if(isSkippable(raw))return raw;try{var base=raw.startsWith("/")?TARGET_ORIGIN:TARGET_PAGE_URL;var abs=new URL(raw,base);if(abs.origin!==TARGET_ORIGIN)return raw;return abs.toString();}catch(_){return raw;}}function resolveUrl(s){try{return new URL(s,window.location.href);}catch(_){return null;}}function isNestedMalformedProxy(u){if(!u)return false;var p=u.pathname||"";if(p==="/api/conversion-proxy"||p.indexOf("/api/conversion-proxy/")===0)return false;return p.indexOf("api/conversion-proxy")!==-1;}function skipNestedProxyNetwork(s){var u=typeof s==="string"?resolveUrl(s):null;return u&&isNestedMalformedProxy(u);}function emptyJsonFetchResponse(){return Promise.resolve(new Response("{}",{status:200,headers:{"Content-Type":"application/json; charset=utf-8"}}));}if(window.fetch){var _fetch=window.fetch.bind(window);window.fetch=function(input,init){try{var rawUrl=typeof input==="string"?input:(input&&input.url?String(input.url):"");if(rawUrl&&skipNestedProxyNetwork(rawUrl))return emptyJsonFetchResponse();if(typeof input==="string"){input=toAbsoluteOriginUrl(input);}else if(input&&input.url){var next=toAbsoluteOriginUrl(input.url);if(next!==input.url){input=new Request(next,input);}}var after=typeof input==="string"?input:(input&&input.url?String(input.url):"");if(after&&skipNestedProxyNetwork(after))return emptyJsonFetchResponse();}catch(_){}return _fetch(input,init);};}if(window.XMLHttpRequest&&window.XMLHttpRequest.prototype&&window.XMLHttpRequest.prototype.open){var _open=window.XMLHttpRequest.prototype.open;window.XMLHttpRequest.prototype.open=function(method,url){try{var u=resolveUrl(String(url));if(u&&isNestedMalformedProxy(u)){arguments[1]=EMPTY_JSON_DATA;}else{arguments[1]=toAbsoluteOriginUrl(url);}}catch(_){}return _open.apply(this,arguments);};}if(window.navigator&&window.navigator.serviceWorker&&typeof window.navigator.serviceWorker.register==="function"){window.navigator.serviceWorker.register=function(){return Promise.resolve({scope:"disabled-in-editor-proxy"});};}}catch(_){}})();</script>`;
2036
2040
  if (html.includes("</head>")) {
2037
2041
  html = html.replace("</head>", `${runtimeProxyScript}
2038
2042
  </head>`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@accelerated-agency/visual-editor",
3
- "version": "0.1.9",
3
+ "version": "0.2.0",
4
4
  "private": false,
5
5
  "description": "Conversion visual editor as a reusable React package",
6
6
  "type": "module",