@smart-cloud/publisher-core 1.1.0 → 1.1.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/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var g=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var w=(e,t)=>{for(var r in t)g(e,r,{get:t[r],enumerable:!0})},R=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of y(t))!C.call(e,n)&&n!==r&&g(e,n,{get:()=>t[n],enumerable:!(o=d(t,n))||o.enumerable});return e};var x=e=>R(g({},"__esModule",{value:!0}),e);var E={};w(E,{PLUGIN_KEY:()=>P,createStore:()=>c,getPublisherPlugin:()=>b,getStore:()=>h,getStoreSelect:()=>p,reloadConfig:()=>S,sanitizePublisherConfig:()=>l,waitForPublisherReady:()=>m});module.exports=x(E);var s=require("@smart-cloud/wpsuite-core"),i=require("@wordpress/data");function k(e,t){if(!e||typeof e!="object")return null;let r=e,o=String(r.command??"").trim();if(o!=="publish"&&o!=="crawl"&&o!=="deploy"&&o!=="invalidate"&&o!=="retry-timeouts"&&o!=="url")return null;let n=Number.parseInt(String(r.intervalMinutes??"0"),10);if(!Number.isFinite(n)||n<1)return null;let u=String(r.id??`${o}-${t+1}`).trim();if(!u)return null;let a=String(r.url??"").trim();return o==="url"&&!a?null:{id:u,enabled:r.enabled!==!1,command:o,intervalMinutes:n,...a?{url:a}:{}}}function T(e){let t=e&&typeof e=="object"?e:{},o=(Array.isArray(t.rules)?t.rules:[]).map((n,u)=>k(n,u)).filter(n=>!!n);return{enabled:t.enabled===!0,timezone:String(t.timezone??"UTC").trim()||"UTC",rules:o}}var l=e=>{let t=e&&typeof e=="object"?e:{},r={...t};return r.scheduler=T(t.scheduler),typeof t.subscriptionType=="string"&&(r.subscriptionType=t.subscriptionType),r},v=async()=>({config:l(await(0,s.getConfig)("publisher"))}),z={setConfig:e=>({type:"SET_CONFIG",config:e})},U={getConfig(e){return e.config},getState(e){return e}},A={},p=e=>(0,i.select)(e),S=async e=>{let t=(0,s.getWpSuite)();t?.siteSettings&&(t.siteSettings.lastUpdate=Date.now());let r=await(0,s.getConfig)("publisher"),o=l(r);(0,i.dispatch)(e).setConfig?.(o)},c=async()=>{let e=await v(),t=(0,i.createReduxStore)("smartcloud/publisher",{reducer(r=e,o){return o.type==="SET_CONFIG"?{...r,config:o.config??null}:r},actions:z,selectors:U,resolvers:A});return(0,i.register)(t),t};var b=()=>typeof WpSuite>"u"?null:WpSuite.plugins?.staticPublisher??null,f=null,h=()=>(f||(f=c()),f),m=()=>Promise.resolve();var P="publisher";0&&(module.exports={PLUGIN_KEY,createStore,getPublisherPlugin,getStore,getStoreSelect,reloadConfig,sanitizePublisherConfig,waitForPublisherReady});
1
+ "use strict";var d=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var U=Object.prototype.hasOwnProperty;var j=(e,t)=>{for(var r in t)d(e,r,{get:t[r],enumerable:!0})},E=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of W(t))!U.call(e,o)&&o!==r&&d(e,o,{get:()=>t[o],enumerable:!(n=I(t,o))||n.enumerable});return e};var M=e=>E(d({},"__esModule",{value:!0}),e);var Z={};j(Z,{PLUGIN_KEY:()=>T,bootstrapPublisherWpSuite:()=>v,createStore:()=>f,getDefaultPublisherCrawlMode:()=>S,getPublisherPlugin:()=>x,getStore:()=>D,getStoreSelect:()=>w,hasPublisherSubscription:()=>u,loadPublisherConfig:()=>c,reloadConfig:()=>R,resolvePublisherCrawlMode:()=>y,resolvePublisherDeploymentProfile:()=>C,resolvePublisherDeploymentProfileId:()=>b,sanitizePublisherConfig:()=>g,waitForPublisherReady:()=>O});module.exports=M(Z);var a=require("@smart-cloud/wpsuite-core"),s=require("@wordpress/data");function N(e){let t=e.trim();return t==="."?".":t.replace(/\/$/,"")}function z(e){return!e||typeof e!="object"?{}:Object.fromEntries(Object.entries(e).map(([t,r])=>[t.trim(),String(r??"")]).filter(([t])=>t.length>0))}function F(e){return Array.isArray(e)?e.map(t=>String(t??"").trim()).filter(t=>t.length>0):[]}function A(e){if(!e||typeof e!="object")return;let t=e,r={};return typeof t.bucket=="string"&&(r.bucket=t.bucket.trim()),typeof t.prefix=="string"&&(r.prefix=t.prefix.trim()),typeof t.region=="string"&&(r.region=t.region.trim()),typeof t.htmlCacheControl=="string"&&(r.htmlCacheControl=t.htmlCacheControl.trim()),typeof t.assetCacheControl=="string"&&(r.assetCacheControl=t.assetCacheControl.trim()),Object.keys(r).length>0?r:void 0}function G(e){if(!e||typeof e!="object")return;let t=e,r={};typeof t.distributionId=="string"&&(r.distributionId=t.distributionId.trim());let n=F(t.invalidationPaths);return n.length>0&&(r.invalidationPaths=n),Object.keys(r).length>0?r:void 0}function L(e){if(!e||typeof e!="object")return null;let t=e,r={};if(typeof t.targetOrigin=="string"){let l=N(t.targetOrigin);l&&(r.targetOrigin=l)}let n=z(t.extraReplacements);Object.keys(n).length>0&&(r.extraReplacements=n);let o=A(t.s3);o&&(r.s3=o);let i=G(t.cloudFront);return i&&(r.cloudFront=i),r}function _(e){if(!e||typeof e!="object")return{};let t={};for(let[r,n]of Object.entries(e)){let o=r.trim();if(!o)continue;let i=L(n);i&&(t[o]=i)}return t}function h(e,t){if(typeof e!="string")return;let r=e.trim();if(!(!r||!t[r]))return r}function K(e,t){if(!e||typeof e!="object")return null;let r=e,n=String(r.command??"").trim();if(n!=="publish"&&n!=="crawl"&&n!=="deploy"&&n!=="invalidate"&&n!=="retry-timeouts"&&n!=="url")return null;let o=Number.parseInt(String(r.intervalMinutes??"0"),10);if(!Number.isFinite(o)||o<1)return null;let i=String(r.id??`${n}-${t+1}`).trim();if(!i)return null;let l=String(r.url??"").trim();if(n==="url"&&!l)return null;let p=String(r.crawlMode??"").trim(),m=String(r.deploymentProfile??"").trim();return{id:i,enabled:r.enabled!==!1,command:n,intervalMinutes:o,...p==="full"||p==="incremental"?{crawlMode:p}:{},...m?{deploymentProfile:m}:{},...l?{url:l}:{}}}function B(e){let t=e&&typeof e=="object"?e:{},n=(Array.isArray(t.rules)?t.rules:[]).map((o,i)=>K(o,i)).filter(o=>!!o);return{enabled:t.enabled===!0,timezone:String(t.timezone??"UTC").trim()||"UTC",rules:n}}var g=e=>{let t=e&&typeof e=="object"?e:{},r=_(t.deploymentProfiles),n=h(t.defaultDeploymentProfile,r),o=h(t.deploymentTargetOverride,r),i={...t};return i.scheduler=B(t.scheduler),i.deploymentProfiles=r,n?i.defaultDeploymentProfile=n:delete i.defaultDeploymentProfile,o?i.deploymentTargetOverride=o:delete i.deploymentTargetOverride,t.subscriptionType==="PROFESSIONAL"||t.subscriptionType==="AGENCY"?i.subscriptionType=t.subscriptionType:delete i.subscriptionType,i},c=async()=>g(await(0,a.getConfig)("publisher")),u=e=>typeof e?.subscriptionType=="string"&&e.subscriptionType.trim().length>0,S=e=>u(e)?"incremental":"full",y=(e,t)=>e==="incremental"&&u(t)?"incremental":"full",b=(e,t)=>{if(!u(e))return"";let r=e?.deploymentProfiles??{};for(let n of[t,e?.deploymentTargetOverride,e?.defaultDeploymentProfile]){let o=typeof n=="string"?n.trim():"";if(o&&r[o])return o}return""},C=(e,t)=>{let r=b(e,t);return r?e?.deploymentProfiles?.[r]??null:null},Y=async()=>({config:await c()}),$={setConfig:e=>({type:"SET_CONFIG",config:e})},H={getConfig(e){return e.config},getState(e){return e}},J={},w=e=>(0,s.select)(e),R=async e=>{let t=(0,a.getWpSuite)();t?.siteSettings&&(t.siteSettings.lastUpdate=Date.now());let r=await c();(0,s.dispatch)(e).setConfig?.(r)},f=async()=>{let e=await Y(),t=(0,s.createReduxStore)("smartcloud/publisher",{reducer(r=e,n){return n.type==="SET_CONFIG"?{...r,config:n.config??null}:r},actions:$,selectors:H,resolvers:J});return(0,s.register)(t),t};var k=require("@smart-cloud/wpsuite-core");var x=()=>typeof WpSuite>"u"?null:WpSuite.plugins?.staticPublisher??null,q=["accountId","siteId","wpsuiteThemeCss","reCaptchaPublicKey"],Q=["subscriber","useRecaptchaNet","useRecaptchaEnterprise","renderRecaptchaProvider"];function V(e,t){let r=e&&typeof e=="object"?e:{},n={...t??{}};delete n.siteKey;for(let o of q){if(!Object.hasOwn(r,o))continue;let i=String(r[o]??"").trim();i?n[o]=i:delete n[o]}if(Object.hasOwn(r,"lastUpdate")){let o=Number(r.lastUpdate);Number.isFinite(o)&&o>0?n.lastUpdate=o:delete n.lastUpdate}for(let o of Q)Object.hasOwn(r,o)&&(typeof r[o]=="boolean"?n[o]=r[o]:delete n[o]);return n}function X(e){if(!e||typeof window<"u")return;let t=e.trim();if(t)try{let r=new URL(t.includes("://")?t:`https://${t}`),n=globalThis;if(n.location?.hostname)return;Object.defineProperty(n,"location",{value:r,configurable:!0,writable:!0})}catch{}}var v=(e={})=>{let t=(0,k.getWpSuite)(),n={siteSettings:V(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=n,X(e.locationHref??e.siteOrigin),n},P=null,D=()=>(P||(P=f()),P),O=()=>Promise.resolve();var T="publisher";0&&(module.exports={PLUGIN_KEY,bootstrapPublisherWpSuite,createStore,getDefaultPublisherCrawlMode,getPublisherPlugin,getStore,getStoreSelect,hasPublisherSubscription,loadPublisherConfig,reloadConfig,resolvePublisherCrawlMode,resolvePublisherDeploymentProfile,resolvePublisherDeploymentProfileId,sanitizePublisherConfig,waitForPublisherReady});
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { createStore, getStoreSelect, reloadConfig, sanitizePublisherConfig, type State, type Store, } from "./store";
2
- export { getPublisherPlugin, getStore, waitForPublisherReady, type PublisherPlugin, } from "./runtime";
3
- export type { PublisherJobCommand, PublisherSchedulerConfig, PublisherSchedulerRule, PublisherRemoteConfig, } from "./types";
1
+ export { createStore, getDefaultPublisherCrawlMode, hasPublisherSubscription, getStoreSelect, loadPublisherConfig, reloadConfig, resolvePublisherCrawlMode, resolvePublisherDeploymentProfile, resolvePublisherDeploymentProfileId, sanitizePublisherConfig, type State, type Store, } from "./store";
2
+ export { bootstrapPublisherWpSuite, getPublisherPlugin, getStore, waitForPublisherReady, type PublisherPlugin, } from "./runtime";
3
+ export type { PublisherCloudFrontConfig, PublisherCrawlMode, PublisherDeploymentProfile, PublisherDeploymentProfiles, PublisherExtraDeploymentTargets, PublisherJobCommand, PublisherSchedulerConfig, PublisherSchedulerRule, PublisherRemoteConfig, PublisherS3Config, PublisherWpSuiteBootstrapInput, PublisherWpSuiteSiteSettings, } from "./types";
4
4
  export { PLUGIN_KEY } from "./constants";
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{getConfig as a,getWpSuite as g}from"@smart-cloud/wpsuite-core";import{createReduxStore as f,dispatch as p,register as S,select as b}from"@wordpress/data";function h(e,t){if(!e||typeof e!="object")return null;let o=e,r=String(o.command??"").trim();if(r!=="publish"&&r!=="crawl"&&r!=="deploy"&&r!=="invalidate"&&r!=="retry-timeouts"&&r!=="url")return null;let n=Number.parseInt(String(o.intervalMinutes??"0"),10);if(!Number.isFinite(n)||n<1)return null;let i=String(o.id??`${r}-${t+1}`).trim();if(!i)return null;let s=String(o.url??"").trim();return r==="url"&&!s?null:{id:i,enabled:o.enabled!==!1,command:r,intervalMinutes:n,...s?{url:s}:{}}}function m(e){let t=e&&typeof e=="object"?e:{},r=(Array.isArray(t.rules)?t.rules:[]).map((n,i)=>h(n,i)).filter(n=>!!n);return{enabled:t.enabled===!0,timezone:String(t.timezone??"UTC").trim()||"UTC",rules:r}}var u=e=>{let t=e&&typeof e=="object"?e:{},o={...t};return o.scheduler=m(t.scheduler),typeof t.subscriptionType=="string"&&(o.subscriptionType=t.subscriptionType),o},P=async()=>({config:u(await a("publisher"))}),d={setConfig:e=>({type:"SET_CONFIG",config:e})},y={getConfig(e){return e.config},getState(e){return e}},C={},w=e=>b(e),R=async e=>{let t=g();t?.siteSettings&&(t.siteSettings.lastUpdate=Date.now());let o=await a("publisher"),r=u(o);p(e).setConfig?.(r)},l=async()=>{let e=await P(),t=f("smartcloud/publisher",{reducer(o=e,r){return r.type==="SET_CONFIG"?{...o,config:r.config??null}:o},actions:d,selectors:y,resolvers:C});return S(t),t};var x=()=>typeof WpSuite>"u"?null:WpSuite.plugins?.staticPublisher??null,c=null,k=()=>(c||(c=l()),c),T=()=>Promise.resolve();var v="publisher";export{v as PLUGIN_KEY,l as createStore,x as getPublisherPlugin,k as getStore,w as getStoreSelect,R as reloadConfig,u as sanitizePublisherConfig,T as waitForPublisherReady};
1
+ import{getConfig as P,getWpSuite as m}from"@smart-cloud/wpsuite-core";import{createReduxStore as h,dispatch as S,register as y,select as C}from"@wordpress/data";function w(e){let t=e.trim();return t==="."?".":t.replace(/\/$/,"")}function R(e){return!e||typeof e!="object"?{}:Object.fromEntries(Object.entries(e).map(([t,r])=>[t.trim(),String(r??"")]).filter(([t])=>t.length>0))}function k(e){return Array.isArray(e)?e.map(t=>String(t??"").trim()).filter(t=>t.length>0):[]}function x(e){if(!e||typeof e!="object")return;let t=e,r={};return typeof t.bucket=="string"&&(r.bucket=t.bucket.trim()),typeof t.prefix=="string"&&(r.prefix=t.prefix.trim()),typeof t.region=="string"&&(r.region=t.region.trim()),typeof t.htmlCacheControl=="string"&&(r.htmlCacheControl=t.htmlCacheControl.trim()),typeof t.assetCacheControl=="string"&&(r.assetCacheControl=t.assetCacheControl.trim()),Object.keys(r).length>0?r:void 0}function v(e){if(!e||typeof e!="object")return;let t=e,r={};typeof t.distributionId=="string"&&(r.distributionId=t.distributionId.trim());let n=k(t.invalidationPaths);return n.length>0&&(r.invalidationPaths=n),Object.keys(r).length>0?r:void 0}function D(e){if(!e||typeof e!="object")return null;let t=e,r={};if(typeof t.targetOrigin=="string"){let s=w(t.targetOrigin);s&&(r.targetOrigin=s)}let n=R(t.extraReplacements);Object.keys(n).length>0&&(r.extraReplacements=n);let o=x(t.s3);o&&(r.s3=o);let i=v(t.cloudFront);return i&&(r.cloudFront=i),r}function O(e){if(!e||typeof e!="object")return{};let t={};for(let[r,n]of Object.entries(e)){let o=r.trim();if(!o)continue;let i=D(n);i&&(t[o]=i)}return t}function d(e,t){if(typeof e!="string")return;let r=e.trim();if(!(!r||!t[r]))return r}function T(e,t){if(!e||typeof e!="object")return null;let r=e,n=String(r.command??"").trim();if(n!=="publish"&&n!=="crawl"&&n!=="deploy"&&n!=="invalidate"&&n!=="retry-timeouts"&&n!=="url")return null;let o=Number.parseInt(String(r.intervalMinutes??"0"),10);if(!Number.isFinite(o)||o<1)return null;let i=String(r.id??`${n}-${t+1}`).trim();if(!i)return null;let s=String(r.url??"").trim();if(n==="url"&&!s)return null;let u=String(r.crawlMode??"").trim(),p=String(r.deploymentProfile??"").trim();return{id:i,enabled:r.enabled!==!1,command:n,intervalMinutes:o,...u==="full"||u==="incremental"?{crawlMode:u}:{},...p?{deploymentProfile:p}:{},...s?{url:s}:{}}}function I(e){let t=e&&typeof e=="object"?e:{},n=(Array.isArray(t.rules)?t.rules:[]).map((o,i)=>T(o,i)).filter(o=>!!o);return{enabled:t.enabled===!0,timezone:String(t.timezone??"UTC").trim()||"UTC",rules:n}}var g=e=>{let t=e&&typeof e=="object"?e:{},r=O(t.deploymentProfiles),n=d(t.defaultDeploymentProfile,r),o=d(t.deploymentTargetOverride,r),i={...t};return i.scheduler=I(t.scheduler),i.deploymentProfiles=r,n?i.defaultDeploymentProfile=n:delete i.defaultDeploymentProfile,o?i.deploymentTargetOverride=o:delete i.deploymentTargetOverride,t.subscriptionType==="PROFESSIONAL"||t.subscriptionType==="AGENCY"?i.subscriptionType=t.subscriptionType:delete i.subscriptionType,i},a=async()=>g(await P("publisher")),l=e=>typeof e?.subscriptionType=="string"&&e.subscriptionType.trim().length>0,W=e=>l(e)?"incremental":"full",U=(e,t)=>e==="incremental"&&l(t)?"incremental":"full",b=(e,t)=>{if(!l(e))return"";let r=e?.deploymentProfiles??{};for(let n of[t,e?.deploymentTargetOverride,e?.defaultDeploymentProfile]){let o=typeof n=="string"?n.trim():"";if(o&&r[o])return o}return""},j=(e,t)=>{let r=b(e,t);return r?e?.deploymentProfiles?.[r]??null:null},E=async()=>({config:await a()}),M={setConfig:e=>({type:"SET_CONFIG",config:e})},N={getConfig(e){return e.config},getState(e){return e}},z={},F=e=>C(e),A=async e=>{let t=m();t?.siteSettings&&(t.siteSettings.lastUpdate=Date.now());let r=await a();S(e).setConfig?.(r)},c=async()=>{let e=await E(),t=h("smartcloud/publisher",{reducer(r=e,n){return n.type==="SET_CONFIG"?{...r,config:n.config??null}:r},actions:M,selectors:N,resolvers:z});return y(t),t};import{getWpSuite as G}from"@smart-cloud/wpsuite-core";var L=()=>typeof WpSuite>"u"?null:WpSuite.plugins?.staticPublisher??null,_=["accountId","siteId","wpsuiteThemeCss","reCaptchaPublicKey"],K=["subscriber","useRecaptchaNet","useRecaptchaEnterprise","renderRecaptchaProvider"];function B(e,t){let r=e&&typeof e=="object"?e:{},n={...t??{}};delete n.siteKey;for(let o of _){if(!Object.hasOwn(r,o))continue;let i=String(r[o]??"").trim();i?n[o]=i:delete n[o]}if(Object.hasOwn(r,"lastUpdate")){let o=Number(r.lastUpdate);Number.isFinite(o)&&o>0?n.lastUpdate=o:delete n.lastUpdate}for(let o of K)Object.hasOwn(r,o)&&(typeof r[o]=="boolean"?n[o]=r[o]:delete n[o]);return n}function Y(e){if(!e||typeof window<"u")return;let t=e.trim();if(t)try{let r=new URL(t.includes("://")?t:`https://${t}`),n=globalThis;if(n.location?.hostname)return;Object.defineProperty(n,"location",{value:r,configurable:!0,writable:!0})}catch{}}var $=(e={})=>{let t=G(),n={siteSettings:B(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=n,Y(e.locationHref??e.siteOrigin),n},f=null,H=()=>(f||(f=c()),f),J=()=>Promise.resolve();var q="publisher";export{q as PLUGIN_KEY,$ as bootstrapPublisherWpSuite,c as createStore,W as getDefaultPublisherCrawlMode,L as getPublisherPlugin,H as getStore,F as getStoreSelect,l as hasPublisherSubscription,a as loadPublisherConfig,A as reloadConfig,U as resolvePublisherCrawlMode,j as resolvePublisherDeploymentProfile,b as resolvePublisherDeploymentProfileId,g as sanitizePublisherConfig,J as waitForPublisherReady};
package/dist/runtime.d.ts CHANGED
@@ -1,4 +1,6 @@
1
+ import { type WpSuiteGlobal } from "@smart-cloud/wpsuite-core";
1
2
  import { type Store } from "./store";
3
+ import type { PublisherWpSuiteBootstrapInput } from "./types";
2
4
  export type PublisherPlugin = {
3
5
  restUrl?: string;
4
6
  nonce?: string;
@@ -6,5 +8,6 @@ export type PublisherPlugin = {
6
8
  view?: string;
7
9
  };
8
10
  export declare const getPublisherPlugin: () => PublisherPlugin | null;
11
+ export declare const bootstrapPublisherWpSuite: (input?: PublisherWpSuiteBootstrapInput) => WpSuiteGlobal;
9
12
  export declare const getStore: () => Promise<Store>;
10
13
  export declare const waitForPublisherReady: () => Promise<void>;
package/dist/store.d.ts CHANGED
@@ -1,6 +1,12 @@
1
1
  import { type StoreDescriptor } from "@wordpress/data";
2
- import type { PublisherRemoteConfig } from "./types";
2
+ import type { PublisherCrawlMode, PublisherDeploymentProfile, PublisherRemoteConfig } from "./types";
3
3
  export declare const sanitizePublisherConfig: (input: unknown) => PublisherRemoteConfig;
4
+ export declare const loadPublisherConfig: () => Promise<PublisherRemoteConfig>;
5
+ export declare const hasPublisherSubscription: (config: PublisherRemoteConfig | null | undefined) => boolean;
6
+ export declare const getDefaultPublisherCrawlMode: (config: PublisherRemoteConfig | null | undefined) => PublisherCrawlMode;
7
+ export declare const resolvePublisherCrawlMode: (requestedMode: PublisherCrawlMode | null | undefined, config: PublisherRemoteConfig | null | undefined) => PublisherCrawlMode;
8
+ export declare const resolvePublisherDeploymentProfileId: (config: PublisherRemoteConfig | null | undefined, requestedProfile: string | null | undefined) => string;
9
+ export declare const resolvePublisherDeploymentProfile: (config: PublisherRemoteConfig | null | undefined, requestedProfile: string | null | undefined) => PublisherDeploymentProfile | null;
4
10
  declare const actions: {
5
11
  setConfig: (config: PublisherRemoteConfig) => {
6
12
  type: "SET_CONFIG";
package/dist/types.d.ts CHANGED
@@ -1,9 +1,13 @@
1
+ import type { SiteSettings, SubscriptionType, WpSuiteView } from "@smart-cloud/wpsuite-core";
1
2
  export type PublisherJobCommand = "publish" | "crawl" | "deploy" | "invalidate" | "retry-timeouts" | "url";
3
+ export type PublisherCrawlMode = "full" | "incremental";
2
4
  export interface PublisherSchedulerRule {
3
5
  id: string;
4
6
  enabled: boolean;
5
7
  command: PublisherJobCommand;
6
8
  intervalMinutes: number;
9
+ crawlMode?: PublisherCrawlMode;
10
+ deploymentProfile?: string;
7
11
  url?: string;
8
12
  }
9
13
  export interface PublisherSchedulerConfig {
@@ -11,8 +15,40 @@ export interface PublisherSchedulerConfig {
11
15
  timezone: string;
12
16
  rules: PublisherSchedulerRule[];
13
17
  }
18
+ export interface PublisherS3Config {
19
+ bucket: string;
20
+ prefix: string;
21
+ region: string;
22
+ htmlCacheControl: string;
23
+ assetCacheControl: string;
24
+ }
25
+ export interface PublisherCloudFrontConfig {
26
+ distributionId: string;
27
+ invalidationPaths: string[];
28
+ }
29
+ export interface PublisherDeploymentProfile {
30
+ targetOrigin?: string;
31
+ extraReplacements?: Record<string, string>;
32
+ s3?: Partial<PublisherS3Config>;
33
+ cloudFront?: Partial<PublisherCloudFrontConfig>;
34
+ }
35
+ export type PublisherDeploymentProfiles = Record<string, PublisherDeploymentProfile>;
36
+ export type PublisherExtraDeploymentTargets = PublisherDeploymentProfiles;
37
+ export type PublisherWpSuiteSiteSettings = Omit<SiteSettings, "siteKey">;
38
+ export interface PublisherWpSuiteBootstrapInput {
39
+ siteSettings?: Partial<PublisherWpSuiteSiteSettings> | null;
40
+ uploadUrl?: string;
41
+ restUrl?: string;
42
+ nonce?: string;
43
+ view?: WpSuiteView;
44
+ locationHref?: string;
45
+ siteOrigin?: string;
46
+ }
14
47
  export interface PublisherRemoteConfig {
15
48
  scheduler?: PublisherSchedulerConfig;
16
- subscriptionType?: string;
49
+ deploymentProfiles?: PublisherDeploymentProfiles;
50
+ defaultDeploymentProfile?: string;
51
+ deploymentTargetOverride?: string;
52
+ subscriptionType?: SubscriptionType;
17
53
  [key: string]: unknown;
18
54
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smart-cloud/publisher-core",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Publisher Core Package",
5
5
  "author": "Smart Cloud Solutions Inc.",
6
6
  "license": "MIT",
@@ -37,21 +37,21 @@
37
37
  },
38
38
  "sideEffects": false,
39
39
  "dependencies": {
40
- "@smart-cloud/wpsuite-core": "^2.3.0"
40
+ "@smart-cloud/wpsuite-core": "^2.3.1"
41
41
  },
42
42
  "peerDependencies": {
43
- "@wordpress/data": "^10.46.0"
43
+ "@wordpress/data": "^10.47.0"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@eslint/js": "^10.0.1",
47
47
  "@types/node": "^25.9.1",
48
- "@typescript-eslint/eslint-plugin": "^8.59.4",
49
- "@typescript-eslint/parser": "^8.59.4",
50
- "@wordpress/data": "^10.46.0",
51
- "eslint": "^10.4.0",
48
+ "@typescript-eslint/eslint-plugin": "^8.60.0",
49
+ "@typescript-eslint/parser": "^8.60.0",
50
+ "@wordpress/data": "^10.47.0",
51
+ "eslint": "^10.4.1",
52
52
  "globals": "^17.6.0",
53
53
  "tsup": "^8.5.1",
54
54
  "typescript": "^6.0.3",
55
- "typescript-eslint": "^8.59.4"
55
+ "typescript-eslint": "^8.60.0"
56
56
  }
57
57
  }