@smart-cloud/wpsuite-core 2.1.1 → 2.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.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var w=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var $=Object.prototype.hasOwnProperty;var l=(e,t)=>()=>(e&&(t=e(e=0)),t);var _=(e,t)=>{for(var n in t)w(e,n,{get:t[n],enumerable:!0})},Z=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of J(t))!$.call(e,i)&&i!==n&&w(e,i,{get:()=>t[i],enumerable:!(r=H(t,i))||r.enumerable});return e};var j=e=>Z(w({},"__esModule",{value:!0}),e);function d(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");for(;t.length%4;)t+="=";return Uint8Array.from(atob(t),n=>n.charCodeAt(0))}var v,A,g=l(()=>{"use strict";v=(e,t)=>{let r=Uint8Array.from(atob(e),i=>i.charCodeAt(0)).map((i,o)=>i^t+o&255);return new TextDecoder().decode(r)},A=async e=>{let t=globalThis.grecaptcha,n=e?t?.enterprise:void 0,r=n?.ready??t?.ready,i=n?.execute??t?.execute;if(typeof i!="function")return{execute:void 0};try{return typeof r=="function"&&await new Promise(o=>r(()=>o())),{execute:i}}catch{return{execute:void 0}}}});function S(e,t){return`wpsuite:${e}:${t}`}function z(e,t=8e3){return()=>new Promise(n=>{if(e.status==="available")return n("available");if(e.status==="error")return n("error");!e.status||e.status;let r=S(e.key,"ready"),i=S(e.key,"error"),o=()=>c("available"),a=()=>c("error"),s,c=p=>{window.removeEventListener(r,o),window.removeEventListener(i,a),s!==void 0&&window.clearTimeout(s),n(p)};window.addEventListener(r,o,{once:!0}),window.addEventListener(i,a,{once:!0}),s=window.setTimeout(()=>c("unavailable"),t)})}function q(e){return t=>{window.addEventListener(S(e,"ready"),()=>t(),{once:!0})}}function R(e,t){let n=t?.timeoutMs??8e3;return e.availability??=z(e,n),e.onReady??=q(e.key),e}var T=l(()=>{"use strict"});var C,k,L=l(()=>{"use strict";g();C=v("QkxDVm10ensuGH5US0IQQlN5eUNZZxxYcF8EWmkHUUVvU1VUSW9vW3V4Jg==",23),k=v("QCxbYFxvZ11wREVjQFFWSWVRW25gY0Z2XVQJfXxVanlTWWFIY3RJSg8wFA==",23)});var O={};_(O,{getConfig:()=>ae});function E(e){try{return new URL(e.includes("://")?e:`http://${e}`).hostname.toLowerCase()}catch{return e.replace(/\/+$/,"").toLowerCase()}}function ne(e){let t=E(e);return t.startsWith("www.")?t.slice(4):t}function D(e){let t=E(e);if(ee.test(t)||te.test(t)||t==="localhost")return!0;let n=(0,K.parse)(t,{allowPrivateDomains:!0});return!!(!n.domain||!n.publicSuffix||Q.includes(n.publicSuffix))}function ie(e){let t=E(e);return D(t)||W.test(t)?!0:t.split(".").some(n=>W.test(n))}function re(e){return D(e)||ie(e)}function oe(e,t){return t?ne(e)===t:!1}function se(e,t){return re(e)?{free:!0,covered:!0}:{free:!1,covered:oe(e,t)}}var m,K,B,U,u,P,W,Q,ee,te,h,ae,X=l(()=>{"use strict";m=require("jose");L();g();I();K=require("tldts"),u=x();u?P=u.siteSettings:P={};W=/\b(dev|test|testing|staging|stage|qa|uat|preview|demo|sandbox|preprod|beta|canary)\b/i,Q=["localhost","local","test","invalid","example","lan","internal"],ee=/^(127\.)|^(10\.)|^(192\.168\.)|^(172\.(1[6-9]|2\d|3[0-1])\.)/,te=/^(::1$)|(^fc00:)|(^fd)/i;h=async e=>await fetch(e).then(async t=>t.ok?t.text():t.status===404&&e.includes("/"+f+"/")&&!e.includes("/"+y+"/")?await h(e.replace(f,y)):null),ae=async()=>{let e=null;if(P.subscriber){let n=await(0,m.importJWK)({kty:"EC",x:B,y:U,crv:"P-256"},"ES256"),r=new Date().getFullYear(),i=Math.floor((Date.now()-new Date(r,0,1).getTime())/(1e3*60*60*24*7)),o=await h(u.uploadUrl+"lic.jws?t="+u.siteSettings.lastUpdate+"&y="+r+"&w="+i);if(o)try{let a=location.hostname.split(":")[0],{payload:s}=await(0,m.jwtVerify)(o,n,{algorithms:["ES256"]}),c=se(a,s.domain);if(!c.free&&!c.covered)throw new Error("Invalid domain in JWT");let p=s.key.split(":"),G=d(p[0]),M=d(p[1]),b=(await h(u.uploadUrl+"config.enc?t="+u.siteSettings.lastUpdate))?.split(":");if(b?.length===2){let N=d(b[0]),Y=d(b[1]),V=await crypto.subtle.importKey("raw",G,{name:"AES-GCM"},!1,["decrypt"]),F=await crypto.subtle.decrypt({name:"AES-GCM",iv:M},V,new Uint8Array([...N,...Y]));e=JSON.parse(new TextDecoder().decode(F)),e.subscriptionType=s.subscriptionType}}catch(a){console.error(a.message)}}return e??null};B=C;U=k});var le={};_(le,{LEGACY_TEXT_DOMAIN:()=>y,TEXT_DOMAIN:()=>f,attachDefaultPluginRuntime:()=>R,getConfig:()=>ue,getPlugin:()=>ce,getRecaptcha:()=>A,getWpSuite:()=>x});module.exports=j(le);function x(){return globalThis.WpSuite}function ce(e){return globalThis.WpSuite?.plugins[e]}var f,y,ue,I=l(()=>{g();T();f="smartcloud-wpsuite",y="hub-for-wpsuiteio",ue=async e=>{let n=await(await Promise.resolve().then(()=>(X(),O))).getConfig();return n&&(n={...n[e],subscriptionType:n.subscriptionType}),n}});I();0&&(module.exports={LEGACY_TEXT_DOMAIN,TEXT_DOMAIN,attachDefaultPluginRuntime,getConfig,getPlugin,getRecaptcha,getWpSuite});
1
+ "use strict";var $=Object.create;var f=Object.defineProperty;var Z=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var z=Object.getPrototypeOf,q=Object.prototype.hasOwnProperty;var u=(e,t)=>()=>(e&&(t=e(e=0)),t);var _=(e,t)=>{for(var n in t)f(e,n,{get:t[n],enumerable:!0})},R=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of j(t))!q.call(e,i)&&i!==n&&f(e,i,{get:()=>t[i],enumerable:!(r=Z(t,i))||r.enumerable});return e};var v=(e,t,n)=>(n=e!=null?$(z(e)):{},R(t||!e||!e.__esModule?f(n,"default",{value:e,enumerable:!0}):n,e)),Q=e=>R(f({},"__esModule",{value:!0}),e);function p(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");for(;t.length%4;)t+="=";return Uint8Array.from(atob(t),n=>n.charCodeAt(0))}var S,A,y=u(()=>{"use strict";S=(e,t)=>{let r=Uint8Array.from(atob(e),i=>i.charCodeAt(0)).map((i,o)=>i^t+o&255);return new TextDecoder().decode(r)},A=async e=>{let t=globalThis.grecaptcha,n=e?t?.enterprise:void 0,r=n?.ready??t?.ready,i=n?.execute??t?.execute;if(typeof i!="function")return{execute:void 0};try{return typeof r=="function"&&await new Promise(o=>r(()=>o())),{execute:i}}catch{return{execute:void 0}}}});function h(e,t){return`wpsuite:${e}:${t}`}function ee(e,t=8e3){return()=>new Promise(n=>{if(e.status==="available")return n("available");if(e.status==="error")return n("error");!e.status||e.status;let r=h(e.key,"ready"),i=h(e.key,"error"),o=()=>c("available"),s=()=>c("error"),a,c=d=>{window.removeEventListener(r,o),window.removeEventListener(i,s),a!==void 0&&window.clearTimeout(a),n(d)};window.addEventListener(r,o,{once:!0}),window.addEventListener(i,s,{once:!0}),a=window.setTimeout(()=>c("unavailable"),t)})}function te(e){return t=>{window.addEventListener(h(e,"ready"),()=>t(),{once:!0})}}function k(e,t){let n=t?.timeoutMs??8e3;return e.availability??=ee(e,n),e.onReady??=te(e.key),e}var C=u(()=>{"use strict"});async function T(){if(!globalThis.crypto?.subtle)return m||(m=(async()=>{if(await import("asmcrypto.js"),await import("elliptic"),await import("webcrypto-liner/build/webcrypto-liner.shim.js"),!globalThis.crypto?.subtle)throw new Error("WebCrypto polyfill loaded but crypto.subtle is still missing")})(),m)}var m,W=u(()=>{"use strict";m=null});var L,B,U=u(()=>{"use strict";y();L=S("yvT77tXMwsOWkPbcw8qYytvh4dvB/4TA6NeM0uGP2c3nq62ssZeXo43wrg==",159),B=S("yJTj2OTX3+XIzM3ryNnewe3Jw/b4+97uxdyB9fTd4vHboZmwm4yxsve4nA==",159)});var I={};_(I,{getConfig:()=>le});function x(e){try{return new URL(e.includes("://")?e:`http://${e}`).hostname.toLowerCase()}catch{return e.replace(/\/+$/,"").toLowerCase()}}function oe(e){let t=x(e);return t.startsWith("www.")?t.slice(4):t}function G(e){let t=x(e);if(ie.test(t)||re.test(t)||t==="localhost")return!0;let n=(0,X.parse)(t,{allowPrivateDomains:!0});return!!(!n.domain||!n.publicSuffix||ne.includes(n.publicSuffix))}function se(e){let t=x(e);return G(t)||K.test(t)?!0:t.split(".").some(n=>K.test(n))}function ae(e){return G(e)||se(e)}function ce(e,t){return t?oe(e)===t:!1}function ue(e,t){return ae(e)?{free:!0,covered:!0}:{free:!1,covered:ce(e,t)}}var b,X,D,O,l,P,K,ne,ie,re,le,M=u(()=>{"use strict";W();b=require("jose");U();y();Y();X=require("tldts"),l=E();l?P=l.siteSettings:P={};K=/\b(dev|test|testing|staging|stage|qa|uat|preview|demo|sandbox|preprod|beta|canary)\b/i,ne=["localhost","local","test","invalid","example","lan","internal"],ie=/^(127\.)|^(10\.)|^(192\.168\.)|^(172\.(1[6-9]|2\d|3[0-1])\.)/,re=/^(::1$)|(^fc00:)|(^fd)/i;le=async()=>{await T();let e=null;if(P.subscriber){let n=await(0,b.importJWK)({kty:"EC",x:D,y:O,crv:"P-256"},"ES256"),r=new Date().getFullYear(),i=Math.floor((Date.now()-new Date(r,0,1).getTime())/(1e3*60*60*24*7)),o=await fetch(l.uploadUrl+"lic.jws?t="+l.siteSettings.lastUpdate+"&y="+r+"&w="+i).then(s=>s.ok?s.text():null).catch(()=>null);if(o)try{let s=location.hostname.split(":")[0],{payload:a}=await(0,b.jwtVerify)(o,n,{algorithms:["ES256"]}),c=ue(s,a.domain);if(!c.free&&!c.covered)throw new Error("Invalid domain in JWT");let d=a.key.split(":"),N=p(d[0]),V=p(d[1]),w=(await fetch(l.uploadUrl+"config.enc?t="+l.siteSettings.lastUpdate).then(g=>g.ok?g.text():null).catch(()=>null))?.split(":");if(w?.length===2){let g=p(w[0]),F=p(w[1]),H=await crypto.subtle.importKey("raw",N,{name:"AES-GCM"},!1,["decrypt"]),J=await crypto.subtle.decrypt({name:"AES-GCM",iv:V},H,new Uint8Array([...g,...F]));e=JSON.parse(new TextDecoder().decode(J)),e.subscriptionType=a.subscriptionType}}catch(s){console.error(s.message)}}return e??null};D=L;O=B});var fe={};_(fe,{TEXT_DOMAIN:()=>de,attachDefaultPluginRuntime:()=>k,getConfig:()=>ge,getPlugin:()=>pe,getRecaptcha:()=>A,getWpSuite:()=>E});module.exports=Q(fe);function E(){return globalThis.WpSuite}function pe(e){return globalThis.WpSuite?.plugins[e]}var de,ge,Y=u(()=>{y();C();de="smartcloud-wpsuite",ge=async e=>{let n=await(await Promise.resolve().then(()=>(M(),I))).getConfig();return n&&(n={...n[e],subscriptionType:n.subscriptionType}),n}});Y();0&&(module.exports={TEXT_DOMAIN,attachDefaultPluginRuntime,getConfig,getPlugin,getRecaptcha,getWpSuite});
package/dist/index.d.cts CHANGED
@@ -46,7 +46,6 @@ declare function getWpSuite(): WpSuiteGlobal | undefined;
46
46
  declare function getPlugin<K extends string>(key: K): WpSuitePluginBase | undefined;
47
47
 
48
48
  declare const TEXT_DOMAIN = "smartcloud-wpsuite";
49
- declare const LEGACY_TEXT_DOMAIN = "hub-for-wpsuiteio";
50
49
  interface SiteSettings {
51
50
  accountId?: string;
52
51
  siteId?: string;
@@ -57,4 +56,4 @@ interface SiteSettings {
57
56
  type SubscriptionType = "PROFESSIONAL" | "AGENCY";
58
57
  declare const getConfig: (plugin: string) => Promise<Record<string, unknown> | null>;
59
58
 
60
- export { LEGACY_TEXT_DOMAIN, type PluginAvailability, type PluginStatus, type RecaptchaFunction, type SiteSettings, type SubscriptionType, TEXT_DOMAIN, type WpSuiteEvents, type WpSuiteGlobal, type WpSuitePluginBase, type WpSuitePluginRegistry, type WpSuiteView, attachDefaultPluginRuntime, getConfig, getPlugin, getRecaptcha, getWpSuite };
59
+ export { type PluginAvailability, type PluginStatus, type RecaptchaFunction, type SiteSettings, type SubscriptionType, TEXT_DOMAIN, type WpSuiteEvents, type WpSuiteGlobal, type WpSuitePluginBase, type WpSuitePluginRegistry, type WpSuiteView, attachDefaultPluginRuntime, getConfig, getPlugin, getRecaptcha, getWpSuite };
package/dist/index.d.ts CHANGED
@@ -46,7 +46,6 @@ declare function getWpSuite(): WpSuiteGlobal | undefined;
46
46
  declare function getPlugin<K extends string>(key: K): WpSuitePluginBase | undefined;
47
47
 
48
48
  declare const TEXT_DOMAIN = "smartcloud-wpsuite";
49
- declare const LEGACY_TEXT_DOMAIN = "hub-for-wpsuiteio";
50
49
  interface SiteSettings {
51
50
  accountId?: string;
52
51
  siteId?: string;
@@ -57,4 +56,4 @@ interface SiteSettings {
57
56
  type SubscriptionType = "PROFESSIONAL" | "AGENCY";
58
57
  declare const getConfig: (plugin: string) => Promise<Record<string, unknown> | null>;
59
58
 
60
- export { LEGACY_TEXT_DOMAIN, type PluginAvailability, type PluginStatus, type RecaptchaFunction, type SiteSettings, type SubscriptionType, TEXT_DOMAIN, type WpSuiteEvents, type WpSuiteGlobal, type WpSuitePluginBase, type WpSuitePluginRegistry, type WpSuiteView, attachDefaultPluginRuntime, getConfig, getPlugin, getRecaptcha, getWpSuite };
59
+ export { type PluginAvailability, type PluginStatus, type RecaptchaFunction, type SiteSettings, type SubscriptionType, TEXT_DOMAIN, type WpSuiteEvents, type WpSuiteGlobal, type WpSuitePluginBase, type WpSuitePluginRegistry, type WpSuiteView, attachDefaultPluginRuntime, getConfig, getPlugin, getRecaptcha, getWpSuite };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var G=Object.defineProperty;var l=(e,t)=>()=>(e&&(t=e(e=0)),t);var M=(e,t)=>{for(var n in t)G(e,n,{get:t[n],enumerable:!0})};function d(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");for(;t.length%4;)t+="=";return Uint8Array.from(atob(t),n=>n.charCodeAt(0))}var y,N,g=l(()=>{"use strict";y=(e,t)=>{let r=Uint8Array.from(atob(e),i=>i.charCodeAt(0)).map((i,o)=>i^t+o&255);return new TextDecoder().decode(r)},N=async e=>{let t=globalThis.grecaptcha,n=e?t?.enterprise:void 0,r=n?.ready??t?.ready,i=n?.execute??t?.execute;if(typeof i!="function")return{execute:void 0};try{return typeof r=="function"&&await new Promise(o=>r(()=>o())),{execute:i}}catch{return{execute:void 0}}}});function m(e,t){return`wpsuite:${e}:${t}`}function Y(e,t=8e3){return()=>new Promise(n=>{if(e.status==="available")return n("available");if(e.status==="error")return n("error");!e.status||e.status;let r=m(e.key,"ready"),i=m(e.key,"error"),o=()=>c("available"),a=()=>c("error"),s,c=p=>{window.removeEventListener(r,o),window.removeEventListener(i,a),s!==void 0&&window.clearTimeout(s),n(p)};window.addEventListener(r,o,{once:!0}),window.addEventListener(i,a,{once:!0}),s=window.setTimeout(()=>c("unavailable"),t)})}function V(e){return t=>{window.addEventListener(m(e,"ready"),()=>t(),{once:!0})}}function F(e,t){let n=t?.timeoutMs??8e3;return e.availability??=Y(e,n),e.onReady??=V(e.key),e}var h=l(()=>{"use strict"});var E,x,_=l(()=>{"use strict";g();E=y("QkxDVm10ensuGH5US0IQQlN5eUNZZxxYcF8EWmkHUUVvU1VUSW9vW3V4Jg==",23),x=y("QCxbYFxvZ11wREVjQFFWSWVRW25gY0Z2XVQJfXxVanlTWWFIY3RJSg8wFA==",23)});var k={};M(k,{getConfig:()=>ie});import{importJWK as H,jwtVerify as J}from"jose";import{parse as $}from"tldts";function P(e){try{return new URL(e.includes("://")?e:`http://${e}`).hostname.toLowerCase()}catch{return e.replace(/\/+$/,"").toLowerCase()}}function q(e){let t=P(e);return t.startsWith("www.")?t.slice(4):t}function C(e){let t=P(e);if(j.test(t)||z.test(t)||t==="localhost")return!0;let n=$(t,{allowPrivateDomains:!0});return!!(!n.domain||!n.publicSuffix||Z.includes(n.publicSuffix))}function Q(e){let t=P(e);return C(t)||A.test(t)?!0:t.split(".").some(n=>A.test(n))}function ee(e){return C(e)||Q(e)}function te(e,t){return t?q(e)===t:!1}function ne(e,t){return ee(e)?{free:!0,covered:!0}:{free:!1,covered:te(e,t)}}var R,T,u,b,A,Z,j,z,w,ie,L=l(()=>{"use strict";_();g();B();u=W();u?b=u.siteSettings:b={};A=/\b(dev|test|testing|staging|stage|qa|uat|preview|demo|sandbox|preprod|beta|canary)\b/i,Z=["localhost","local","test","invalid","example","lan","internal"],j=/^(127\.)|^(10\.)|^(192\.168\.)|^(172\.(1[6-9]|2\d|3[0-1])\.)/,z=/^(::1$)|(^fc00:)|(^fd)/i;w=async e=>await fetch(e).then(async t=>t.ok?t.text():t.status===404&&e.includes("/"+v+"/")&&!e.includes("/"+S+"/")?await w(e.replace(v,S)):null),ie=async()=>{let e=null;if(b.subscriber){let n=await H({kty:"EC",x:R,y:T,crv:"P-256"},"ES256"),r=new Date().getFullYear(),i=Math.floor((Date.now()-new Date(r,0,1).getTime())/(1e3*60*60*24*7)),o=await w(u.uploadUrl+"lic.jws?t="+u.siteSettings.lastUpdate+"&y="+r+"&w="+i);if(o)try{let a=location.hostname.split(":")[0],{payload:s}=await J(o,n,{algorithms:["ES256"]}),c=ne(a,s.domain);if(!c.free&&!c.covered)throw new Error("Invalid domain in JWT");let p=s.key.split(":"),U=d(p[0]),K=d(p[1]),f=(await w(u.uploadUrl+"config.enc?t="+u.siteSettings.lastUpdate))?.split(":");if(f?.length===2){let D=d(f[0]),O=d(f[1]),X=await crypto.subtle.importKey("raw",U,{name:"AES-GCM"},!1,["decrypt"]),I=await crypto.subtle.decrypt({name:"AES-GCM",iv:K},X,new Uint8Array([...D,...O]));e=JSON.parse(new TextDecoder().decode(I)),e.subscriptionType=s.subscriptionType}}catch(a){console.error(a.message)}}return e??null};R=E;T=x});function W(){return globalThis.WpSuite}function ye(e){return globalThis.WpSuite?.plugins[e]}var v,S,me,B=l(()=>{g();h();v="smartcloud-wpsuite",S="hub-for-wpsuiteio",me=async e=>{let n=await(await Promise.resolve().then(()=>(L(),k))).getConfig();return n&&(n={...n[e],subscriptionType:n.subscriptionType}),n}});B();export{S as LEGACY_TEXT_DOMAIN,v as TEXT_DOMAIN,F as attachDefaultPluginRuntime,me as getConfig,ye as getPlugin,N as getRecaptcha,W as getWpSuite};
1
+ var I=Object.defineProperty;var u=(e,t)=>()=>(e&&(t=e(e=0)),t);var M=(e,t)=>{for(var n in t)I(e,n,{get:t[n],enumerable:!0})};function p(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");for(;t.length%4;)t+="=";return Uint8Array.from(atob(t),n=>n.charCodeAt(0))}var b,Y,f=u(()=>{"use strict";b=(e,t)=>{let r=Uint8Array.from(atob(e),i=>i.charCodeAt(0)).map((i,o)=>i^t+o&255);return new TextDecoder().decode(r)},Y=async e=>{let t=globalThis.grecaptcha,n=e?t?.enterprise:void 0,r=n?.ready??t?.ready,i=n?.execute??t?.execute;if(typeof i!="function")return{execute:void 0};try{return typeof r=="function"&&await new Promise(o=>r(()=>o())),{execute:i}}catch{return{execute:void 0}}}});function w(e,t){return`wpsuite:${e}:${t}`}function N(e,t=8e3){return()=>new Promise(n=>{if(e.status==="available")return n("available");if(e.status==="error")return n("error");!e.status||e.status;let r=w(e.key,"ready"),i=w(e.key,"error"),o=()=>c("available"),s=()=>c("error"),a,c=d=>{window.removeEventListener(r,o),window.removeEventListener(i,s),a!==void 0&&window.clearTimeout(a),n(d)};window.addEventListener(r,o,{once:!0}),window.addEventListener(i,s,{once:!0}),a=window.setTimeout(()=>c("unavailable"),t)})}function V(e){return t=>{window.addEventListener(w(e,"ready"),()=>t(),{once:!0})}}function F(e,t){let n=t?.timeoutMs??8e3;return e.availability??=N(e,n),e.onReady??=V(e.key),e}var h=u(()=>{"use strict"});async function P(){if(!globalThis.crypto?.subtle)return y||(y=(async()=>{if(await import("asmcrypto.js"),await import("elliptic"),await import("webcrypto-liner/build/webcrypto-liner.shim.js"),!globalThis.crypto?.subtle)throw new Error("WebCrypto polyfill loaded but crypto.subtle is still missing")})(),y)}var y,x=u(()=>{"use strict";y=null});var E,_,R=u(()=>{"use strict";f();E=b("yvT77tXMwsOWkPbcw8qYytvh4dvB/4TA6NeM0uGP2c3nq62ssZeXo43wrg==",159),_=b("yJTj2OTX3+XIzM3ryNnewe3Jw/b4+97uxdyB9fTd4vHboZmwm4yxsve4nA==",159)});var W={};M(W,{getConfig:()=>ie});import{importJWK as H,jwtVerify as J}from"jose";import{parse as $}from"tldts";function S(e){try{return new URL(e.includes("://")?e:`http://${e}`).hostname.toLowerCase()}catch{return e.replace(/\/+$/,"").toLowerCase()}}function q(e){let t=S(e);return t.startsWith("www.")?t.slice(4):t}function T(e){let t=S(e);if(j.test(t)||z.test(t)||t==="localhost")return!0;let n=$(t,{allowPrivateDomains:!0});return!!(!n.domain||!n.publicSuffix||Z.includes(n.publicSuffix))}function Q(e){let t=S(e);return T(t)||A.test(t)?!0:t.split(".").some(n=>A.test(n))}function ee(e){return T(e)||Q(e)}function te(e,t){return t?q(e)===t:!1}function ne(e,t){return ee(e)?{free:!0,covered:!0}:{free:!1,covered:te(e,t)}}var k,C,l,v,A,Z,j,z,ie,L=u(()=>{"use strict";x();R();f();U();l=B();l?v=l.siteSettings:v={};A=/\b(dev|test|testing|staging|stage|qa|uat|preview|demo|sandbox|preprod|beta|canary)\b/i,Z=["localhost","local","test","invalid","example","lan","internal"],j=/^(127\.)|^(10\.)|^(192\.168\.)|^(172\.(1[6-9]|2\d|3[0-1])\.)/,z=/^(::1$)|(^fc00:)|(^fd)/i;ie=async()=>{await P();let e=null;if(v.subscriber){let n=await H({kty:"EC",x:k,y:C,crv:"P-256"},"ES256"),r=new Date().getFullYear(),i=Math.floor((Date.now()-new Date(r,0,1).getTime())/(1e3*60*60*24*7)),o=await fetch(l.uploadUrl+"lic.jws?t="+l.siteSettings.lastUpdate+"&y="+r+"&w="+i).then(s=>s.ok?s.text():null).catch(()=>null);if(o)try{let s=location.hostname.split(":")[0],{payload:a}=await J(o,n,{algorithms:["ES256"]}),c=ne(s,a.domain);if(!c.free&&!c.covered)throw new Error("Invalid domain in JWT");let d=a.key.split(":"),K=p(d[0]),D=p(d[1]),m=(await fetch(l.uploadUrl+"config.enc?t="+l.siteSettings.lastUpdate).then(g=>g.ok?g.text():null).catch(()=>null))?.split(":");if(m?.length===2){let g=p(m[0]),O=p(m[1]),X=await crypto.subtle.importKey("raw",K,{name:"AES-GCM"},!1,["decrypt"]),G=await crypto.subtle.decrypt({name:"AES-GCM",iv:D},X,new Uint8Array([...g,...O]));e=JSON.parse(new TextDecoder().decode(G)),e.subscriptionType=a.subscriptionType}}catch(s){console.error(s.message)}}return e??null};k=E;C=_});function B(){return globalThis.WpSuite}function be(e){return globalThis.WpSuite?.plugins[e]}var we,ve,U=u(()=>{f();h();we="smartcloud-wpsuite",ve=async e=>{let n=await(await Promise.resolve().then(()=>(L(),W))).getConfig();return n&&(n={...n[e],subscriptionType:n.subscriptionType}),n}});U();export{we as TEXT_DOMAIN,F as attachDefaultPluginRuntime,ve as getConfig,be as getPlugin,Y as getRecaptcha,B as getWpSuite};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smart-cloud/wpsuite-core",
3
- "version": "2.1.1",
3
+ "version": "2.2.0",
4
4
  "description": "WP Suite Core package",
5
5
  "author": "Smart Cloud Solutions Inc.",
6
6
  "license": "MIT",
@@ -8,6 +8,13 @@
8
8
  "module": "./dist/index.js",
9
9
  "types": "./dist/index.d.ts",
10
10
  "type": "module",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js",
15
+ "require": "./dist/index.cjs"
16
+ }
17
+ },
11
18
  "files": [
12
19
  "dist"
13
20
  ],
@@ -23,21 +30,28 @@
23
30
  },
24
31
  "dependencies": {
25
32
  "jose": "^6.1.3",
26
- "tldts": "^7.0.21"
33
+ "tldts": "^7.0.23"
34
+ },
35
+ "optionalDependencies": {
36
+ "asmcrypto.js": "^2.3.2",
37
+ "elliptic": "^6.6.1",
38
+ "util": "^0.12.5",
39
+ "webcrypto-liner": "^1.4.3"
27
40
  },
28
41
  "peerDependencies": {
29
42
  "@wordpress/data": "^10.39.0"
30
43
  },
31
44
  "devDependencies": {
32
- "@eslint/js": "^9.39.2",
33
- "@types/node": "^25.2.0",
34
- "@typescript-eslint/eslint-plugin": "^8.54.0",
35
- "@typescript-eslint/parser": "^8.54.0",
45
+ "@eslint/js": "^10.0.1",
46
+ "@types/elliptic": "^6.4.18",
47
+ "@types/node": "^25.2.3",
48
+ "@typescript-eslint/eslint-plugin": "^8.56.0",
49
+ "@typescript-eslint/parser": "^8.56.0",
36
50
  "@wordpress/data": "^10.39.0",
37
- "eslint": "^9.39.2",
51
+ "eslint": "^10.0.0",
38
52
  "globals": "^17.3.0",
39
53
  "tsup": "^8.5.1",
40
54
  "typescript": "^5.9.3",
41
- "typescript-eslint": "^8.54.0"
55
+ "typescript-eslint": "^8.56.0"
42
56
  }
43
57
  }