@smart-cloud/publisher-core 1.1.9 → 1.1.11

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 P=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var z=Object.prototype.hasOwnProperty;var M=(e,t)=>{for(var n in t)P(e,n,{get:t[n],enumerable:!0})},F=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of N(t))!z.call(e,o)&&o!==n&&P(e,o,{get:()=>t[o],enumerable:!(r=U(t,o))||r.enumerable});return e};var G=e=>F(P({},"__esModule",{value:!0}),e);var oe={};M(oe,{PLUGIN_KEY:()=>E,bootstrapPublisherWpSuite:()=>j,createStore:()=>p,getDefaultPublisherCrawlMode:()=>v,getPublisherPlugin:()=>I,getStore:()=>A,getStoreSelect:()=>k,hasPublisherContentSyncAccess:()=>R,hasPublisherSubscription:()=>u,loadPublisherConfig:()=>f,reloadConfig:()=>D,resolvePublisherCrawlMode:()=>x,resolvePublisherDeploymentProfile:()=>T,resolvePublisherDeploymentProfileId:()=>m,sanitizePublisherConfig:()=>h,waitForPublisherReady:()=>W});module.exports=G(oe);var a=require("@smart-cloud/wpsuite-core"),s=require("@wordpress/data");function L(e){let t=e.trim();return t==="."?".":t.replace(/\/$/,"")}function _(e){return!e||typeof e!="object"?{}:Object.fromEntries(Object.entries(e).map(([t,n])=>[t.trim(),String(n??"")]).filter(([t])=>t.length>0))}function b(e){return Array.isArray(e)?e.map(t=>String(t??"").trim()).filter(t=>t.length>0):[]}function K(e){return[...new Set(b(e).map(t=>t.toLowerCase().replace(/[^a-z0-9_-]/g,"")).filter(Boolean))]}function B(e){if(!e||typeof e!="object")return;let t=e,n={};return typeof t.bucket=="string"&&(n.bucket=t.bucket.trim()),typeof t.prefix=="string"&&(n.prefix=t.prefix.trim()),typeof t.region=="string"&&(n.region=t.region.trim()),typeof t.htmlCacheControl=="string"&&(n.htmlCacheControl=t.htmlCacheControl.trim()),typeof t.assetCacheControl=="string"&&(n.assetCacheControl=t.assetCacheControl.trim()),Object.keys(n).length>0?n:void 0}function Y(e){if(!e||typeof e!="object")return;let t=e,n={};typeof t.distributionId=="string"&&(n.distributionId=t.distributionId.trim());let r=b(t.invalidationPaths);return r.length>0&&(n.invalidationPaths=r),Object.keys(n).length>0?n:void 0}function $(e){if(!e||typeof e!="object")return null;let t=e,n={};if(typeof t.targetOrigin=="string"){let l=L(t.targetOrigin);l&&(n.targetOrigin=l)}let r=_(t.extraReplacements);Object.keys(r).length>0&&(n.extraReplacements=r);let o=B(t.s3);o&&(n.s3=o);let i=Y(t.cloudFront);return i&&(n.cloudFront=i),n}function H(e){if(!e||typeof e!="object")return{};let t={};for(let[n,r]of Object.entries(e)){let o=n.trim();if(!o)continue;let i=$(r);i&&(t[o]=i)}return t}function w(e,t){if(typeof e!="string")return;let n=e.trim();if(!(!n||!t[n]))return n}function J(e,t){if(!e||typeof e!="object")return null;let n=e,r=String(n.command??"").trim();if(r!=="publish"&&r!=="crawl"&&r!=="deploy"&&r!=="invalidate"&&r!=="retry-timeouts"&&r!=="url"&&r!=="content-sync")return null;let o=Number.parseInt(String(n.intervalMinutes??"0"),10);if(!Number.isFinite(o)||o<1)return null;let i=String(n.id??`${r}-${t+1}`).trim();if(!i)return null;let l=String(n.url??"").trim();if(r==="url"&&!l)return null;let d=String(n.crawlMode??"").trim(),y=String(n.deploymentProfile??"").trim(),g=K(n.postTypes),C=b(n.listingPaths);return r==="content-sync"&&g.length===0?null:{id:i,enabled:n.enabled!==!1,command:r,intervalMinutes:o,...d==="full"||d==="incremental"?{crawlMode:d}:{},...y?{deploymentProfile:y}:{},...l?{url:l}:{},...g.length>0?{postTypes:g}:{},...C.length>0?{listingPaths:C}:{},...Object.fromEntries(["includePostTypeArchives","includeSubsites","includeTaxonomyArchives","includeAuthorArchives","includeDateArchives","includePostsPage","includeSitemapChain"].filter(c=>typeof n[c]=="boolean").map(c=>[c,n[c]]))}}function q(e){let t=e&&typeof e=="object"?e:{},r=(Array.isArray(t.rules)?t.rules:[]).map((o,i)=>J(o,i)).filter(o=>!!o);return{enabled:t.enabled===!0,timezone:String(t.timezone??"UTC").trim()||"UTC",rules:r}}var h=e=>{let t=e&&typeof e=="object"?e:{},n=H(t.deploymentProfiles),r=w(t.defaultDeploymentProfile,n),o=w(t.deploymentTargetOverride,n),i={...t};return i.scheduler=q(t.scheduler),i.deploymentProfiles=n,r?i.defaultDeploymentProfile=r:delete i.defaultDeploymentProfile,o?i.deploymentTargetOverride=o:delete i.deploymentTargetOverride,t.subscriptionType==="PROFESSIONAL"||t.subscriptionType==="AGENCY"?i.subscriptionType=t.subscriptionType:delete i.subscriptionType,i},f=async()=>h(await(0,a.getConfig)("publisher")),u=e=>e?.subscriptionType==="PROFESSIONAL"||e?.subscriptionType==="AGENCY",R=u,v=e=>u(e)?"incremental":"full",x=(e,t)=>e==="incremental"&&u(t)?"incremental":"full",m=(e,t)=>{if(!u(e))return"";let n=e?.deploymentProfiles??{};for(let r of[t,e?.deploymentTargetOverride,e?.defaultDeploymentProfile]){let o=typeof r=="string"?r.trim():"";if(o&&n[o])return o}return""},T=(e,t)=>{let n=m(e,t);return n?e?.deploymentProfiles?.[n]??null:null},Q=async()=>({config:await f()}),V={setConfig:e=>({type:"SET_CONFIG",config:e})},X={getConfig(e){return e.config},getState(e){return e}},Z={},k=e=>(0,s.select)(e),D=async e=>{let t=(0,a.getWpSuite)();t?.siteSettings&&(t.siteSettings.lastUpdate=Date.now());let n=await f();(0,s.dispatch)(e).setConfig?.(n)},p=async()=>{let e=await Q(),t=(0,s.createReduxStore)("smartcloud/publisher",{reducer(n=e,r){return r.type==="SET_CONFIG"?{...n,config:r.config??null}:n},actions:V,selectors:X,resolvers:Z});return(0,s.register)(t),t};var O=require("@smart-cloud/wpsuite-core");var I=()=>typeof WpSuite>"u"?null:WpSuite.plugins?.staticPublisher??null,ee=["accountId","siteId","reCaptchaPublicKey"],te=["subscriber","useRecaptchaNet","useRecaptchaEnterprise","renderRecaptchaProvider"];function ne(e,t){let n=e&&typeof e=="object"?e:{},r={...t??{}};delete r.siteKey;for(let o of ee){if(!Object.hasOwn(n,o))continue;let i=String(n[o]??"").trim();i?r[o]=i:delete r[o]}if(Object.hasOwn(n,"lastUpdate")){let o=Number(n.lastUpdate);Number.isFinite(o)&&o>0?r.lastUpdate=o:delete r.lastUpdate}for(let o of te)Object.hasOwn(n,o)&&(typeof n[o]=="boolean"?r[o]=n[o]:delete r[o]);return r}function re(e){if(!e||typeof window<"u")return;let t=e.trim();if(t)try{let n=new URL(t.includes("://")?t:`https://${t}`),r=globalThis;if(r.location?.hostname)return;Object.defineProperty(r,"location",{value:n,configurable:!0,writable:!0})}catch{}}var j=(e={})=>{let t=(0,O.getWpSuite)(),r={siteSettings:ne(e.siteSettings,t?.siteSettings),nonce:typeof e.nonce=="string"?e.nonce:t?.nonce??"",restUrl:typeof e.restUrl=="string"?e.restUrl:t?.restUrl??"",uploadUrl:typeof e.uploadUrl=="string"?e.uploadUrl:t?.uploadUrl??"",view:e.view??t?.view??"settings",plugins:t?.plugins??{},...t?.events?{events:t.events}:{}};return globalThis.WpSuite=r,re(e.locationHref??e.siteOrigin),r},S=null,A=()=>(S||(S=p()),S),W=()=>Promise.resolve();var E="publisher";0&&(module.exports={PLUGIN_KEY,bootstrapPublisherWpSuite,createStore,getDefaultPublisherCrawlMode,getPublisherPlugin,getStore,getStoreSelect,hasPublisherContentSyncAccess,hasPublisherSubscription,loadPublisherConfig,reloadConfig,resolvePublisherCrawlMode,resolvePublisherDeploymentProfile,resolvePublisherDeploymentProfileId,sanitizePublisherConfig,waitForPublisherReady});
1
+ "use strict";var P=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var M=(e,t)=>{for(var n in t)P(e,n,{get:t[n],enumerable:!0})},F=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of U(t))!N.call(e,o)&&o!==n&&P(e,o,{get:()=>t[o],enumerable:!(r=z(t,o))||r.enumerable});return e};var G=e=>F(P({},"__esModule",{value:!0}),e);var oe={};M(oe,{PLUGIN_KEY:()=>E,bootstrapPublisherWpSuite:()=>I,createStore:()=>p,getDefaultPublisherCrawlMode:()=>v,getPublisherPlugin:()=>A,getStore:()=>j,getStoreSelect:()=>k,hasPublisherContentSyncAccess:()=>R,hasPublisherSubscription:()=>u,loadPublisherConfig:()=>f,reloadConfig:()=>D,resolvePublisherCrawlMode:()=>x,resolvePublisherDeploymentProfile:()=>T,resolvePublisherDeploymentProfileId:()=>m,sanitizePublisherConfig:()=>h,waitForPublisherReady:()=>W});module.exports=G(oe);var a=require("@smart-cloud/wpsuite-core"),l=require("@wordpress/data");function L(e){let t=e.trim();return t==="."?".":t.replace(/\/$/,"")}function _(e){return!e||typeof e!="object"?{}:Object.fromEntries(Object.entries(e).map(([t,n])=>[t.trim(),String(n??"")]).filter(([t])=>t.length>0))}function b(e){return Array.isArray(e)?e.map(t=>String(t??"").trim()).filter(t=>t.length>0):[]}function K(e){return[...new Set(b(e).map(t=>t.toLowerCase().replace(/[^a-z0-9_-]/g,"")).filter(Boolean))]}function B(e){if(!e||typeof e!="object")return;let t=e,n={};return typeof t.bucket=="string"&&(n.bucket=t.bucket.trim()),typeof t.prefix=="string"&&(n.prefix=t.prefix.trim()),typeof t.region=="string"&&(n.region=t.region.trim()),typeof t.htmlCacheControl=="string"&&(n.htmlCacheControl=t.htmlCacheControl.trim()),typeof t.assetCacheControl=="string"&&(n.assetCacheControl=t.assetCacheControl.trim()),Object.keys(n).length>0?n:void 0}function Y(e){if(!e||typeof e!="object")return;let t=e,n={};typeof t.distributionId=="string"&&(n.distributionId=t.distributionId.trim());let r=b(t.invalidationPaths);return r.length>0&&(n.invalidationPaths=r),Object.keys(n).length>0?n:void 0}function $(e){if(!e||typeof e!="object")return null;let t=e,n={};if(typeof t.awsProfile=="string"&&/^[A-Za-z0-9][A-Za-z0-9_.@+=,-]{0,127}$/.test(t.awsProfile.trim())){let s=t.awsProfile.trim();s&&(n.awsProfile=s)}if(typeof t.targetOrigin=="string"){let s=L(t.targetOrigin);s&&(n.targetOrigin=s)}let r=_(t.extraReplacements);Object.keys(r).length>0&&(n.extraReplacements=r);let o=B(t.s3);o&&(n.s3=o);let i=Y(t.cloudFront);return i&&(n.cloudFront=i),n}function Z(e){if(!e||typeof e!="object")return{};let t={};for(let[n,r]of Object.entries(e)){let o=n.trim();if(!o)continue;let i=$(r);i&&(t[o]=i)}return t}function w(e,t){if(typeof e!="string")return;let n=e.trim();if(!(!n||!t[n]))return n}function H(e,t){if(!e||typeof e!="object")return null;let n=e,r=String(n.command??"").trim();if(r!=="publish"&&r!=="crawl"&&r!=="deploy"&&r!=="invalidate"&&r!=="retry-timeouts"&&r!=="url"&&r!=="content-sync")return null;let o=Number.parseInt(String(n.intervalMinutes??"0"),10);if(!Number.isFinite(o)||o<1)return null;let i=String(n.id??`${r}-${t+1}`).trim();if(!i)return null;let s=String(n.url??"").trim();if(r==="url"&&!s)return null;let d=String(n.crawlMode??"").trim(),y=String(n.deploymentProfile??"").trim(),g=K(n.postTypes),C=b(n.listingPaths);return r==="content-sync"&&g.length===0?null:{id:i,enabled:n.enabled!==!1,command:r,intervalMinutes:o,...d==="full"||d==="incremental"?{crawlMode:d}:{},...y?{deploymentProfile:y}:{},...s?{url:s}:{},...g.length>0?{postTypes:g}:{},...C.length>0?{listingPaths:C}:{},...Object.fromEntries(["includePostTypeArchives","includeSubsites","includeTaxonomyArchives","includeAuthorArchives","includeDateArchives","includePostsPage","includeSitemapChain"].filter(c=>typeof n[c]=="boolean").map(c=>[c,n[c]]))}}function J(e){let t=e&&typeof e=="object"?e:{},r=(Array.isArray(t.rules)?t.rules:[]).map((o,i)=>H(o,i)).filter(o=>!!o);return{enabled:t.enabled===!0,timezone:String(t.timezone??"UTC").trim()||"UTC",rules:r}}var h=e=>{let t=e&&typeof e=="object"?e:{},n=Z(t.deploymentProfiles),r=w(t.defaultDeploymentProfile,n),o=w(t.deploymentTargetOverride,n),i={...t};return i.scheduler=J(t.scheduler),i.deploymentProfiles=n,r?i.defaultDeploymentProfile=r:delete i.defaultDeploymentProfile,o?i.deploymentTargetOverride=o:delete i.deploymentTargetOverride,t.subscriptionType==="PROFESSIONAL"||t.subscriptionType==="AGENCY"?i.subscriptionType=t.subscriptionType:delete i.subscriptionType,i},f=async()=>h(await(0,a.getConfig)("publisher")),u=e=>e?.subscriptionType==="PROFESSIONAL"||e?.subscriptionType==="AGENCY",R=u,v=e=>u(e)?"incremental":"full",x=(e,t)=>e==="incremental"&&u(t)?"incremental":"full",m=(e,t)=>{if(!u(e))return"";let n=e?.deploymentProfiles??{};for(let r of[t,e?.deploymentTargetOverride,e?.defaultDeploymentProfile]){let o=typeof r=="string"?r.trim():"";if(o&&n[o])return o}return""},T=(e,t)=>{let n=m(e,t);return n?e?.deploymentProfiles?.[n]??null:null},q=async()=>({config:await f()}),Q={setConfig:e=>({type:"SET_CONFIG",config:e})},V={getConfig(e){return e.config},getState(e){return e}},X={},k=e=>(0,l.select)(e),D=async e=>{let t=(0,a.getWpSuite)();t?.siteSettings&&(t.siteSettings.lastUpdate=Date.now());let n=await f();(0,l.dispatch)(e).setConfig?.(n)},p=async()=>{let e=await q(),t=(0,l.createReduxStore)("smartcloud/publisher",{reducer(n=e,r){return r.type==="SET_CONFIG"?{...n,config:r.config??null}:n},actions:Q,selectors:V,resolvers:X});return(0,l.register)(t),t};var O=require("@smart-cloud/wpsuite-core");var A=()=>typeof WpSuite>"u"?null:WpSuite.plugins?.staticPublisher??null,ee=["accountId","siteId","reCaptchaPublicKey"],te=["subscriber","useRecaptchaNet","useRecaptchaEnterprise","renderRecaptchaProvider"];function ne(e,t){let n=e&&typeof e=="object"?e:{},r={...t??{}};delete r.siteKey;for(let o of ee){if(!Object.hasOwn(n,o))continue;let i=String(n[o]??"").trim();i?r[o]=i:delete r[o]}if(Object.hasOwn(n,"lastUpdate")){let o=Number(n.lastUpdate);Number.isFinite(o)&&o>0?r.lastUpdate=o:delete r.lastUpdate}for(let o of te)Object.hasOwn(n,o)&&(typeof n[o]=="boolean"?r[o]=n[o]:delete r[o]);return r}function re(e){if(!e||typeof window<"u")return;let t=e.trim();if(t)try{let n=new URL(t.includes("://")?t:`https://${t}`),r=globalThis;if(r.location?.hostname)return;Object.defineProperty(r,"location",{value:n,configurable:!0,writable:!0})}catch{}}var I=(e={})=>{let t=(0,O.getWpSuite)(),r={siteSettings:ne(e.siteSettings,t?.siteSettings),nonce:typeof e.nonce=="string"?e.nonce:t?.nonce??"",restUrl:typeof e.restUrl=="string"?e.restUrl:t?.restUrl??"",uploadUrl:typeof e.uploadUrl=="string"?e.uploadUrl:t?.uploadUrl??"",view:e.view??t?.view??"settings",plugins:t?.plugins??{},...t?.events?{events:t.events}:{}};return globalThis.WpSuite=r,re(e.locationHref??e.siteOrigin),r},S=null,j=()=>(S||(S=p()),S),W=()=>Promise.resolve();var E="publisher";0&&(module.exports={PLUGIN_KEY,bootstrapPublisherWpSuite,createStore,getDefaultPublisherCrawlMode,getPublisherPlugin,getStore,getStoreSelect,hasPublisherContentSyncAccess,hasPublisherSubscription,loadPublisherConfig,reloadConfig,resolvePublisherCrawlMode,resolvePublisherDeploymentProfile,resolvePublisherDeploymentProfileId,sanitizePublisherConfig,waitForPublisherReady});
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{getConfig as y,getWpSuite as C}from"@smart-cloud/wpsuite-core";import{createReduxStore as w,dispatch as R,register as v,select as x}from"@wordpress/data";function T(e){let t=e.trim();return t==="."?".":t.replace(/\/$/,"")}function k(e){return!e||typeof e!="object"?{}:Object.fromEntries(Object.entries(e).map(([t,n])=>[t.trim(),String(n??"")]).filter(([t])=>t.length>0))}function f(e){return Array.isArray(e)?e.map(t=>String(t??"").trim()).filter(t=>t.length>0):[]}function D(e){return[...new Set(f(e).map(t=>t.toLowerCase().replace(/[^a-z0-9_-]/g,"")).filter(Boolean))]}function O(e){if(!e||typeof e!="object")return;let t=e,n={};return typeof t.bucket=="string"&&(n.bucket=t.bucket.trim()),typeof t.prefix=="string"&&(n.prefix=t.prefix.trim()),typeof t.region=="string"&&(n.region=t.region.trim()),typeof t.htmlCacheControl=="string"&&(n.htmlCacheControl=t.htmlCacheControl.trim()),typeof t.assetCacheControl=="string"&&(n.assetCacheControl=t.assetCacheControl.trim()),Object.keys(n).length>0?n:void 0}function I(e){if(!e||typeof e!="object")return;let t=e,n={};typeof t.distributionId=="string"&&(n.distributionId=t.distributionId.trim());let r=f(t.invalidationPaths);return r.length>0&&(n.invalidationPaths=r),Object.keys(n).length>0?n:void 0}function j(e){if(!e||typeof e!="object")return null;let t=e,n={};if(typeof t.targetOrigin=="string"){let s=T(t.targetOrigin);s&&(n.targetOrigin=s)}let r=k(t.extraReplacements);Object.keys(r).length>0&&(n.extraReplacements=r);let o=O(t.s3);o&&(n.s3=o);let i=I(t.cloudFront);return i&&(n.cloudFront=i),n}function A(e){if(!e||typeof e!="object")return{};let t={};for(let[n,r]of Object.entries(e)){let o=n.trim();if(!o)continue;let i=j(r);i&&(t[o]=i)}return t}function h(e,t){if(typeof e!="string")return;let n=e.trim();if(!(!n||!t[n]))return n}function W(e,t){if(!e||typeof e!="object")return null;let n=e,r=String(n.command??"").trim();if(r!=="publish"&&r!=="crawl"&&r!=="deploy"&&r!=="invalidate"&&r!=="retry-timeouts"&&r!=="url"&&r!=="content-sync")return null;let o=Number.parseInt(String(n.intervalMinutes??"0"),10);if(!Number.isFinite(o)||o<1)return null;let i=String(n.id??`${r}-${t+1}`).trim();if(!i)return null;let s=String(n.url??"").trim();if(r==="url"&&!s)return null;let c=String(n.crawlMode??"").trim(),P=String(n.deploymentProfile??"").trim(),a=D(n.postTypes),b=f(n.listingPaths);return r==="content-sync"&&a.length===0?null:{id:i,enabled:n.enabled!==!1,command:r,intervalMinutes:o,...c==="full"||c==="incremental"?{crawlMode:c}:{},...P?{deploymentProfile:P}:{},...s?{url:s}:{},...a.length>0?{postTypes:a}:{},...b.length>0?{listingPaths:b}:{},...Object.fromEntries(["includePostTypeArchives","includeSubsites","includeTaxonomyArchives","includeAuthorArchives","includeDateArchives","includePostsPage","includeSitemapChain"].filter(u=>typeof n[u]=="boolean").map(u=>[u,n[u]]))}}function E(e){let t=e&&typeof e=="object"?e:{},r=(Array.isArray(t.rules)?t.rules:[]).map((o,i)=>W(o,i)).filter(o=>!!o);return{enabled:t.enabled===!0,timezone:String(t.timezone??"UTC").trim()||"UTC",rules:r}}var m=e=>{let t=e&&typeof e=="object"?e:{},n=A(t.deploymentProfiles),r=h(t.defaultDeploymentProfile,n),o=h(t.deploymentTargetOverride,n),i={...t};return i.scheduler=E(t.scheduler),i.deploymentProfiles=n,r?i.defaultDeploymentProfile=r:delete i.defaultDeploymentProfile,o?i.deploymentTargetOverride=o:delete i.deploymentTargetOverride,t.subscriptionType==="PROFESSIONAL"||t.subscriptionType==="AGENCY"?i.subscriptionType=t.subscriptionType:delete i.subscriptionType,i},p=async()=>m(await y("publisher")),l=e=>e?.subscriptionType==="PROFESSIONAL"||e?.subscriptionType==="AGENCY",U=l,N=e=>l(e)?"incremental":"full",z=(e,t)=>e==="incremental"&&l(t)?"incremental":"full",S=(e,t)=>{if(!l(e))return"";let n=e?.deploymentProfiles??{};for(let r of[t,e?.deploymentTargetOverride,e?.defaultDeploymentProfile]){let o=typeof r=="string"?r.trim():"";if(o&&n[o])return o}return""},M=(e,t)=>{let n=S(e,t);return n?e?.deploymentProfiles?.[n]??null:null},F=async()=>({config:await p()}),G={setConfig:e=>({type:"SET_CONFIG",config:e})},L={getConfig(e){return e.config},getState(e){return e}},_={},K=e=>x(e),B=async e=>{let t=C();t?.siteSettings&&(t.siteSettings.lastUpdate=Date.now());let n=await p();R(e).setConfig?.(n)},d=async()=>{let e=await F(),t=w("smartcloud/publisher",{reducer(n=e,r){return r.type==="SET_CONFIG"?{...n,config:r.config??null}:n},actions:G,selectors:L,resolvers:_});return v(t),t};import{getWpSuite as Y}from"@smart-cloud/wpsuite-core";var $=()=>typeof WpSuite>"u"?null:WpSuite.plugins?.staticPublisher??null,H=["accountId","siteId","reCaptchaPublicKey"],J=["subscriber","useRecaptchaNet","useRecaptchaEnterprise","renderRecaptchaProvider"];function q(e,t){let n=e&&typeof e=="object"?e:{},r={...t??{}};delete r.siteKey;for(let o of H){if(!Object.hasOwn(n,o))continue;let i=String(n[o]??"").trim();i?r[o]=i:delete r[o]}if(Object.hasOwn(n,"lastUpdate")){let o=Number(n.lastUpdate);Number.isFinite(o)&&o>0?r.lastUpdate=o:delete r.lastUpdate}for(let o of J)Object.hasOwn(n,o)&&(typeof n[o]=="boolean"?r[o]=n[o]:delete r[o]);return r}function Q(e){if(!e||typeof window<"u")return;let t=e.trim();if(t)try{let n=new URL(t.includes("://")?t:`https://${t}`),r=globalThis;if(r.location?.hostname)return;Object.defineProperty(r,"location",{value:n,configurable:!0,writable:!0})}catch{}}var V=(e={})=>{let t=Y(),r={siteSettings:q(e.siteSettings,t?.siteSettings),nonce:typeof e.nonce=="string"?e.nonce:t?.nonce??"",restUrl:typeof e.restUrl=="string"?e.restUrl:t?.restUrl??"",uploadUrl:typeof e.uploadUrl=="string"?e.uploadUrl:t?.uploadUrl??"",view:e.view??t?.view??"settings",plugins:t?.plugins??{},...t?.events?{events:t.events}:{}};return globalThis.WpSuite=r,Q(e.locationHref??e.siteOrigin),r},g=null,X=()=>(g||(g=d()),g),Z=()=>Promise.resolve();var ee="publisher";export{ee as PLUGIN_KEY,V as bootstrapPublisherWpSuite,d as createStore,N as getDefaultPublisherCrawlMode,$ as getPublisherPlugin,X as getStore,K as getStoreSelect,U as hasPublisherContentSyncAccess,l as hasPublisherSubscription,p as loadPublisherConfig,B as reloadConfig,z as resolvePublisherCrawlMode,M as resolvePublisherDeploymentProfile,S as resolvePublisherDeploymentProfileId,m as sanitizePublisherConfig,Z as waitForPublisherReady};
1
+ import{getConfig as y,getWpSuite as C}from"@smart-cloud/wpsuite-core";import{createReduxStore as w,dispatch as R,register as v,select as x}from"@wordpress/data";function T(e){let t=e.trim();return t==="."?".":t.replace(/\/$/,"")}function k(e){return!e||typeof e!="object"?{}:Object.fromEntries(Object.entries(e).map(([t,n])=>[t.trim(),String(n??"")]).filter(([t])=>t.length>0))}function f(e){return Array.isArray(e)?e.map(t=>String(t??"").trim()).filter(t=>t.length>0):[]}function D(e){return[...new Set(f(e).map(t=>t.toLowerCase().replace(/[^a-z0-9_-]/g,"")).filter(Boolean))]}function O(e){if(!e||typeof e!="object")return;let t=e,n={};return typeof t.bucket=="string"&&(n.bucket=t.bucket.trim()),typeof t.prefix=="string"&&(n.prefix=t.prefix.trim()),typeof t.region=="string"&&(n.region=t.region.trim()),typeof t.htmlCacheControl=="string"&&(n.htmlCacheControl=t.htmlCacheControl.trim()),typeof t.assetCacheControl=="string"&&(n.assetCacheControl=t.assetCacheControl.trim()),Object.keys(n).length>0?n:void 0}function A(e){if(!e||typeof e!="object")return;let t=e,n={};typeof t.distributionId=="string"&&(n.distributionId=t.distributionId.trim());let r=f(t.invalidationPaths);return r.length>0&&(n.invalidationPaths=r),Object.keys(n).length>0?n:void 0}function I(e){if(!e||typeof e!="object")return null;let t=e,n={};if(typeof t.awsProfile=="string"&&/^[A-Za-z0-9][A-Za-z0-9_.@+=,-]{0,127}$/.test(t.awsProfile.trim())){let s=t.awsProfile.trim();s&&(n.awsProfile=s)}if(typeof t.targetOrigin=="string"){let s=T(t.targetOrigin);s&&(n.targetOrigin=s)}let r=k(t.extraReplacements);Object.keys(r).length>0&&(n.extraReplacements=r);let o=O(t.s3);o&&(n.s3=o);let i=A(t.cloudFront);return i&&(n.cloudFront=i),n}function j(e){if(!e||typeof e!="object")return{};let t={};for(let[n,r]of Object.entries(e)){let o=n.trim();if(!o)continue;let i=I(r);i&&(t[o]=i)}return t}function h(e,t){if(typeof e!="string")return;let n=e.trim();if(!(!n||!t[n]))return n}function W(e,t){if(!e||typeof e!="object")return null;let n=e,r=String(n.command??"").trim();if(r!=="publish"&&r!=="crawl"&&r!=="deploy"&&r!=="invalidate"&&r!=="retry-timeouts"&&r!=="url"&&r!=="content-sync")return null;let o=Number.parseInt(String(n.intervalMinutes??"0"),10);if(!Number.isFinite(o)||o<1)return null;let i=String(n.id??`${r}-${t+1}`).trim();if(!i)return null;let s=String(n.url??"").trim();if(r==="url"&&!s)return null;let c=String(n.crawlMode??"").trim(),P=String(n.deploymentProfile??"").trim(),a=D(n.postTypes),b=f(n.listingPaths);return r==="content-sync"&&a.length===0?null:{id:i,enabled:n.enabled!==!1,command:r,intervalMinutes:o,...c==="full"||c==="incremental"?{crawlMode:c}:{},...P?{deploymentProfile:P}:{},...s?{url:s}:{},...a.length>0?{postTypes:a}:{},...b.length>0?{listingPaths:b}:{},...Object.fromEntries(["includePostTypeArchives","includeSubsites","includeTaxonomyArchives","includeAuthorArchives","includeDateArchives","includePostsPage","includeSitemapChain"].filter(u=>typeof n[u]=="boolean").map(u=>[u,n[u]]))}}function E(e){let t=e&&typeof e=="object"?e:{},r=(Array.isArray(t.rules)?t.rules:[]).map((o,i)=>W(o,i)).filter(o=>!!o);return{enabled:t.enabled===!0,timezone:String(t.timezone??"UTC").trim()||"UTC",rules:r}}var m=e=>{let t=e&&typeof e=="object"?e:{},n=j(t.deploymentProfiles),r=h(t.defaultDeploymentProfile,n),o=h(t.deploymentTargetOverride,n),i={...t};return i.scheduler=E(t.scheduler),i.deploymentProfiles=n,r?i.defaultDeploymentProfile=r:delete i.defaultDeploymentProfile,o?i.deploymentTargetOverride=o:delete i.deploymentTargetOverride,t.subscriptionType==="PROFESSIONAL"||t.subscriptionType==="AGENCY"?i.subscriptionType=t.subscriptionType:delete i.subscriptionType,i},p=async()=>m(await y("publisher")),l=e=>e?.subscriptionType==="PROFESSIONAL"||e?.subscriptionType==="AGENCY",z=l,U=e=>l(e)?"incremental":"full",N=(e,t)=>e==="incremental"&&l(t)?"incremental":"full",S=(e,t)=>{if(!l(e))return"";let n=e?.deploymentProfiles??{};for(let r of[t,e?.deploymentTargetOverride,e?.defaultDeploymentProfile]){let o=typeof r=="string"?r.trim():"";if(o&&n[o])return o}return""},M=(e,t)=>{let n=S(e,t);return n?e?.deploymentProfiles?.[n]??null:null},F=async()=>({config:await p()}),G={setConfig:e=>({type:"SET_CONFIG",config:e})},L={getConfig(e){return e.config},getState(e){return e}},_={},K=e=>x(e),B=async e=>{let t=C();t?.siteSettings&&(t.siteSettings.lastUpdate=Date.now());let n=await p();R(e).setConfig?.(n)},d=async()=>{let e=await F(),t=w("smartcloud/publisher",{reducer(n=e,r){return r.type==="SET_CONFIG"?{...n,config:r.config??null}:n},actions:G,selectors:L,resolvers:_});return v(t),t};import{getWpSuite as Y}from"@smart-cloud/wpsuite-core";var $=()=>typeof WpSuite>"u"?null:WpSuite.plugins?.staticPublisher??null,Z=["accountId","siteId","reCaptchaPublicKey"],H=["subscriber","useRecaptchaNet","useRecaptchaEnterprise","renderRecaptchaProvider"];function J(e,t){let n=e&&typeof e=="object"?e:{},r={...t??{}};delete r.siteKey;for(let o of Z){if(!Object.hasOwn(n,o))continue;let i=String(n[o]??"").trim();i?r[o]=i:delete r[o]}if(Object.hasOwn(n,"lastUpdate")){let o=Number(n.lastUpdate);Number.isFinite(o)&&o>0?r.lastUpdate=o:delete r.lastUpdate}for(let o of H)Object.hasOwn(n,o)&&(typeof n[o]=="boolean"?r[o]=n[o]:delete r[o]);return r}function q(e){if(!e||typeof window<"u")return;let t=e.trim();if(t)try{let n=new URL(t.includes("://")?t:`https://${t}`),r=globalThis;if(r.location?.hostname)return;Object.defineProperty(r,"location",{value:n,configurable:!0,writable:!0})}catch{}}var Q=(e={})=>{let t=Y(),r={siteSettings:J(e.siteSettings,t?.siteSettings),nonce:typeof e.nonce=="string"?e.nonce:t?.nonce??"",restUrl:typeof e.restUrl=="string"?e.restUrl:t?.restUrl??"",uploadUrl:typeof e.uploadUrl=="string"?e.uploadUrl:t?.uploadUrl??"",view:e.view??t?.view??"settings",plugins:t?.plugins??{},...t?.events?{events:t.events}:{}};return globalThis.WpSuite=r,q(e.locationHref??e.siteOrigin),r},g=null,V=()=>(g||(g=d()),g),X=()=>Promise.resolve();var ee="publisher";export{ee as PLUGIN_KEY,Q as bootstrapPublisherWpSuite,d as createStore,U as getDefaultPublisherCrawlMode,$ as getPublisherPlugin,V as getStore,K as getStoreSelect,z as hasPublisherContentSyncAccess,l as hasPublisherSubscription,p as loadPublisherConfig,B as reloadConfig,N as resolvePublisherCrawlMode,M as resolvePublisherDeploymentProfile,S as resolvePublisherDeploymentProfileId,m as sanitizePublisherConfig,X as waitForPublisherReady};
package/dist/types.d.ts CHANGED
@@ -88,6 +88,7 @@ export interface PublisherCloudFrontConfig {
88
88
  invalidationPaths: string[];
89
89
  }
90
90
  export interface PublisherDeploymentProfile {
91
+ awsProfile?: string;
91
92
  targetOrigin?: string;
92
93
  extraReplacements?: Record<string, string>;
93
94
  s3?: Partial<PublisherS3Config>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smart-cloud/publisher-core",
3
- "version": "1.1.9",
3
+ "version": "1.1.11",
4
4
  "description": "Publisher Core Package",
5
5
  "author": "Smart Cloud Solutions Inc.",
6
6
  "license": "MIT",
@@ -37,7 +37,7 @@
37
37
  },
38
38
  "sideEffects": false,
39
39
  "dependencies": {
40
- "@smart-cloud/wpsuite-core": "^2.4.0"
40
+ "@smart-cloud/wpsuite-core": "^2.4.1"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "@wordpress/data": "^10.54.0",