@syncify/cli 0.3.0-beta → 1.0.0-unstable.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.
Files changed (42) hide show
  1. package/LICENSE +10 -6
  2. package/dist/api.js +32 -12
  3. package/dist/cli.js +610 -6
  4. package/dist/index.d.ts +2264 -0
  5. package/dist/index.js +10 -10
  6. package/dist/syncify.js +24248 -0
  7. package/hot.js.liquid +13 -2
  8. package/package.json +118 -115
  9. package/readme.md +110 -2176
  10. package/scripts/postinstall.js +116 -0
  11. package/scripts/postversion.js +60 -0
  12. package/dist/cjs.js +0 -236
  13. package/pnpm-lock.yaml +0 -5662
  14. package/schema/syncify.config.json +0 -676
  15. package/schema/syncify.env.json +0 -58
  16. package/schema/syncify.package.json +0 -11
  17. package/types/api.d.ts +0 -319
  18. package/types/bundle/cache.d.ts +0 -101
  19. package/types/bundle/commands.d.ts +0 -396
  20. package/types/bundle/errors.d.ts +0 -101
  21. package/types/bundle/file.d.ts +0 -285
  22. package/types/bundle/filters.d.ts +0 -81
  23. package/types/bundle/hot.d.ts +0 -185
  24. package/types/bundle/index.d.ts +0 -603
  25. package/types/bundle/plugin.d.ts +0 -127
  26. package/types/bundle/processors.d.ts +0 -54
  27. package/types/bundle/reports.d.ts +0 -123
  28. package/types/bundle/requests.d.ts +0 -374
  29. package/types/bundle/shared.d.ts +0 -124
  30. package/types/cli.d.ts +0 -547
  31. package/types/config/index.d.ts +0 -550
  32. package/types/config/terser.d.ts +0 -319
  33. package/types/config/views.d.ts +0 -191
  34. package/types/index.d.ts +0 -55
  35. package/types/modules/html-minifier-terser.d.ts +0 -218
  36. package/types/stores.d.ts +0 -11
  37. package/types/transforms/image.d.ts +0 -15
  38. package/types/transforms/json.d.ts +0 -51
  39. package/types/transforms/pages.d.ts +0 -254
  40. package/types/transforms/script.d.ts +0 -308
  41. package/types/transforms/style.d.ts +0 -219
  42. package/types/transforms/svg.d.ts +0 -189
package/hot.js.liquid CHANGED
@@ -1,3 +1,14 @@
1
- <script>
2
- "use strict";(()=>{var fr=Object.create;var ft=Object.defineProperty;var lr=Object.getOwnPropertyDescriptor;var ur=Object.getOwnPropertyNames;var sr=Object.getPrototypeOf,cr=Object.prototype.hasOwnProperty;var V=(r,i)=>()=>(i||r((i={exports:{}}).exports,i),i.exports);var or=(r,i,a,f)=>{if(i&&typeof i=="object"||typeof i=="function")for(let c of ur(i))!cr.call(r,c)&&c!==a&&ft(r,c,{get:()=>i[c],enumerable:!(f=lr(i,c))||f.enumerable});return r};var hr=(r,i,a)=>(a=r!=null?fr(sr(r)):{},or(i||!r||!r.__esModule?ft(a,"default",{value:r,enumerable:!0}):a,r));var ue=V((en,lt)=>{"use strict";function he(r,i,a,f,c,h){return{tag:r,key:i,attrs:a,children:f,text:c,dom:h,domSize:void 0,state:void 0,events:void 0,instance:void 0}}he.normalize=function(r){return Array.isArray(r)?he("[",void 0,void 0,he.normalizeChildren(r),void 0,void 0):r==null||typeof r=="boolean"?null:typeof r=="object"?r:he("#",void 0,void 0,String(r),void 0,void 0)};he.normalizeChildren=function(r){var i=[];if(r.length){for(var a=r[0]!=null&&r[0].key!=null,f=1;f<r.length;f++)if((r[f]!=null&&r[f].key!=null)!==a)throw new TypeError(a&&(r[f]!=null||typeof r[f]=="boolean")?"In fragments, vnodes must either all have keys or none have keys. You may wish to consider using an explicit keyed empty fragment, m.fragment({key: ...}), instead of a hole.":"In fragments, vnodes must either all have keys or none have keys.");for(var f=0;f<r.length;f++)i[f]=he.normalize(r[f])}return i};lt.exports=he});var Be=V((tn,ut)=>{"use strict";var pr=ue();ut.exports=function(){var r=arguments[this],i=this+1,a;if(r==null?r={}:(typeof r!="object"||r.tag!=null||Array.isArray(r))&&(r={},i=this),arguments.length===i+1)a=arguments[i],Array.isArray(a)||(a=[a]);else for(a=[];i<arguments.length;)a.push(arguments[i++]);return pr("",r.key,r,a)}});var ve=V((rn,st)=>{"use strict";st.exports={}.hasOwnProperty});var Ke=V((nn,ht)=>{"use strict";var mr=ue(),yr=Be(),ye=ve(),gr=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,ot={};function ct(r){for(var i in r)if(ye.call(r,i))return!1;return!0}function dr(r){for(var i,a="div",f=[],c={};i=gr.exec(r);){var h=i[1],s=i[2];if(h===""&&s!=="")a=s;else if(h==="#")c.id=s;else if(h===".")f.push(s);else if(i[3][0]==="["){var p=i[6];p&&(p=p.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),i[4]==="class"?f.push(p):c[i[4]]=p===""?p:p||!0}}return f.length>0&&(c.className=f.join(" ")),ot[r]={tag:a,attrs:c}}function wr(r,i){var a=i.attrs,f=ye.call(a,"class"),c=f?a.class:a.className;if(i.tag=r.tag,i.attrs={},!ct(r.attrs)&&!ct(a)){var h={};for(var s in a)ye.call(a,s)&&(h[s]=a[s]);a=h}for(var s in r.attrs)ye.call(r.attrs,s)&&s!=="className"&&!ye.call(a,s)&&(a[s]=r.attrs[s]);(c!=null||r.attrs.className!=null)&&(a.className=c!=null?r.attrs.className!=null?String(r.attrs.className)+" "+String(c):c:r.attrs.className!=null?r.attrs.className:null),f&&(a.class=null);for(var s in a)if(ye.call(a,s)&&s!=="key"){i.attrs=a;break}return i}function br(r){if(r==null||typeof r!="string"&&typeof r!="function"&&typeof r.view!="function")throw Error("The selector must be either a string or a component.");var i=yr.apply(1,arguments);return typeof r=="string"&&(i.children=mr.normalizeChildren(i.children),r!=="[")?wr(ot[r]||dr(r),i):(i.tag=r,i)}ht.exports=br});var mt=V((an,pt)=>{"use strict";var vr=ue();pt.exports=function(r){return r==null&&(r=""),vr("<",void 0,void 0,r,void 0,void 0)}});var gt=V((fn,yt)=>{"use strict";var xr=ue(),Tr=Be();yt.exports=function(){var r=Tr.apply(0,arguments);return r.tag="[",r.children=xr.normalizeChildren(r.children),r}});var wt=V((ln,dt)=>{"use strict";var We=Ke();We.trust=mt();We.fragment=gt();dt.exports=We});var Xe=V((un,bt)=>{"use strict";var G=function(r){if(!(this instanceof G))throw new Error("Promise must be called with 'new'.");if(typeof r!="function")throw new TypeError("executor must be a function.");var i=this,a=[],f=[],c=u(a,!0),h=u(f,!1),s=i._instance={resolvers:a,rejectors:f},p=typeof setImmediate=="function"?setImmediate:setTimeout;function u(A,C){return function S(P){var L;try{if(C&&P!=null&&(typeof P=="object"||typeof P=="function")&&typeof(L=P.then)=="function"){if(P===i)throw new TypeError("Promise can't be resolved with itself.");g(L.bind(P))}else p(function(){!C&&A.length===0&&console.error("Possible unhandled promise rejection:",P);for(var N=0;N<A.length;N++)A[N](P);a.length=0,f.length=0,s.state=C,s.retry=function(){S(P)}})}catch(N){h(N)}}}function g(A){var C=0;function S(L){return function(N){C++>0||L(N)}}var P=S(h);try{A(S(c),P)}catch(L){P(L)}}g(r)};G.prototype.then=function(r,i){var a=this,f=a._instance;function c(u,g,A,C){g.push(function(S){if(typeof u!="function")A(S);else try{h(u(S))}catch(P){s&&s(P)}}),typeof f.retry=="function"&&C===f.state&&f.retry()}var h,s,p=new G(function(u,g){h=u,s=g});return c(r,f.resolvers,h,!0),c(i,f.rejectors,s,!1),p};G.prototype.catch=function(r){return this.then(null,r)};G.prototype.finally=function(r){return this.then(function(i){return G.resolve(r()).then(function(){return i})},function(i){return G.resolve(r()).then(function(){return G.reject(i)})})};G.resolve=function(r){return r instanceof G?r:new G(function(i){i(r)})};G.reject=function(r){return new G(function(i,a){a(r)})};G.all=function(r){return new G(function(i,a){var f=r.length,c=0,h=[];if(r.length===0)i([]);else for(var s=0;s<r.length;s++)(function(p){function u(g){c++,h[p]=g,c===f&&i(h)}r[p]!=null&&(typeof r[p]=="object"||typeof r[p]=="function")&&typeof r[p].then=="function"?r[p].then(u,a):u(r[p])})(s)})};G.race=function(r){return new G(function(i,a){for(var f=0;f<r.length;f++)r[f].then(i,a)})};bt.exports=G});var Ge=V((sn,qe)=>{"use strict";var xe=Xe();typeof window<"u"?(typeof window.Promise>"u"?window.Promise=xe:window.Promise.prototype.finally||(window.Promise.prototype.finally=xe.prototype.finally),qe.exports=window.Promise):typeof global<"u"?(typeof global.Promise>"u"?global.Promise=xe:global.Promise.prototype.finally||(global.Promise.prototype.finally=xe.prototype.finally),qe.exports=global.Promise):qe.exports=xe});var xt=V((cn,vt)=>{"use strict";var Je=ue();vt.exports=function(r){var i=r&&r.document,a,f={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"};function c(t){return t.attrs&&t.attrs.xmlns||f[t.tag]}function h(t,e){if(t.state!==e)throw new Error("'vnode.state' must not be modified.")}function s(t){var e=t.state;try{return this.apply(e,arguments)}finally{h(t,e)}}function p(){try{return i.activeElement}catch{return null}}function u(t,e,n,l,o,m,E){for(var U=n;U<l;U++){var T=e[U];T!=null&&g(t,T,o,E,m)}}function g(t,e,n,l,o){var m=e.tag;if(typeof m=="string")switch(e.state={},e.attrs!=null&&je(e.attrs,e,n),m){case"#":A(t,e,o);break;case"<":S(t,e,l,o);break;case"[":P(t,e,n,l,o);break;default:L(t,e,n,l,o)}else z(t,e,n,l,o)}function A(t,e,n){e.dom=i.createTextNode(e.children),Y(t,e.dom,n)}var C={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"};function S(t,e,n,l){var o=e.children.match(/^\s*?<(\w+)/im)||[],m=i.createElement(C[o[1]]||"div");n==="http://www.w3.org/2000/svg"?(m.innerHTML='<svg xmlns="http://www.w3.org/2000/svg">'+e.children+"</svg>",m=m.firstChild):m.innerHTML=e.children,e.dom=m.firstChild,e.domSize=m.childNodes.length,e.instance=[];for(var E=i.createDocumentFragment(),U;U=m.firstChild;)e.instance.push(U),E.appendChild(U);Y(t,E,l)}function P(t,e,n,l,o){var m=i.createDocumentFragment();if(e.children!=null){var E=e.children;u(m,E,0,E.length,n,null,l)}e.dom=m.firstChild,e.domSize=m.childNodes.length,Y(t,m,o)}function L(t,e,n,l,o){var m=e.tag,E=e.attrs,U=E&&E.is;l=c(e)||l;var T=l?U?i.createElementNS(l,m,{is:U}):i.createElementNS(l,m):U?i.createElement(m,{is:U}):i.createElement(m);if(e.dom=T,E!=null&&$(e,E,l),Y(t,T,o),!Ne(e)&&e.children!=null){var I=e.children;u(T,I,0,I.length,n,null,l),e.tag==="select"&&E!=null&&se(e,E)}}function N(t,e){var n;if(typeof t.tag.view=="function"){if(t.state=Object.create(t.tag),n=t.state.view,n.$$reentrantLock$$!=null)return;n.$$reentrantLock$$=!0}else{if(t.state=void 0,n=t.tag,n.$$reentrantLock$$!=null)return;n.$$reentrantLock$$=!0,t.state=t.tag.prototype!=null&&typeof t.tag.prototype.view=="function"?new t.tag(t):t.tag(t)}if(je(t.state,t,e),t.attrs!=null&&je(t.attrs,t,e),t.instance=Je.normalize(s.call(t.state.view,t)),t.instance===t)throw Error("A view cannot return the vnode it received as argument");n.$$reentrantLock$$=null}function z(t,e,n,l,o){N(e,n),e.instance!=null?(g(t,e.instance,n,l,o),e.dom=e.instance.dom,e.domSize=e.dom!=null?e.instance.domSize:0):e.domSize=0}function y(t,e,n,l,o,m){if(!(e===n||e==null&&n==null))if(e==null||e.length===0)u(t,n,0,n.length,l,o,m);else if(n==null||n.length===0)le(t,e,0,e.length);else{var E=e[0]!=null&&e[0].key!=null,U=n[0]!=null&&n[0].key!=null,T=0,I=0;if(!E)for(;I<e.length&&e[I]==null;)I++;if(!U)for(;T<n.length&&n[T]==null;)T++;if(E!==U)le(t,e,I,e.length),u(t,n,T,n.length,l,o,m);else if(U){for(var Z=e.length-1,X=n.length-1,Ce,k,W,Q,B,Ie;Z>=I&&X>=T&&(Q=e[Z],B=n[X],Q.key===B.key);)Q!==B&&x(t,Q,B,l,o,m),B.dom!=null&&(o=B.dom),Z--,X--;for(;Z>=I&&X>=T&&(k=e[I],W=n[T],k.key===W.key);)I++,T++,k!==W&&x(t,k,W,l,H(e,I,o),m);for(;Z>=I&&X>=T&&!(T===X||k.key!==B.key||Q.key!==W.key);)Ie=H(e,I,o),te(t,Q,Ie),Q!==W&&x(t,Q,W,l,Ie,m),++T<=--X&&te(t,k,o),k!==B&&x(t,k,B,l,o,m),B.dom!=null&&(o=B.dom),I++,Z--,Q=e[Z],B=n[X],k=e[I],W=n[T];for(;Z>=I&&X>=T&&Q.key===B.key;)Q!==B&&x(t,Q,B,l,o,m),B.dom!=null&&(o=B.dom),Z--,X--,Q=e[Z],B=n[X];if(T>X)le(t,e,I,Z+1);else if(I>Z)u(t,n,T,X+1,l,o,m);else{var ar=o,at=X-T+1,be=new Array(at),_e=0,K=0,Fe=2147483647,$e=0,Ce,Ve;for(K=0;K<at;K++)be[K]=-1;for(K=X;K>=T;K--){Ce==null&&(Ce=M(e,I,Z+1)),B=n[K];var me=Ce[B.key];me!=null&&(Fe=me<Fe?me:-1,be[K-T]=me,Q=e[me],e[me]=null,Q!==B&&x(t,Q,B,l,o,m),B.dom!=null&&(o=B.dom),$e++)}if(o=ar,$e!==Z-I+1&&le(t,e,I,Z+1),$e===0)u(t,n,T,X+1,l,o,m);else if(Fe===-1)for(Ve=_(be),_e=Ve.length-1,K=X;K>=T;K--)W=n[K],be[K-T]===-1?g(t,W,l,m,o):Ve[_e]===K-T?_e--:te(t,W,o),W.dom!=null&&(o=n[K].dom);else for(K=X;K>=T;K--)W=n[K],be[K-T]===-1&&g(t,W,l,m,o),W.dom!=null&&(o=n[K].dom)}}else{var He=e.length<n.length?e.length:n.length;for(T=T<I?T:I;T<He;T++)k=e[T],W=n[T],!(k===W||k==null&&W==null)&&(k==null?g(t,W,l,m,H(e,T+1,o)):W==null?q(t,k):x(t,k,W,l,H(e,T+1,o),m));e.length>He&&le(t,e,T,e.length),n.length>He&&u(t,n,T,n.length,l,o,m)}}}function x(t,e,n,l,o,m){var E=e.tag,U=n.tag;if(E===U){if(n.state=e.state,n.events=e.events,ir(n,e))return;if(typeof E=="string")switch(n.attrs!=null&&ze(n.attrs,n,l),E){case"#":v(e,n);break;case"<":w(t,e,n,m,o);break;case"[":d(t,e,n,l,o,m);break;default:b(e,n,l,m)}else j(t,e,n,l,o,m)}else q(t,e),g(t,n,l,m,o)}function v(t,e){t.children.toString()!==e.children.toString()&&(t.dom.nodeValue=e.children),e.dom=t.dom}function w(t,e,n,l,o){e.children!==n.children?(R(t,e),S(t,n,l,o)):(n.dom=e.dom,n.domSize=e.domSize,n.instance=e.instance)}function d(t,e,n,l,o,m){y(t,e.children,n.children,l,o,m);var E=0,U=n.children;if(n.dom=null,U!=null){for(var T=0;T<U.length;T++){var I=U[T];I!=null&&I.dom!=null&&(n.dom==null&&(n.dom=I.dom),E+=I.domSize||1)}E!==1&&(n.domSize=E)}}function b(t,e,n,l){var o=e.dom=t.dom;l=c(e)||l,e.tag==="textarea"&&e.attrs==null&&(e.attrs={}),pe(e,t.attrs,e.attrs,l),Ne(e)||y(o,t.children,e.children,n,null,l)}function j(t,e,n,l,o,m){if(n.instance=Je.normalize(s.call(n.state.view,n)),n.instance===n)throw Error("A view cannot return the vnode it received as argument");ze(n.state,n,l),n.attrs!=null&&ze(n.attrs,n,l),n.instance!=null?(e.instance==null?g(t,n.instance,l,m,o):x(t,e.instance,n.instance,l,o,m),n.dom=n.instance.dom,n.domSize=n.instance.domSize):e.instance!=null?(q(t,e.instance),n.dom=void 0,n.domSize=0):(n.dom=e.dom,n.domSize=e.domSize)}function M(t,e,n){for(var l=Object.create(null);e<n;e++){var o=t[e];if(o!=null){var m=o.key;m!=null&&(l[m]=e)}}return l}var O=[];function _(t){for(var e=[0],n=0,l=0,o=0,m=O.length=t.length,o=0;o<m;o++)O[o]=t[o];for(var o=0;o<m;++o)if(t[o]!==-1){var E=e[e.length-1];if(t[E]<t[o]){O[o]=E,e.push(o);continue}for(n=0,l=e.length-1;n<l;){var U=(n>>>1)+(l>>>1)+(n&l&1);t[e[U]]<t[o]?n=U+1:l=U}t[o]<t[e[n]]&&(n>0&&(O[o]=e[n-1]),e[n]=o)}for(n=e.length,l=e[n-1];n-- >0;)e[n]=l,l=O[l];return O.length=0,e}function H(t,e,n){for(;e<t.length;e++)if(t[e]!=null&&t[e].dom!=null)return t[e].dom;return n}function te(t,e,n){var l=i.createDocumentFragment();ne(t,l,e),Y(t,l,n)}function ne(t,e,n){for(;n.dom!=null&&n.dom.parentNode===t;){if(typeof n.tag!="string"){if(n=n.instance,n!=null)continue}else if(n.tag==="<")for(var l=0;l<n.instance.length;l++)e.appendChild(n.instance[l]);else if(n.tag!=="[")e.appendChild(n.dom);else if(n.children.length===1){if(n=n.children[0],n!=null)continue}else for(var l=0;l<n.children.length;l++){var o=n.children[l];o!=null&&ne(t,e,o)}break}}function Y(t,e,n){n!=null?t.insertBefore(e,n):t.appendChild(e)}function Ne(t){if(t.attrs==null||t.attrs.contenteditable==null&&t.attrs.contentEditable==null)return!1;var e=t.children;if(e!=null&&e.length===1&&e[0].tag==="<"){var n=e[0].children;t.dom.innerHTML!==n&&(t.dom.innerHTML=n)}else if(e!=null&&e.length!==0)throw new Error("Child node of a contenteditable must be trusted.");return!0}function le(t,e,n,l){for(var o=n;o<l;o++){var m=e[o];m!=null&&q(t,m)}}function q(t,e){var n=0,l=e.state,o,m;if(typeof e.tag!="string"&&typeof e.state.onbeforeremove=="function"){var E=s.call(e.state.onbeforeremove,e);E!=null&&typeof E.then=="function"&&(n=1,o=E)}if(e.attrs&&typeof e.attrs.onbeforeremove=="function"){var E=s.call(e.attrs.onbeforeremove,e);E!=null&&typeof E.then=="function"&&(n|=2,m=E)}if(h(e,l),!n)D(e),F(t,e);else{if(o!=null){var U=function(){n&1&&(n&=2,n||T())};o.then(U,U)}if(m!=null){var U=function(){n&2&&(n&=1,n||T())};m.then(U,U)}}function T(){h(e,l),D(e),F(t,e)}}function R(t,e){for(var n=0;n<e.instance.length;n++)t.removeChild(e.instance[n])}function F(t,e){for(;e.dom!=null&&e.dom.parentNode===t;){if(typeof e.tag!="string"){if(e=e.instance,e!=null)continue}else if(e.tag==="<")R(t,e);else{if(e.tag!=="["&&(t.removeChild(e.dom),!Array.isArray(e.children)))break;if(e.children.length===1){if(e=e.children[0],e!=null)continue}else for(var n=0;n<e.children.length;n++){var l=e.children[n];l!=null&&F(t,l)}}break}}function D(t){if(typeof t.tag!="string"&&typeof t.state.onremove=="function"&&s.call(t.state.onremove,t),t.attrs&&typeof t.attrs.onremove=="function"&&s.call(t.attrs.onremove,t),typeof t.tag!="string")t.instance!=null&&D(t.instance);else{var e=t.children;if(Array.isArray(e))for(var n=0;n<e.length;n++){var l=e[n];l!=null&&D(l)}}}function $(t,e,n){t.tag==="input"&&e.type!=null&&t.dom.setAttribute("type",e.type);var l=e!=null&&t.tag==="input"&&e.type==="file";for(var o in e)ie(t,o,null,e[o],n,l)}function ie(t,e,n,l,o,m){if(!(e==="key"||e==="is"||l==null||oe(e)||n===l&&!fe(t,e)&&typeof l!="object"||e==="type"&&t.tag==="input")){if(e[0]==="o"&&e[1]==="n")return it(t,e,l);if(e.slice(0,6)==="xlink:")t.dom.setAttributeNS("http://www.w3.org/1999/xlink",e.slice(6),l);else if(e==="style")nt(t.dom,n,l);else if(re(t,e,o)){if(e==="value"){if((t.tag==="input"||t.tag==="textarea")&&t.dom.value===""+l&&(m||t.dom===p())||t.tag==="select"&&n!==null&&t.dom.value===""+l||t.tag==="option"&&n!==null&&t.dom.value===""+l)return;if(m&&""+l!=""){console.error("`value` is read-only on file inputs!");return}}t.dom[e]=l}else typeof l=="boolean"?l?t.dom.setAttribute(e,""):t.dom.removeAttribute(e):t.dom.setAttribute(e==="className"?"class":e,l)}}function ae(t,e,n,l){if(!(e==="key"||e==="is"||n==null||oe(e)))if(e[0]==="o"&&e[1]==="n")it(t,e,void 0);else if(e==="style")nt(t.dom,n,null);else if(re(t,e,l)&&e!=="className"&&e!=="title"&&!(e==="value"&&(t.tag==="option"||t.tag==="select"&&t.dom.selectedIndex===-1&&t.dom===p()))&&!(t.tag==="input"&&e==="type"))t.dom[e]=null;else{var o=e.indexOf(":");o!==-1&&(e=e.slice(o+1)),n!==!1&&t.dom.removeAttribute(e==="className"?"class":e)}}function se(t,e){if("value"in e)if(e.value===null)t.dom.selectedIndex!==-1&&(t.dom.value=null);else{var n=""+e.value;(t.dom.value!==n||t.dom.selectedIndex===-1)&&(t.dom.value=n)}"selectedIndex"in e&&ie(t,"selectedIndex",null,e.selectedIndex,void 0)}function pe(t,e,n,l){if(e&&e===n&&console.warn("Don't reuse attrs object, use new object for every redraw, this will throw in next major"),n!=null){t.tag==="input"&&n.type!=null&&t.dom.setAttribute("type",n.type);var o=t.tag==="input"&&n.type==="file";for(var m in n)ie(t,m,e&&e[m],n[m],l,o)}var E;if(e!=null)for(var m in e)(E=e[m])!=null&&(n==null||n[m]==null)&&ae(t,m,E,l)}function fe(t,e){return e==="value"||e==="checked"||e==="selectedIndex"||e==="selected"&&t.dom===p()||t.tag==="option"&&t.dom.parentNode===i.activeElement}function oe(t){return t==="oninit"||t==="oncreate"||t==="onupdate"||t==="onremove"||t==="onbeforeremove"||t==="onbeforeupdate"}function re(t,e,n){return n===void 0&&(t.tag.indexOf("-")>-1||t.attrs!=null&&t.attrs.is||e!=="href"&&e!=="list"&&e!=="form"&&e!=="width"&&e!=="height")&&e in t.dom}var de=/[A-Z]/g;function Se(t){return"-"+t.toLowerCase()}function Me(t){return t[0]==="-"&&t[1]==="-"?t:t==="cssFloat"?"float":t.replace(de,Se)}function nt(t,e,n){if(e!==n)if(n==null)t.style.cssText="";else if(typeof n!="object")t.style.cssText=n;else if(e==null||typeof e!="object"){t.style.cssText="";for(var l in n){var o=n[l];o!=null&&t.style.setProperty(Me(l),String(o))}}else{for(var l in n){var o=n[l];o!=null&&(o=String(o))!==String(e[l])&&t.style.setProperty(Me(l),o)}for(var l in e)e[l]!=null&&n[l]==null&&t.style.removeProperty(Me(l))}}function Ue(){this._=a}Ue.prototype=Object.create(null),Ue.prototype.handleEvent=function(t){var e=this["on"+t.type],n;typeof e=="function"?n=e.call(t.currentTarget,t):typeof e.handleEvent=="function"&&e.handleEvent(t),this._&&t.redraw!==!1&&(0,this._)(),n===!1&&(t.preventDefault(),t.stopPropagation())};function it(t,e,n){if(t.events!=null){if(t.events._=a,t.events[e]===n)return;n!=null&&(typeof n=="function"||typeof n=="object")?(t.events[e]==null&&t.dom.addEventListener(e.slice(2),t.events,!1),t.events[e]=n):(t.events[e]!=null&&t.dom.removeEventListener(e.slice(2),t.events,!1),t.events[e]=void 0)}else n!=null&&(typeof n=="function"||typeof n=="object")&&(t.events=new Ue,t.dom.addEventListener(e.slice(2),t.events,!1),t.events[e]=n)}function je(t,e,n){typeof t.oninit=="function"&&s.call(t.oninit,e),typeof t.oncreate=="function"&&n.push(s.bind(t.oncreate,e))}function ze(t,e,n){typeof t.onupdate=="function"&&n.push(s.bind(t.onupdate,e))}function ir(t,e){do{if(t.attrs!=null&&typeof t.attrs.onbeforeupdate=="function"){var n=s.call(t.attrs.onbeforeupdate,t,e);if(n!==void 0&&!n)break}if(typeof t.tag!="string"&&typeof t.state.onbeforeupdate=="function"){var n=s.call(t.state.onbeforeupdate,t,e);if(n!==void 0&&!n)break}return!1}while(!1);return t.dom=e.dom,t.domSize=e.domSize,t.instance=e.instance,t.attrs=e.attrs,t.children=e.children,t.text=e.text,!0}var we;return function(t,e,n){if(!t)throw new TypeError("DOM element being rendered to does not exist.");if(we!=null&&t.contains(we))throw new TypeError("Node is currently being rendered to and thus is locked.");var l=a,o=we,m=[],E=p(),U=t.namespaceURI;we=t,a=typeof n=="function"?n:void 0;try{t.vnodes==null&&(t.textContent=""),e=Je.normalizeChildren(Array.isArray(e)?e:[e]),y(t,t.vnodes,e,m,null,U==="http://www.w3.org/1999/xhtml"?void 0:U),t.vnodes=e,E!=null&&p()!==E&&typeof E.focus=="function"&&E.focus();for(var T=0;T<m.length;T++)m[T]()}finally{a=l,we=o}}}});var Qe=V((on,Tt)=>{"use strict";Tt.exports=xt()(typeof window<"u"?window:null)});var St=V((hn,Nt)=>{"use strict";var At=ue();Nt.exports=function(r,i,a){var f=[],c=!1,h=-1;function s(){for(h=0;h<f.length;h+=2)try{r(f[h],At(f[h+1]),p)}catch(g){a.error(g)}h=-1}function p(){c||(c=!0,i(function(){c=!1,s()}))}p.sync=s;function u(g,A){if(A!=null&&A.view==null&&typeof A!="function")throw new TypeError("m.mount expects a component, not a vnode.");var C=f.indexOf(g);C>=0&&(f.splice(C,2),C<=h&&(h-=2),r(g,[])),A!=null&&(f.push(g,A),r(g,At(A),p))}return{mount:u,redraw:p}}});var Oe=V((pn,Ct)=>{"use strict";var Ar=Qe();Ct.exports=St()(Ar,typeof requestAnimationFrame<"u"?requestAnimationFrame:null,typeof console<"u"?console:null)});var Ye=V((mn,qt)=>{"use strict";qt.exports=function(r){if(Object.prototype.toString.call(r)!=="[object Object]")return"";var i=[];for(var a in r)f(a,r[a]);return i.join("&");function f(c,h){if(Array.isArray(h))for(var s=0;s<h.length;s++)f(c+"["+s+"]",h[s]);else if(Object.prototype.toString.call(h)==="[object Object]")for(var s in h)f(c+"["+s+"]",h[s]);else i.push(encodeURIComponent(c)+(h!=null&&h!==""?"="+encodeURIComponent(h):""))}}});var Ze=V((yn,Ot)=>{"use strict";var Nr=ve();Ot.exports=Object.assign||function(r,i){for(var a in i)Nr.call(i,a)&&(r[a]=i[a])}});var Re=V((gn,Rt)=>{"use strict";var Sr=Ye(),Cr=Ze();Rt.exports=function(r,i){if(/:([^\/\.-]+)(\.{3})?:/.test(r))throw new SyntaxError("Template parameter names must be separated by either a '/', '-', or '.'.");if(i==null)return r;var a=r.indexOf("?"),f=r.indexOf("#"),c=f<0?r.length:f,h=a<0?c:a,s=r.slice(0,h),p={};Cr(p,i);var u=s.replace(/:([^\/\.-]+)(\.{3})?/g,function(N,z,y){return delete p[z],i[z]==null?N:y?i[z]:encodeURIComponent(String(i[z]))}),g=u.indexOf("?"),A=u.indexOf("#"),C=A<0?u.length:A,S=g<0?C:g,P=u.slice(0,S);a>=0&&(P+=r.slice(a,c)),g>=0&&(P+=(a<0?"?":"&")+u.slice(g,C));var L=Sr(p);return L&&(P+=(a<0&&g<0?"?":"&")+L),f>=0&&(P+=r.slice(f)),A>=0&&(P+=(f<0?"":"&")+u.slice(A)),P}});var Lt=V((dn,Pt)=>{"use strict";var qr=Re(),Et=ve();Pt.exports=function(r,i,a){var f=0;function c(p){return new i(p)}c.prototype=i.prototype,c.__proto__=i;function h(p){return function(u,g){typeof u!="string"?(g=u,u=u.url):g==null&&(g={});var A=new i(function(L,N){p(qr(u,g.params),g,function(z){if(typeof g.type=="function")if(Array.isArray(z))for(var y=0;y<z.length;y++)z[y]=new g.type(z[y]);else z=new g.type(z);L(z)},N)});if(g.background===!0)return A;var C=0;function S(){--C===0&&typeof a=="function"&&a()}return P(A);function P(L){var N=L.then;return L.constructor=c,L.then=function(){C++;var z=N.apply(L,arguments);return z.then(S,function(y){if(S(),C===0)throw y}),P(z)},L}}}function s(p,u){for(var g in p.headers)if(Et.call(p.headers,g)&&g.toLowerCase()===u)return!0;return!1}return{request:h(function(p,u,g,A){var C=u.method!=null?u.method.toUpperCase():"GET",S=u.body,P=(u.serialize==null||u.serialize===JSON.serialize)&&!(S instanceof r.FormData||S instanceof r.URLSearchParams),L=u.responseType||(typeof u.extract=="function"?"":"json"),N=new r.XMLHttpRequest,z=!1,y=!1,x=N,v,w=N.abort;N.abort=function(){z=!0,w.call(this)},N.open(C,p,u.async!==!1,typeof u.user=="string"?u.user:void 0,typeof u.password=="string"?u.password:void 0),P&&S!=null&&!s(u,"content-type")&&N.setRequestHeader("Content-Type","application/json; charset=utf-8"),typeof u.deserialize!="function"&&!s(u,"accept")&&N.setRequestHeader("Accept","application/json, text/*"),u.withCredentials&&(N.withCredentials=u.withCredentials),u.timeout&&(N.timeout=u.timeout),N.responseType=L;for(var d in u.headers)Et.call(u.headers,d)&&N.setRequestHeader(d,u.headers[d]);N.onreadystatechange=function(b){if(!z&&b.target.readyState===4)try{var j=b.target.status>=200&&b.target.status<300||b.target.status===304||/^file:\/\//i.test(p),M=b.target.response,O;if(L==="json"){if(!b.target.responseType&&typeof u.extract!="function")try{M=JSON.parse(b.target.responseText)}catch{M=null}}else(!L||L==="text")&&M==null&&(M=b.target.responseText);if(typeof u.extract=="function"?(M=u.extract(b.target,u),j=!0):typeof u.deserialize=="function"&&(M=u.deserialize(M)),j)g(M);else{var _=function(){try{O=b.target.responseText}catch{O=M}var H=new Error(O);H.code=b.target.status,H.response=M,A(H)};N.status===0?setTimeout(function(){y||_()}):_()}}catch(H){A(H)}},N.ontimeout=function(b){y=!0;var j=new Error("Request timed out");j.code=b.target.status,A(j)},typeof u.config=="function"&&(N=u.config(N,u,p)||N,N!==x&&(v=N.abort,N.abort=function(){z=!0,v.call(this)})),S==null?N.send():typeof u.serialize=="function"?N.send(u.serialize(S)):S instanceof r.FormData||S instanceof r.URLSearchParams?N.send(S):N.send(JSON.stringify(S))}),jsonp:h(function(p,u,g,A){var C=u.callbackName||"_mithril_"+Math.round(Math.random()*1e16)+"_"+f++,S=r.document.createElement("script");r[C]=function(P){delete r[C],S.parentNode.removeChild(S),g(P)},S.onerror=function(){delete r[C],S.parentNode.removeChild(S),A(new Error("JSONP request failed"))},S.src=p+(p.indexOf("?")<0?"?":"&")+encodeURIComponent(u.callbackKey||"callback")+"="+encodeURIComponent(C),r.document.documentElement.appendChild(S)})}}});var Mt=V((wn,Dt)=>{"use strict";var Or=Ge(),Rr=Oe();Dt.exports=Lt()(typeof window<"u"?window:null,Or,Rr.redraw)});var ke=V((bn,jt)=>{"use strict";function Ut(r){try{return decodeURIComponent(r)}catch{return r}}jt.exports=function(r){if(r===""||r==null)return{};r.charAt(0)==="?"&&(r=r.slice(1));for(var i=r.split("&"),a={},f={},c=0;c<i.length;c++){var h=i[c].split("="),s=Ut(h[0]),p=h.length===2?Ut(h[1]):"";p==="true"?p=!0:p==="false"&&(p=!1);var u=s.split(/\]\[?|\[/),g=f;s.indexOf("[")>-1&&u.pop();for(var A=0;A<u.length;A++){var C=u[A],S=u[A+1],P=S==""||!isNaN(parseInt(S,10));if(C===""){var s=u.slice(0,A).join();a[s]==null&&(a[s]=Array.isArray(g)?g.length:0),C=a[s]++}else if(C==="__proto__")break;if(A===u.length-1)g[C]=p;else{var L=Object.getOwnPropertyDescriptor(g,C);L!=null&&(L=L.value),L==null&&(g[C]=L=P?[]:{}),g=L}}}return f}});var Ee=V((vn,zt)=>{"use strict";var Er=ke();zt.exports=function(r){var i=r.indexOf("?"),a=r.indexOf("#"),f=a<0?r.length:a,c=i<0?f:i,h=r.slice(0,c).replace(/\/{2,}/g,"/");return h?(h[0]!=="/"&&(h="/"+h),h.length>1&&h[h.length-1]==="/"&&(h=h.slice(0,-1))):h="/",{path:h,params:i<0?{}:Er(r.slice(i+1,f))}}});var It=V((xn,Ht)=>{"use strict";var Pr=Ee();Ht.exports=function(r){var i=Pr(r),a=Object.keys(i.params),f=[],c=new RegExp("^"+i.path.replace(/:([^\/.-]+)(\.{3}|\.(?!\.)|-)?|[\\^$*+.()|\[\]{}]/g,function(h,s,p){return s==null?"\\"+h:(f.push({k:s,r:p==="..."}),p==="..."?"(.*)":p==="."?"([^/]+)\\.":"([^/]+)"+(p||""))})+"$");return function(h){for(var s=0;s<a.length;s++)if(i.params[a[s]]!==h.params[a[s]])return!1;if(!f.length)return c.test(h.path);var p=c.exec(h.path);if(p==null)return!1;for(var s=0;s<f.length;s++)h.params[f[s].k]=f[s].r?p[s+1]:decodeURIComponent(p[s+1]);return!0}}});var et=V((Tn,$t)=>{"use strict";var _t=ve(),Ft=new RegExp("^(?:key|oninit|oncreate|onbeforeupdate|onupdate|onbeforeremove|onremove)$");$t.exports=function(r,i){var a={};if(i!=null)for(var f in r)_t.call(r,f)&&!Ft.test(f)&&i.indexOf(f)<0&&(a[f]=r[f]);else for(var f in r)_t.call(r,f)&&!Ft.test(f)&&(a[f]=r[f]);return a}});var Wt=V((An,Kt)=>{"use strict";var Lr=ue(),Dr=Ke(),Mr=Ge(),Vt=Re(),Bt=Ee(),Ur=It(),jr=Ze(),zr=et(),tt={};function Hr(r){try{return decodeURIComponent(r)}catch{return r}}Kt.exports=function(r,i){var a=r==null?null:typeof r.setImmediate=="function"?r.setImmediate:r.setTimeout,f=Mr.resolve(),c=!1,h=!1,s=0,p,u,g=tt,A,C,S,P,L={onbeforeupdate:function(){return s=s?2:1,!(!s||tt===g)},onremove:function(){r.removeEventListener("popstate",y,!1),r.removeEventListener("hashchange",z,!1)},view:function(){if(!(!s||tt===g)){var w=[Lr(A,C.key,C)];return g&&(w=g.render(w[0])),w}}},N=v.SKIP={};function z(){c=!1;var w=r.location.hash;v.prefix[0]!=="#"&&(w=r.location.search+w,v.prefix[0]!=="?"&&(w=r.location.pathname+w,w[0]!=="/"&&(w="/"+w)));var d=w.concat().replace(/(?:%[a-f89][a-f0-9])+/gim,Hr).slice(v.prefix.length),b=Bt(d);jr(b.params,r.history.state);function j(O){console.error(O),x(u,null,{replace:!0})}M(0);function M(O){for(;O<p.length;O++)if(p[O].check(b)){var _=p[O].component,H=p[O].route,te=_,ne=P=function(Y){if(ne===P){if(Y===N)return M(O+1);A=Y!=null&&(typeof Y.view=="function"||typeof Y=="function")?Y:"div",C=b.params,S=d,P=null,g=_.render?_:null,s===2?i.redraw():(s=2,i.redraw.sync())}};_.view||typeof _=="function"?(_={},ne(te)):_.onmatch?f.then(function(){return _.onmatch(b.params,d,H)}).then(ne,d===u?null:j):ne("div");return}if(d===u)throw new Error("Could not resolve default route "+u+".");x(u,null,{replace:!0})}}function y(){c||(c=!0,a(z))}function x(w,d,b){if(w=Vt(w,d),h){y();var j=b?b.state:null,M=b?b.title:null;b&&b.replace?r.history.replaceState(j,M,v.prefix+w):r.history.pushState(j,M,v.prefix+w)}else r.location.href=v.prefix+w}function v(w,d,b){if(!w)throw new TypeError("DOM element being rendered to does not exist.");if(p=Object.keys(b).map(function(M){if(M[0]!=="/")throw new SyntaxError("Routes must start with a '/'.");if(/:([^\/\.-]+)(\.{3})?:/.test(M))throw new SyntaxError("Route parameter names must be separated with either '/', '.', or '-'.");return{route:M,component:b[M],check:Ur(M)}}),u=d,d!=null){var j=Bt(d);if(!p.some(function(M){return M.check(j)}))throw new ReferenceError("Default route doesn't match any known routes.")}typeof r.history.pushState=="function"?r.addEventListener("popstate",y,!1):v.prefix[0]==="#"&&r.addEventListener("hashchange",z,!1),h=!0,i.mount(w,L),z()}return v.set=function(w,d,b){P!=null&&(b=b||{},b.replace=!0),P=null,x(w,d,b)},v.get=function(){return S},v.prefix="#!",v.Link={view:function(w){var d=Dr(w.attrs.selector||"a",zr(w.attrs,["options","params","selector","onclick"]),w.children),b,j,M;return(d.attrs.disabled=!!d.attrs.disabled)?(d.attrs.href=null,d.attrs["aria-disabled"]="true"):(b=w.attrs.options,j=w.attrs.onclick,M=Vt(d.attrs.href,w.attrs.params),d.attrs.href=v.prefix+M,d.attrs.onclick=function(O){var _;typeof j=="function"?_=j.call(O.currentTarget,O):j==null||typeof j!="object"||typeof j.handleEvent=="function"&&j.handleEvent(O),_!==!1&&!O.defaultPrevented&&(O.button===0||O.which===0||O.which===1)&&(!O.currentTarget.target||O.currentTarget.target==="_self")&&!O.ctrlKey&&!O.metaKey&&!O.shiftKey&&!O.altKey&&(O.preventDefault(),O.redraw=!1,v.set(M,null,b))}),d}},v.param=function(w){return C&&w!=null?C[w]:C},v}});var Gt=V((Nn,Xt)=>{"use strict";var Ir=Oe();Xt.exports=Wt()(typeof window<"u"?window:null,Ir)});var Zt=V((Sn,Yt)=>{"use strict";var Pe=wt(),Jt=Mt(),Qt=Oe(),J=function(){return Pe.apply(this,arguments)};J.m=Pe;J.trust=Pe.trust;J.fragment=Pe.fragment;J.Fragment="[";J.mount=Qt.mount;J.route=Gt();J.render=Qe();J.redraw=Qt.redraw;J.request=Jt.request;J.jsonp=Jt.jsonp;J.parseQueryString=ke();J.buildQueryString=Ye();J.parsePathname=Ee();J.buildPathname=Re();J.vnode=ue();J.PromisePolyfill=Xe();J.censor=et();Yt.exports=J});var ge=hr(Zt());var kt=11;function _r(r,i){var a=i.attributes,f,c,h,s,p;if(!(i.nodeType===kt||r.nodeType===kt)){for(var u=a.length-1;u>=0;u--)f=a[u],c=f.name,h=f.namespaceURI,s=f.value,h?(c=f.localName||c,p=r.getAttributeNS(h,c),p!==s&&(f.prefix==="xmlns"&&(c=f.name),r.setAttributeNS(h,c,s))):(p=r.getAttribute(c),p!==s&&r.setAttribute(c,s));for(var g=r.attributes,A=g.length-1;A>=0;A--)f=g[A],c=f.name,h=f.namespaceURI,h?(c=f.localName||c,i.hasAttributeNS(h,c)||r.removeAttributeNS(h,c)):i.hasAttribute(c)||r.removeAttribute(c)}}var Le,Fr="http://www.w3.org/1999/xhtml",ee=typeof document>"u"?void 0:document,$r=!!ee&&"content"in ee.createElement("template"),Vr=!!ee&&ee.createRange&&"createContextualFragment"in ee.createRange();function Br(r){var i=ee.createElement("template");return i.innerHTML=r,i.content.childNodes[0]}function Kr(r){Le||(Le=ee.createRange(),Le.selectNode(ee.body));var i=Le.createContextualFragment(r);return i.childNodes[0]}function Wr(r){var i=ee.createElement("body");return i.innerHTML=r,i.childNodes[0]}function Xr(r){return r=r.trim(),$r?Br(r):Vr?Kr(r):Wr(r)}function De(r,i){var a=r.nodeName,f=i.nodeName,c,h;return a===f?!0:(c=a.charCodeAt(0),h=f.charCodeAt(0),c<=90&&h>=97?a===f.toUpperCase():h<=90&&c>=97?f===a.toUpperCase():!1)}function Gr(r,i){return!i||i===Fr?ee.createElement(r):ee.createElementNS(i,r)}function Jr(r,i){for(var a=r.firstChild;a;){var f=a.nextSibling;i.appendChild(a),a=f}return i}function rt(r,i,a){r[a]!==i[a]&&(r[a]=i[a],r[a]?r.setAttribute(a,""):r.removeAttribute(a))}var er={OPTION:function(r,i){var a=r.parentNode;if(a){var f=a.nodeName.toUpperCase();f==="OPTGROUP"&&(a=a.parentNode,f=a&&a.nodeName.toUpperCase()),f==="SELECT"&&!a.hasAttribute("multiple")&&(r.hasAttribute("selected")&&!i.selected&&(r.setAttribute("selected","selected"),r.removeAttribute("selected")),a.selectedIndex=-1)}rt(r,i,"selected")},INPUT:function(r,i){rt(r,i,"checked"),rt(r,i,"disabled"),r.value!==i.value&&(r.value=i.value),i.hasAttribute("value")||r.removeAttribute("value")},TEXTAREA:function(r,i){var a=i.value;r.value!==a&&(r.value=a);var f=r.firstChild;if(f){var c=f.nodeValue;if(c==a||!a&&c==r.placeholder)return;f.nodeValue=a}},SELECT:function(r,i){if(!i.hasAttribute("multiple")){for(var a=-1,f=0,c=r.firstChild,h,s;c;)if(s=c.nodeName&&c.nodeName.toUpperCase(),s==="OPTGROUP")h=c,c=h.firstChild;else{if(s==="OPTION"){if(c.hasAttribute("selected")){a=f;break}f++}c=c.nextSibling,!c&&h&&(c=h.nextSibling,h=null)}r.selectedIndex=a}}},Te=1,tr=11,rr=3,nr=8;function ce(){}function Qr(r){if(r)return r.getAttribute&&r.getAttribute("id")||r.id}function Yr(r){return function(a,f,c){if(c||(c={}),typeof f=="string")if(a.nodeName==="#document"||a.nodeName==="HTML"||a.nodeName==="BODY"){var h=f;f=ee.createElement("html"),f.innerHTML=h}else f=Xr(f);else f.nodeType===tr&&(f=f.firstElementChild);var s=c.getNodeKey||Qr,p=c.onBeforeNodeAdded||ce,u=c.onNodeAdded||ce,g=c.onBeforeElUpdated||ce,A=c.onElUpdated||ce,C=c.onBeforeNodeDiscarded||ce,S=c.onNodeDiscarded||ce,P=c.onBeforeElChildrenUpdated||ce,L=c.skipFromChildren||ce,N=c.addChild||function(q,R){return q.appendChild(R)},z=c.childrenOnly===!0,y=Object.create(null),x=[];function v(q){x.push(q)}function w(q,R){if(q.nodeType===Te)for(var F=q.firstChild;F;){var D=void 0;R&&(D=s(F))?v(D):(S(F),F.firstChild&&w(F,R)),F=F.nextSibling}}function d(q,R,F){C(q)!==!1&&(R&&R.removeChild(q),S(q),w(q,F))}function b(q){if(q.nodeType===Te||q.nodeType===tr)for(var R=q.firstChild;R;){var F=s(R);F&&(y[F]=R),b(R),R=R.nextSibling}}b(a);function j(q){u(q);for(var R=q.firstChild;R;){var F=R.nextSibling,D=s(R);if(D){var $=y[D];$&&De(R,$)?(R.parentNode.replaceChild($,R),O($,R)):j(R)}else j(R);R=F}}function M(q,R,F){for(;R;){var D=R.nextSibling;(F=s(R))?v(F):d(R,q,!0),R=D}}function O(q,R,F){var D=s(R);D&&delete y[D],!(!F&&(g(q,R)===!1||(r(q,R),A(q),P(q,R)===!1)))&&(q.nodeName!=="TEXTAREA"?_(q,R):er.TEXTAREA(q,R))}function _(q,R){var F=L(q),D=R.firstChild,$=q.firstChild,ie,ae,se,pe,fe;e:for(;D;){for(pe=D.nextSibling,ie=s(D);!F&&$;){if(se=$.nextSibling,D.isSameNode&&D.isSameNode($)){D=pe,$=se;continue e}ae=s($);var oe=$.nodeType,re=void 0;if(oe===D.nodeType&&(oe===Te?(ie?ie!==ae&&((fe=y[ie])?se===fe?re=!1:(q.insertBefore(fe,$),ae?v(ae):d($,q,!0),$=fe):re=!1):ae&&(re=!1),re=re!==!1&&De($,D),re&&O($,D)):(oe===rr||oe==nr)&&(re=!0,$.nodeValue!==D.nodeValue&&($.nodeValue=D.nodeValue))),re){D=pe,$=se;continue e}ae?v(ae):d($,q,!0),$=se}if(ie&&(fe=y[ie])&&De(fe,D))F||N(q,fe),O(fe,D);else{var de=p(D);de!==!1&&(de&&(D=de),D.actualize&&(D=D.actualize(q.ownerDocument||ee)),N(q,D),j(D))}D=pe,$=se}M(q,$,ae);var Se=er[q.nodeName];Se&&Se(q,R)}var H=a,te=H.nodeType,ne=f.nodeType;if(!z){if(te===Te)ne===Te?De(a,f)||(S(a),H=Jr(a,Gr(f.nodeName,f.namespaceURI))):H=f;else if(te===rr||te===nr){if(ne===te)return H.nodeValue!==f.nodeValue&&(H.nodeValue=f.nodeValue),H;H=f}}if(H===f)S(a);else{if(f.isSameNode&&f.isSameNode(H))return;if(O(H,f,z),x)for(var Y=0,Ne=x.length;Y<Ne;Y++){var le=y[x[Y]];le&&d(le,le.parentNode,!1)}}return!z&&H!==a&&a.parentNode&&(H.actualize&&(H=H.actualize(a.ownerDocument||ee)),a.parentNode.replaceChild(H,a)),H}}var Zr=Yr(_r),Ae=Zr;(function(i){if(!document)return;console.log(i),window.syncify=window.syncify||{ready:!1,connected:!0,errors:[]};let a=document.createElement("div");a.id="syncify-hot-label-status";function f(){let y=new WebSocket(`ws://localhost:${i.socket}/ws`);z(y)}f();let c=`http://localhost:${i.server}/`,h=new DOMParser,s={onBeforeElUpdated:function(y,x){return!(y.id==="syncify-hot-label-status"||y.tagName==="SCRIPT"||y.tagName==="STYLE"||y.isEqualNode(x))}},p=function(y){return{list:()=>Object.keys(y).length>0?y:null,get:x=>x in y?document.body.querySelectorAll(y[x].join(",")):null,load:(x=document.body)=>{y={};let v=x.querySelectorAll(".shopify-section");return v?(v.forEach(({id:w})=>{let d=/[0-9]+_{2}[\w-]+$/.exec(w),b;if(d!==null)b=d[0].slice(d[0].indexOf("__")+2);else if(w.startsWith("shopify-section-"))b=w.slice(16);else return window.syncify.errors.push({title:"Unknown Section",description:`Syncify encountered an issue mapping the section id: ${w}`,group:"section"}),null;let j=`#${w}`;b in y?y[b].indexOf(j)<0&&y[b].push(j):y[b]=[j]}),y):null}}}({}),u=function(){let x="Syncify Connected",v={position:"fixed",left:"0",bottom:"0",right:"0",margin:"0 auto",display:"flex",color:"#f7f7f7",zIndex:"99999",fontFamily:"system-ui,sans-serif",textAlign:"center",justifyContent:"space-around",alignItems:"center",fontSize:"11px"},w={padding:"5px 20px",backgroundColor:"#232326",border:"0.8px solid transparent",borderRadius:"5px",borderTopLeftRadius:"0",borderTopRightRadius:"0",borderBottomLeftRadius:"0",borderBottomRightRadius:"0",borderBottom:"0"},d={view:()=>(0,ge.default)("div",{style:w},x)};return Object.assign(a.style,v),window.syncify.style={parent:b=>{Object.assign(a.style,v,b),ge.default.redraw()},label:b=>{Object.assign(w,b),ge.default.redraw()}},ge.default.mount(a,d),{get node(){return a},event:b=>(b!==void 0&&(x=b),ge.default.redraw(),x),render:b=>{b.append(a)}}}(),g=function(y){let x=null;return{start:()=>{let v=performance.now();y.push(v)},stop:()=>{x!==null&&(clearTimeout(x),x=null),x=setTimeout(()=>{u.event("Waiting for changes..."),x=null},5e3);let v=performance.now()-y.pop();if(v<1e3)return`${v.toFixed(0)}ms`;let w=v/1e3;if(w<60)return`${w.toFixed(0)}s ${+v.toFixed(0).slice(1)}ms`;let d=(w/60).toFixed(0);return`${d}m ${w-60*Number(d)}s ${+v.toFixed(0).slice(1)}ms`}}}([]);function A(y){let x=y.lastIndexOf("/")+1,v=y.indexOf("?",x);return(v>-1?y.substring(x,v):y.substring(x))+"?v="+Date.now()}function C(y,x){return typeof x!="string"?!1:y.slice(y.lastIndexOf("/")+1).startsWith(x)}function S(y,x){return y.querySelectorAll("link[rel=stylesheet]").forEach(v=>{let w=v.getAttribute("href");C(w,x)&&v.setAttribute("href",c+A(w))}),y}function P(y,x){return y.querySelectorAll("script").forEach(v=>{if(!v.hasAttribute("src"))return;let w=v.getAttribute("src");if(!C(w,x))return;let d=document.createElement("script");d.setAttribute("src",c+A(w));for(let b of Array.from(v.attributes))b.nodeName!=="src"&&d.setAttribute(b.nodeName,b.nodeValue);v.replaceWith(d)}),y}function L(y){return P(y),S(y),y}function N(y,x){return new Promise(function(v,w){let d=new XMLHttpRequest;d.responseType=x,d.open("GET",y),d.setRequestHeader("X-Syncify-Request","true"),d.onload=()=>v(d.response),d.onerror=()=>w(d.statusText),d.send()})}function z(y){let x=NaN;y.addEventListener("close",()=>{y=null,setTimeout(f,5e3)}),y.addEventListener("message",function({data:v}){if(v==="connected"){if(!window.syncify.connected)return g.start(),u.event("Reconnecting"),N(location.href,"document").then(w=>{let d=L(w);i.strategy==="hydrate"?Ae(document.body,d.body,s):document.body.replaceWith(d.body),p.load(document.body),u.render(document.body),u.event(`Reconnected in ${g.stop()}`),window.syncify.connected=!0})}else if(v==="disconnect")window.syncify.connected=!1,u.event("Syncify Disconnected");else{if(v==="reload")return u.event("Refreshing"),top.location.reload();if(v==="replace")return g.start(),u.event("Reloading"),isNaN(x)||clearTimeout(x),N(location.href,"document").then(w=>{let d=L(w);i.strategy==="hydrate"?Ae(document.body,d.body,s):document.body.replaceWith(d.body),p.load(document.body),u.render(document.body),u.event(`Reloaded in ${g.stop()}`),x=NaN});{g.start();let[w,d]=v.split(",");if(w==="section"){let b=p.get(d);if(b===null){window.syncify.reload();return}b.length>1?u.event(`Reloading ${b.length} Sections: ${d}`):u.event(`Reloading Section: ${d}`);let j=`${location.pathname}?sections=${d}`;return N(j,"json").then(M=>{if(b!==null){if(i.strategy==="hydrate"){let O={childrenOnly:!0,onBeforeElUpdated:function(_,H){return!(_.tagName==="SCRIPT"||_.tagName==="STYLE"||_.isEqualNode(H))}};b.forEach(_=>Ae(_,M[d],O))}else b.forEach(O=>{let{firstElementChild:_}=h.parseFromString(M[j],"text/html").body;O.replaceWith(_)});u.event(`Reloaded in ${g.stop()}`)}}).catch(M=>{window.syncify.errors.push({title:"XHR Error fetching section",description:`Section with id: ${d} failed to return a response from Shopify`,group:"sections"}),console.error("SYNCIFY: ",M)})}else w==="script"?(u.event(`Reloading JavaScript: ${d}`),P(document,d),u.event(`Reloaded in ${g.stop()}`)):w==="stylesheet"&&(u.event(`Reloading Stylesheet: ${d}`),S(document,d),u.event(`Reloaded in ${g.stop()}`))}}})}window.syncify.sections=p,window.syncify.assets=()=>L(document),window.syncify.refresh=()=>top.location.reload(),window.syncify.reload=()=>N(location.href,"text").then(y=>{let x=h.parseFromString(y,"text/html");i.strategy==="hydrate"?Ae(document.body,L(x).body,s):document.body.replaceWith(x.body),p.load(document.body),u.render(document.body)}),document.addEventListener("DOMContentLoaded",()=>{p.load(document.body),u.render(document.body),window.syncify.ready=!0})})({server:"{{- server | default: 3000 -}}",socket:"{{- socket | default: 8089 -}}",label:'{{- label | default: "visible" -}}',history:!!"{{- history | default: false -}}",method:'{{- method | default: "hot" -}}',scroll:'{{- scroll | default: "preserved" -}}',strategy:'{{- strategy | default: "hydrate" -}}'});})();
1
+ {%- liquid
2
+ # !! SYNCIFY HOT CLIENT - DO NOT EDIT FILE !!
3
+ # v0.4.9
4
+ # inject@options
5
+ echo '<style id="syncify-hot-style">'
6
+ if no-preview-bar
7
+ echo 'iframe#preview-bar-iframe {display:none!important;}'
8
+ endif
9
+ echo '.sy__hot-label{all:initial;position:fixed;display:flex;color:#e4e4e4;z-index:2147483647;font-family:system-ui;font-weight:600;text-align:center;justify-content:space-around;align-items:center;font-size:11px;user-select:none;transition:border .5s ease}.sy__hot-label-inner{all:initial;cursor:move;padding:7px 14px 8px 32px;border:0;border-radius:6px;color:inherit;font-weight:600;font-size:inherit;font-family:inherit;background-color:#000;transition:border-radius .5s ease;background-position:11px center;background-size:12px;background-repeat:no-repeat;will-change:border-radius}'
10
+ echo '</style>'
11
+ -%}
12
+ <script id="syncify-hot-client">
13
+ var de=11;function ge(r,s){var a=s.attributes,o,t,h,g,T;if(!(s.nodeType===de||r.nodeType===de)){for(var E=a.length-1;E>=0;E--)o=a[E],t=o.name,h=o.namespaceURI,g=o.value,h?(t=o.localName||t,T=r.getAttributeNS(h,t),T!==g&&(o.prefix==="xmlns"&&(t=o.name),r.setAttributeNS(h,t,g))):(T=r.getAttribute(t),T!==g&&r.setAttribute(t,g));for(var H=r.attributes,A=H.length-1;A>=0;A--)o=H[A],t=o.name,h=o.namespaceURI,h?(t=o.localName||t,s.hasAttributeNS(h,t)||r.removeAttributeNS(h,t)):s.hasAttribute(t)||r.removeAttribute(t)}}var ae,ve="http://www.w3.org/1999/xhtml",N=typeof document>"u"?void 0:document,be=!!N&&"content"in N.createElement("template"),we=!!N&&N.createRange&&"createContextualFragment"in N.createRange();function Te(r){var s=N.createElement("template");return s.innerHTML=r,s.content.childNodes[0]}function Se(r){ae||(ae=N.createRange(),ae.selectNode(N.body));var s=ae.createContextualFragment(r);return s.childNodes[0]}function Oe(r){var s=N.createElement("body");return s.innerHTML=r,s.childNodes[0]}function $e(r){return r=r.trim(),be?Te(r):we?Se(r):Oe(r)}function le(r,s){var a=r.nodeName,o=s.nodeName,t,h;return a===o?!0:(t=a.charCodeAt(0),h=o.charCodeAt(0),t<=90&&h>=97?a===o.toUpperCase():h<=90&&t>=97?o===a.toUpperCase():!1)}function Ee(r,s){return!s||s===ve?N.createElement(r):N.createElementNS(s,r)}function Ae(r,s){for(var a=r.firstChild;a;){var o=a.nextSibling;s.appendChild(a),a=o}return s}function ue(r,s,a){r[a]!==s[a]&&(r[a]=s[a],r[a]?r.setAttribute(a,""):r.removeAttribute(a))}var fe={OPTION:function(r,s){var a=r.parentNode;if(a){var o=a.nodeName.toUpperCase();o==="OPTGROUP"&&(a=a.parentNode,o=a&&a.nodeName.toUpperCase()),o==="SELECT"&&!a.hasAttribute("multiple")&&(r.hasAttribute("selected")&&!s.selected&&(r.setAttribute("selected","selected"),r.removeAttribute("selected")),a.selectedIndex=-1)}ue(r,s,"selected")},INPUT:function(r,s){ue(r,s,"checked"),ue(r,s,"disabled"),r.value!==s.value&&(r.value=s.value),s.hasAttribute("value")||r.removeAttribute("value")},TEXTAREA:function(r,s){var a=s.value;r.value!==a&&(r.value=a);var o=r.firstChild;if(o){var t=o.nodeValue;if(t==a||!a&&t==r.placeholder)return;o.nodeValue=a}},SELECT:function(r,s){if(!s.hasAttribute("multiple")){for(var a=-1,o=0,t=r.firstChild,h,g;t;)if(g=t.nodeName&&t.nodeName.toUpperCase(),g==="OPTGROUP")h=t,t=h.firstChild;else{if(g==="OPTION"){if(t.hasAttribute("selected")){a=o;break}o++}t=t.nextSibling,!t&&h&&(t=h.nextSibling,h=null)}r.selectedIndex=a}}},oe=1,me=11,he=3,pe=8;function V(){}function xe(r){if(r)return r.getAttribute&&r.getAttribute("id")||r.id}function De(r){return function(a,o,t){if(t||(t={}),typeof o=="string")if(a.nodeName==="#document"||a.nodeName==="HTML"||a.nodeName==="BODY"){var h=o;o=N.createElement("html"),o.innerHTML=h}else o=$e(o);else o.nodeType===me&&(o=o.firstElementChild);var g=t.getNodeKey||xe,T=t.onBeforeNodeAdded||V,E=t.onNodeAdded||V,H=t.onBeforeElUpdated||V,A=t.onElUpdated||V,U=t.onBeforeNodeDiscarded||V,_=t.onNodeDiscarded||V,q=t.onBeforeElChildrenUpdated||V,j=t.skipFromChildren||V,te=t.addChild||function(u,d){return u.appendChild(d)},z=t.childrenOnly===!0,I=Object.create(null),W=[];function G(u){W.push(u)}function ne(u,d){if(u.nodeType===oe)for(var b=u.firstChild;b;){var m=void 0;d&&(m=g(b))?G(m):(_(b),b.firstChild&&ne(b,d)),b=b.nextSibling}}function Y(u,d,b){U(u)!==!1&&(d&&d.removeChild(u),_(u),ne(u,b))}function ie(u){if(u.nodeType===oe||u.nodeType===me)for(var d=u.firstChild;d;){var b=g(d);b&&(I[b]=d),ie(d),d=d.nextSibling}}ie(a);function J(u){E(u);for(var d=u.firstChild;d;){var b=d.nextSibling,m=g(d);if(m){var y=I[m];y&&le(d,y)?(d.parentNode.replaceChild(y,d),x(y,d)):J(d)}else J(d);d=b}}function w(u,d,b){for(;d;){var m=d.nextSibling;(b=g(d))?G(b):Y(d,u,!0),d=m}}function x(u,d,b){var m=g(d);if(m&&delete I[m],!b){var y=H(u,d);if(y===!1||(y instanceof HTMLElement&&(u=y,ie(u)),r(u,d),A(u),q(u,d)===!1))return}u.nodeName!=="TEXTAREA"?Z(u,d):fe.TEXTAREA(u,d)}function Z(u,d){var b=j(u,d),m=d.firstChild,y=u.firstChild,R,L,M,e,n;e:for(;m;){for(e=m.nextSibling,R=g(m);!b&&y;){if(M=y.nextSibling,m.isSameNode&&m.isSameNode(y)){m=e,y=M;continue e}L=g(y);var l=y.nodeType,i=void 0;if(l===m.nodeType&&(l===oe?(R?R!==L&&((n=I[R])?M===n?i=!1:(u.insertBefore(n,y),L?G(L):Y(y,u,!0),y=n,L=g(y)):i=!1):L&&(i=!1),i=i!==!1&&le(y,m),i&&x(y,m)):(l===he||l==pe)&&(i=!0,y.nodeValue!==m.nodeValue&&(y.nodeValue=m.nodeValue))),i){m=e,y=M;continue e}L?G(L):Y(y,u,!0),y=M}if(R&&(n=I[R])&&le(n,m))b||te(u,n),x(n,m);else{var c=T(m);c!==!1&&(c&&(m=c),m.actualize&&(m=m.actualize(u.ownerDocument||N)),te(u,m),J(m))}m=e,y=M}w(u,y,L);var v=fe[u.nodeName];v&&v(u,d)}var S=a,K=S.nodeType,re=o.nodeType;if(!z){if(K===oe)re===oe?le(a,o)||(_(a),S=Ae(a,Ee(o.nodeName,o.namespaceURI))):S=o;else if(K===he||K===pe){if(re===K)return S.nodeValue!==o.nodeValue&&(S.nodeValue=o.nodeValue),S;S=o}}if(S===o)_(a);else{if(o.isSameNode&&o.isSameNode(S))return;if(x(S,o,z),W)for(var Q=0,se=W.length;Q<se;Q++){var F=I[W[Q]];F&&Y(F,F.parentNode,!1)}}return!z&&S!==a&&a.parentNode&&(S.actualize&&(S=S.actualize(a.ownerDocument||N)),a.parentNode.replaceChild(S,a)),S}}var Ne=De(ge),ce=Ne;function ye(r){let s={customElementDefine:customElements.define,customElementsGet:customElements.get,querySelector:Document.prototype.querySelector,querySelectorAll:Document.prototype.querySelectorAll,getElementsByTagName:Document.prototype.getElementsByTagName,matches:Element.prototype.matches,closest:Element.prototype.closest},a=(t=10,h)=>(h=h||"",t?a(--t,"abcdefghiklmnopqrstuvwxyz".charAt(Math.floor(Math.random()*60))+h):h);function o(t){return r.has(t)?r.get(t):t}Document.prototype.querySelector=function(t){return s.querySelector.call(this,o(t))},Document.prototype.querySelectorAll=function(t){return s.querySelectorAll.call(this,o(t))},Document.prototype.getElementsByName=function(t){return s.getElementsByTagName.call(this,o(t))},Element.prototype.matches=function(t){return s.matches.call(this,o(t))},Element.prototype.closest=function(t){return s.closest.call(this,o(t))},customElements.get=function(t){return s.customElementsGet.call(customElements,o(t))},customElements.define=function(t,h,g){if(r.has(t)){let T=`${t}-${a()}`,E=r.get(t);s.customElementDefine.call(customElements,T,h,g),document.body.querySelectorAll(E).forEach(H=>{console.info(`HOT: Web Component '${t}' was refined to ${T} (refresh to reset)`);let A=document.createElement(T);A.innerHTML=H.innerHTML,H.replaceWith(A)}),r.set(t,T)}else console.warn(`HOT: Web component '${t}' will be monkey patched during HOT Mode.`),s.customElementDefine.call(customElements,t,h,g),r.set(t,t)}}(function(s){if(!document)return;window.syncify||(window.syncify=Object.create(null),window.syncify.version="0.4.9");let a=new Map,o=[],t={"no-preview-bar":!1,"no-checkout-preloads":!1,"no-perfkit":!1,"no-shopify-features":!1,"no-trekkie":!1,"no-web-pixels-manager":!1},h=!1,g={},T=!1,E=NaN,H=0,A,U,_=s.label,q=s.method,j=`http://localhost:${s.server}/`,te=`ws://localhost:${s.socket}/ws`;Object.defineProperty(window.syncify,"options",{get(){return s},set(e){for(let n in s)n in s&&(s[n]=e[n],n==="server"?j=`http://localhost:${s[n]}/`:n==="socket"?te=`ws://localhost:${s.socket}/ws`:n==="label"?_=s[n]:n==="method"?q=s[n]:n==="flags"&&Object.assign(t,s[n]))}});let z={onBeforeNodeDiscarded(e){return!(e.id==="syncify-hot-label"||e.id==="syncify-hot-style")},onBeforeElUpdated(e,n){return!(e.id==="syncify-hot-label"||e.id==="syncify-hot-style"||e.tagName==="SCRIPT"&&e.hasAttribute("src")&&e.getAttribute("src").startsWith(j)||e.tagName==="LINK"&&e.hasAttribute("href")&&e.getAttribute("href").startsWith(j)||e.tagName!=="SCRIPT"&&e.isEqualNode(n))}},I=e=>`url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20width%3D%2212px%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2092%2092%22%3E%3Cpath%20d%3D%22M45.6607%200h45.62v26.07h-45.62c-5.1825.0079-10.1505%202.0703-13.8151%205.7349-3.6647%203.6646-5.7269%208.6326-5.7349%2013.8152-.0768%204.8168%201.7153%209.4761%205%2013H1.76071c-1.191519-4.2298-1.7839619-8.6057-1.76001194-13%200-5.9896%201.17974194-11.9206%203.47186194-17.4543%202.29212-5.5336%205.65171-10.5616%209.88704-14.7969%204.2353-4.23528%209.2633-7.59491%2014.7969-9.88703C33.6902%201.18976%2039.6211.0100098%2045.6107.0100098L45.6607%200Zm0%2091.23H.050716V65.17H45.6607c5.1826-.0079%2010.1506-2.0702%2013.8152-5.7348s5.7269-8.6326%205.7348-13.8151c.0769-4.8169-1.7152-9.4762-5-13h29.32c1.1916%204.2297%201.784%208.6057%201.7601%2013%20.0013%205.9912-1.1779%2011.924-3.47%2017.4595-2.2922%205.5355-5.6525%2010.5651-9.8889%2014.8016-4.2365%204.2364-9.2661%207.5967-14.8016%209.8889-5.5355%202.2921-11.4683%203.4713-17.4596%203.47l-.01-.0101Z%22%20fill%3D%22%23${e}%22%2F%3E%3C%2Fsvg%3E")`;function W(e,n,l){let i=document.createElement(e);return i.className=n,l&&Object.assign(i.style,l),i}function G(e){requestAnimationFrame(()=>{e.body.querySelector("#preview-bar-iframe").remove(),e.documentElement.style.removeProperty("padding-bottom")});let n=[];if(t["no-trekkie"]&&n.push("script[src*=syncify\\.myshopify\\.com\\/cdn\\/s\\/trekkie\\.storefront]"),t["no-web-pixels-manager"]&&n.push("script[src*=syncify\\.myshopify\\.com\\/cdn\\/wpm\\/]","script#web-pixels-manager-setup"),t["no-perfkit"]&&n.push("script[src*=syncify\\.myshopify\\.com\\/cdn\\/shopifycloud\\/perf-kit\\/]"),t["no-checkout-preloads"]&&n.push("script[src*=\\/checkouts\\/internal\\/preloads\\.js]"),t["no-shopify-features"]&&n.push("script#shopify-features",'script[data-source-attribution="shopify.loadfeatures"]'),n.length===0)return;let l=e.head.querySelectorAll(n.join());l&&l.forEach(i=>{i.remove(),i.src.indexOf("/cdn/wpm")>-1?console.error(`HOT --no-web-pixels-manager: ${i.src} (BLOCKED)`):i.id==="web-pixels-manager-setup"?console.error(`HOT --no-web-pixels-manager: ${i.id} (BLOCKED)`):i.id==="shopify-features"?console.error(`HOT --no-shopify-features: ${i.id} (BLOCKED)`):i.src.indexOf("/perf-kit")>-1?console.error(`HOT --no-perf-kit: ${i.src} (BLOCKED)`):i.src.indexOf("/trekkie")>-1?console.error(`HOT --no-trekkie: ${i.src} (BLOCKED)`):i.src.indexOf("/checkouts/internal")>-1?console.error(`HOT --no-checkout-preloads: ${i.src} (BLOCKED)`):i.hasAttribute("data-source-attribution")?console.error(`HOT --no-source-attribution: ${i.getAttribute("data-source-attribution")} (BLOCKED)`):i.src.indexOf("/storefront/bars")>-1&&console.error(`HOT --no-preview-bar: ${i.src} (BLOCKED)`)})}function ne(e,n){for(let[l,i]of n)e.addEventListener(l,i)}function Y(e,n){for(let[l,i]of n)e.removeEventListener(l,i)}function ie(e){let n=!1,l,i,c=()=>{let p=e.getBoundingClientRect(),f="6px",$="0px",k={top:p.top<=6,bottom:p.bottom>=window.innerHeight-6,left:p.left<=6,right:p.right>=window.innerWidth-6},P;k.top&&k.left?P=`${$} ${f} ${f} ${f}`:k.top&&k.right?P=`${f} ${$} ${f} ${f}`:k.bottom&&k.left?P=`${f} ${f} ${f} ${$}`:k.bottom&&k.right?P=`${f} ${f} ${$} ${f}`:k.top?P=`${$} ${$} ${f} ${f}`:k.bottom?P=`${f} ${f} ${$} ${$}`:k.left?P=`${$} ${f} ${f} ${$}`:k.right?P=`${f} ${$} ${$} ${f}`:P=`${f} ${f} ${f} ${f}`,e.querySelector("span").style.borderRadius=P},v=(p,f)=>{let $=e.getBoundingClientRect();e.style.left=`${Math.min(Math.max(p,0),window.innerWidth-$.width)}px`,e.style.top=`${Math.min(Math.max(f,0),window.innerHeight-$.height)}px`,c()},O=()=>{e.style.visibility="hidden";let p=e.getBoundingClientRect(),f=(window.innerWidth-p.width)/2,$=window.innerHeight-p.height;v(f,$),e.style.visibility="visible"},D=p=>{let f=e.getBoundingClientRect();l=(p.touches?p.touches[0].clientX:p.clientX)-f.left,i=(p.touches?p.touches[0].clientY:p.clientY)-f.top,n=p.target===e||e.contains(p.target)},C=p=>{n&&(p.preventDefault(),v((p.touches?p.touches[0].clientX:p.clientX)-l,(p.touches?p.touches[0].clientY:p.clientY)-i))},ee=()=>{n=!1},X=[["mousedown",D],["mousemove",C],["mouseup",ee],["touchstart",D],["touchmove",C],["touchend",ee]];ne(document,X),ne(e,X.filter(([p])=>p!=="mousemove"&&p!=="touchmove"));let B=()=>O();return window.addEventListener("resize",B),requestAnimationFrame(()=>O()),()=>{Y(document,X),window.removeEventListener("resize",B)}}function J(){return U="{%-if template.directory-%}{{-template.directory-}}/{%-endif-%}{{-template.name-}}",U}let w=function(){let e,n;return{get node(){return e},mount:i=>{if(e instanceof Element&&i.contains(e))return;let c=W("div","sy__hot-label");e=W("span","sy__hot-label-inner",{backgroundImage:I("4DBB73")}),window.syncify&&typeof window.syncify.style!="object"&&(window.syncify.style=Object.create(null),window.syncify.style.parent=v=>Object.assign(c.style,v),window.syncify.style.label=v=>Object.assign(e,v)),e.innerText=q?"HOT":"LIVE",c.id="syncify-hot-label",c.style.visibility="hidden",c.appendChild(e),_&&(n=ie(c),i.append(c))},event(i,c){i!==void 0&&(c?e.style.setProperty("font-size",c):e.style.removeProperty("font-size"),e.innerText=i)},unmount(){n(),e.remove(),e=void 0}}}(),x=function(e){let n=null;return{start:()=>{e.push(performance.now())},stop:()=>{n!==null&&(clearTimeout(n),n=null),n=setTimeout(()=>{w.event(q==="hot"?"HOT":"LIVE"),n=null},6e3);let l=performance.now()-e.pop();if(l<1e3)return`${l.toFixed(0)}ms`;let i=l/1e3;if(i<60)return`${i.toFixed(0)}s ${+l.toFixed(0).slice(1)}ms`;let c=(i/60).toFixed(0);return`${c}m ${i-60*Number(c)}s ${+l.toFixed(0).slice(1)}ms`}}}([]),Z=function(e){return{list(){return{map:Object.keys(e).length>0?e:null,alias:g}},get(n){if(n in e)return document.body.querySelectorAll(e[n].join(","));if(U in g&&n in g[U]){let l=[];for(let i=0,c=g[U][n].length,v="";i<c;i++)v=g[U][n][i],v in e&&l.push(...e[v]);if(l.length>0)return document.body.querySelectorAll(l.join(","))}return null},load:(n=document.body)=>{e={};let l=n.querySelectorAll(".shopify-section");if(!l)return null;for(let i=0,c=l.length;i<c;i++){let{id:v}=l[i],O=/[0-9]+_{2}[\w-]+$/.exec(v),D;if(O!==null)D=O[0].slice(O[0].indexOf("__")+2);else if(v.startsWith("shopify-section-"))D=v.slice(16);else{window.syncify.errors.push({title:"Unknown Section",description:`Syncify encountered an issue mapping the section id: ${v}`,group:"section"});continue}let C=`#${v}`;D in e?e[D].indexOf(C)<0&&e[D].push(C):e[D]=[C]}return e}}}({});function S(e){let n=e.lastIndexOf("/")+1,l=e.indexOf("?",n);return(l>-1?e.substring(n,l):e.substring(n))+"?v="+Date.now()}function K(e,n){return typeof n!="string"?!1:e.slice(e.lastIndexOf("/")+1).startsWith(n)}function re(e,n){let l=e.querySelectorAll("link[rel=stylesheet]");for(let i=0,c=l.length;i<c;i++){let v=l[i],O=v.getAttribute("href");K(O,n)&&v.setAttribute("href",j+S(O))}return e}function Q(e,n){let l=e.querySelectorAll("script[src]"),i=[];for(let c=0,v=l.length;c<v;c++){let O=l[c],D=O.getAttribute("src");if(K(D,n)){let C=new Promise((ee,X)=>{let B=document.createElement("script");B.setAttribute("src",j+S(D));let p=Array.from(O.attributes);for(let f of p)f.nodeName!=="src"&&B.setAttribute(f.nodeName,f.nodeValue);B.onload=()=>ee(D),B.onerror=f=>{console.error("HOT Script failed to reload:",f),X(new Error("HOT Script Error"))},O.replaceWith(B)});i.push(C)}}return i}function se(e=document){return re(e),Promise.allSettled(Q(e))}function F(e,n){return new Promise(function(l,i){let c=new XMLHttpRequest;c.responseType=n,c.open("GET",e,!0),c.setRequestHeader("x-syncify-hot","true"),c.onload=()=>l(c.response),c.onerror=()=>i(c.statusText),c.send()})}let u=()=>F(location.href,"document").then(e=>{se(e).then(()=>{ce(document.body,e.body,z),Z.load(document.body),w.mount(document.body)})});function d(){if(T!==!0){if(H>1e3){A=void 0,L(),console.warn("HOT Reconnection could not be established and process was killed");return}A=new WebSocket(te),b(A)}}function b(e){isNaN(E)||clearTimeout(E),e.addEventListener("close",()=>{H===0&&console.warn("HOT Reconnection will continue to be attempted until a hard-refresh"),H>0||w.event("DISCONNECTED","10px"),T=!1,H++,E=setTimeout(d,2500)}),e.addEventListener("open",()=>{T?(x.start(),w.event("Reconnecting"),u().then(()=>{w.event(`Reconnected in ${x.stop()}`),T=!0,R()})):(T=!0,w.event(q==="hot"?"HOT":"LIVE"),R())});let n=q==="hot"?"HOT ":"LIVE ";e.addEventListener("message",function({data:l}){if(l==="reload")return w.event("Refresh"),top.location.reload();if(l==="replace")return x.start(),w.event(`${n} RELOAD`),isNaN(E)||clearTimeout(E),u().then(()=>{w.event(`Reloaded in ${x.stop()}`),E=NaN});if(l.startsWith("alias|"))g=JSON.parse(l.slice(6));else{if(x.start(),q==="live")return F(location.href,"document").then(i=>{document.body.replaceWith(i.body),w.mount(document.body),w.event(`Reloaded in ${x.stop()}`),E=NaN});{let[i,c,v]=l.split(",");if(i==="section"){let O=Z.get(c);if(O===null){m(()=>w.event(`Reloaded in ${x.stop()}`));return}O.length>1?w.event(`${O.length} ${n}Sections`):w.event(`${n}Section`);let D=`${location.pathname}?sections=${c}`;return F(D,"json").then(C=>{O.forEach(ee=>{ce(ee,C[c],{childrenOnly:!0,onBeforeElUpdated:(X,B)=>!X.isEqualNode(B)})}),w.event(`Reloaded in ${x.stop()}`)}).catch(C=>{o.push({title:"XHR Error fetching section",description:`Section with id: ${c} failed to return a response from Shopify`,group:"sections"}),console.error("SYNCIFY: ",C)})}else i==="script"?(w.event(`${n}JavaScript: ${c}`),Promise.allSettled(Q(document,c)).then(()=>{e.send(v),w.event(`Reloaded in ${x.stop()}`)})):i==="stylesheet"&&(w.event(`${n}Stylesheet: ${c}`),re(document,c),e.send(v),w.event(`Reloaded in ${x.stop()}`))}}})}function m(e){F(location.href,"document").then(n=>{se(n).then(()=>{ce(document.body,n.body,z),typeof e=="function"&&e(document)})})}function y(){return top.location.reload()}function R(e){A.send("ROUTE:"+JSON.stringify(e||{url:location.href,template:J()}))}function L(){let e=document.body;return h&&(h=!1,A&&(T=!1,A.close()),w.unmount()),e}function M(e){if(document.readyState!=="complete")setTimeout(()=>M(e),25);else{let n=h?L():document.body;typeof e=="object"&&(window.syncify.options=e),Z.load(n),w.mount(n),h=!0,d()}}Object.defineProperties(window.syncify,{isReady:{get(){return h}},isConnected:{get(){return T}},errors:{get(){return o}},WebC:{get(){return a}},template:{get(){return U}},connect:{value:M},disconnect:{value:L},sections:{value:Z},route:{value:R},assets:{value:se},refresh:{value:y},reload:{value:m}}),document.addEventListener("readystatechange",function(){J(),this.readyState==="interactive"?ye(a):this.readyState==="complete"&&G(this)}),M()})({method:"{{method|default:'hot'}}",server:+"{{server|default:41001}}",socket:+"{{socket|default:51001}}",label:!0,flags:{"no-preview-bar":!0,"no-web-pixels-manager":!0,"no-shopify-features":!0,"no-trekkie":!0,"no-perfkit":!0,"no-checkout-preloads":!0}});
3
14
  </script>
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
+ "version": "1.0.0-unstable.0",
2
3
  "name": "@syncify/cli",
3
- "description": "The next generation build tool for Shopify theme development.",
4
- "version": "0.3.0-beta",
5
- "license": "MIT",
4
+ "description": "The new generation build tool for Shopify theme development.",
5
+ "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/panoply/syncify",
7
7
  "bugs": "https://github.com/panoply/syncify/issues",
8
8
  "repository": {
@@ -10,154 +10,157 @@
10
10
  "url": "git://github.com/panoply/syncify.git"
11
11
  },
12
12
  "author": {
13
- "name": "ΝΙΚΟΛΑΣ ΣΑΒΒΙΔΗΣ",
13
+ "name": "Νικολας Σαββιδης",
14
14
  "url": "https://github.com/panoply",
15
15
  "email": "n.savvidis@gmx.com"
16
16
  },
17
17
  "files": [
18
18
  "dist",
19
- "types",
20
- "schema",
19
+ "scripts",
21
20
  "hot.js.liquid",
22
21
  "LICENCE",
23
- "package.json",
24
- "pnpm-lock.yaml"
22
+ "package.json"
25
23
  ],
26
24
  "keywords": [
27
25
  "cli",
28
26
  "command line",
29
- "themekit",
30
27
  "syncify",
31
28
  "shopify",
32
29
  "shopify theme",
33
30
  "shopify node",
34
31
  "shopify theme",
35
32
  "shopify sync",
36
- "shopify cli"
33
+ "shopify cli",
34
+ "themekit"
37
35
  ],
38
36
  "engines": {
39
- "pnpm": ">=7",
40
- "node": ">=14",
37
+ "pnpm": ">=9",
38
+ "node": ">=20",
41
39
  "vscode": "^1.22.0"
42
40
  },
43
- "types": "./types/index.d.ts",
44
- "main": "./dist/index.js",
45
41
  "bin": {
46
- "syncify": "dist/cli.js",
47
- "sy": "dist/cli.js"
42
+ "sy": "./dist/cli.js",
43
+ "syncify": "./dist/cli.js"
48
44
  },
49
- "prettier": "@sissel/prettier-config",
50
- "eslintConfig": {
51
- "extends": "@sissel/eslint-config",
52
- "ignorePatterns": [
53
- "docs",
54
- "dist",
55
- "test/e2e/theme"
56
- ],
57
- "rules": {
58
- "object-curly-newline": "off",
59
- "no-import-assign": "off",
60
- "no-new-func": "off"
45
+ "main": "./dist/index.js",
46
+ "types": "./dist/index.d.ts",
47
+ "ava": {
48
+ "typescript": {
49
+ "rewritePaths": {
50
+ "syncify/": "dist/tests/"
51
+ },
52
+ "compile": false
61
53
  }
62
54
  },
55
+ "publishConfig": {
56
+ "access": "public",
57
+ "registry": "https://registry.npmjs.org/"
58
+ },
59
+ "prettier": "@syncify/prettier-config",
63
60
  "dependencies": {
64
- "@liquify/highlight": "^0.1.0",
65
- "anymatch": "^3.1.3",
66
- "axios": "^1.5.0",
67
- "chokidar": "^3.5.3",
68
- "clean-css": "^5.3.2",
69
- "cross-spawn": "^7.0.3",
70
- "dotenv": "^16.3.1",
71
- "fast-glob": "^3.3.1",
72
- "finalhandler": "^1.2.0",
73
- "fs-extra": "^11.1.1",
61
+ "@parcel/watcher": "^2.5.1",
62
+ "@tailwindcss/postcss": "^4.0.14",
63
+ "adm-zip": "^0.5.16",
64
+ "cbor": "^10.0.3",
65
+ "clean-css": "^5.3.3",
66
+ "enquirer": "^2.4.1",
67
+ "esbuild": "v0.25.1",
68
+ "fast-glob": "^3.3.3",
69
+ "fs-extra": "^11.3.0",
74
70
  "gray-matter": "^4.0.3",
75
- "html-minifier-terser": "7.2.0",
76
- "load-tsconfig": "^0.2.5",
77
- "markdown-it": "^13.0.1",
78
- "minimist": "^1.2.8",
79
- "morphdom": "^2.7.0",
71
+ "html-minifier-terser": "^7.2.0",
72
+ "js-yaml": "^4.1.0",
73
+ "markdown-it": "^14.1.0",
80
74
  "node-notifier": "^10.0.1",
81
- "open-editor": "^4.1.1",
82
- "p-map": "^6.0.0",
83
- "pathe": "^1.1.1",
84
- "prompts": "^2.4.2",
85
- "serve-static": "^1.15.0",
86
- "tree-kill": "^1.2.2",
87
- "turndown": "^7.1.2",
88
- "ws": "^8.13.0"
75
+ "postcss": "^8.5.3",
76
+ "sass-embedded": "^1.85.1",
77
+ "smol-toml": "^1.3.1",
78
+ "svgo": "^3.3.2",
79
+ "xior": "^0.7.6",
80
+ "@syncify/uws": "^0.1.2",
81
+ "@syncify/json": "^0.1.1",
82
+ "@syncify/turndown": "^0.2.1"
89
83
  },
90
84
  "devDependencies": {
91
- "@sissel/eslint-config": "^1.1.0",
92
- "@sissel/prettier-config": "^1.1.0",
93
- "@types/finalhandler": "^1.2.0",
94
- "@types/fs-extra": "^11.0.1",
95
- "@types/mime-types": "^2.1.1",
96
- "@types/minimist": "^1.2.2",
97
- "@types/prompts": "^2.4.4",
98
- "@types/serve-static": "^1.15.2",
99
- "@types/svg-sprite": "^0.0.34",
100
- "@types/ws": "^8.5.5",
101
- "ansis": "^1.5.5",
102
- "ava": "^5.3.1",
103
- "clean-stack": "^5.2.0",
104
- "esbuild": "^0.19.2",
105
- "eslint": "^8.48.0",
106
- "log-update": "^5.0.1",
107
- "mergerino": "^0.4.0",
108
- "mithril": "^2.2.2",
109
- "p-queue": "^7.4.1",
110
- "postcss": "^8.4.29",
111
- "prettier": "^3.0.3",
112
- "rambdax": "^10.0.0",
113
- "sass": "^1.66.1",
114
- "sharp": "^0.32.5",
115
- "strip-json-comments": "^5.0.1",
116
- "svg-sprite": "^2.0.2",
117
- "svgo": "^3.0.2",
118
- "tailwindcss": "^3.3.3",
119
- "tiny-spinner": "^2.0.3",
120
- "tsconfig-type": "^1.27.0",
121
- "tsup": "^7.2.0",
122
- "type-fest": "^4.3.1",
123
- "typescript": "^5.2.2",
124
- "wrap-ansi": "^8.1.0"
125
- },
126
- "peerDependencies": {
127
- "esbuild": "^0.19.2",
128
- "postcss": "^8.4.29",
129
- "sass": "^1.66.1",
130
- "sharp": "^0.32.5",
131
- "svg-sprite": "^2.0.2",
132
- "svgo": "^3.0.2",
133
- "tailwindcss": "^3.3.3"
85
+ "@ava/typescript": "^5.0.0",
86
+ "@changesets/cli": "^2.28.1",
87
+ "@graphql-codegen/cli": "^5.0.5",
88
+ "@graphql-codegen/introspection": "^4.0.3",
89
+ "@graphql-codegen/typescript": "^4.1.5",
90
+ "@graphql-codegen/typescript-operations": "^4.5.1",
91
+ "@liquify/schema": "^0.9.10",
92
+ "@shopify/api-codegen-preset": "^1.1.5",
93
+ "@types/adm-zip": "^0.5.7",
94
+ "@types/fs-extra": "^11.0.4",
95
+ "@types/html-minifier-terser": "^7.0.2",
96
+ "@types/js-yaml": "^4.0.9",
97
+ "@types/node": "^22.13.10",
98
+ "@types/node-notifier": "^8.0.5",
99
+ "@types/write-file-atomic": "^4.0.3",
100
+ "anymatch": "^3.1.3",
101
+ "ava": "^6.2.0",
102
+ "concurrently": "^9.1.2",
103
+ "dotenv": "^16.4.7",
104
+ "eslint": "^9.17.0",
105
+ "gqlmin": "^0.2.2",
106
+ "p-map": "^7.0.3",
107
+ "p-queue": "^8.1.0",
108
+ "prettier": "^3.4.2",
109
+ "stylelint": "^16.12.0",
110
+ "tree-kill": "^1.2.2",
111
+ "tsconfig-type": "^1.29.0",
112
+ "tsup": "^8.3.0",
113
+ "type-fest": "^4.30.0",
114
+ "typescript": "^5.7.2",
115
+ "write-file-atomic": "^6.0.0",
116
+ "write-package": "^7.1.0",
117
+ "@syncify/acquire": "^0.0.5",
118
+ "@syncify/ansi": "^0.3.0",
119
+ "@syncify/codegen": "^0.0.1",
120
+ "@syncify/codeframe": "^0.0.2",
121
+ "@syncify/config": "^0.0.6",
122
+ "@syncify/eslint-config": "^0.1.1",
123
+ "@syncify/kill": "^0.0.5",
124
+ "@syncify/glue": "^0.0.1",
125
+ "@syncify/prettier-config": "^0.1.0",
126
+ "@syncify/tests": "^0.0.1",
127
+ "@syncify/types": "^0.0.9",
128
+ "@syncify/timer": "^0.0.4",
129
+ "@syncify/update": "^0.0.3"
134
130
  },
135
131
  "peerDependenciesMeta": {
136
- "esbuild": {
137
- "optional": true
138
- },
139
- "postcss": {
140
- "optional": true
141
- },
142
- "sass": {
143
- "optional": true
144
- },
145
- "sharp": {
146
- "optional": true
147
- },
148
- "svgo": {
149
- "optional": true
150
- },
151
- "svgo-sprite": {
152
- "optional": true
153
- },
154
132
  "tailwindcss": {
155
133
  "optional": true
156
134
  }
157
135
  },
158
136
  "scripts": {
159
- "dev": "tsup --watch",
160
- "build": "tsup --minify",
161
- "syncify": "dist/cli.js"
137
+ "sy": "./bin/cli.js",
138
+ "dev": "pnpm tsup --watch",
139
+ "build": "pnpm --shell-mode \"./build.sh\"",
140
+ "@cli": "tsup",
141
+ "@utils": "pnpm -F @syncify/utils",
142
+ "@acquire": "pnpm -F @syncify/acquire",
143
+ "@kill": "pnpm -F @syncify/kill",
144
+ "@docs": "cd docs; pnpm dev; cd ..",
145
+ "@update": "pnpm -F @syncify/update",
146
+ "@config": "pnpm -F @syncify/config",
147
+ "@codeframe": "pnpm -F @syncify/codeframe",
148
+ "@codegen": "pnpm -F @syncify/codegen",
149
+ "@glue": "pnpm -F @syncify/glue",
150
+ "@hot": "pnpm -F @syncify/hot",
151
+ "@ansi": "pnpm -F @syncify/ansi",
152
+ "@turndown": "pnpm -F @syncify/turndown",
153
+ "@json": "pnpm -F @syncify/json",
154
+ "@timer": "pnpm -F @syncify/timer",
155
+ "@uws": "pnpm -F @syncify/uws",
156
+ "t:bulk-add": "tests --bulk-add snippets",
157
+ "t:bulk-remove": "tests --bulk-remove snippets",
158
+ "codegen": "graphql-codegen",
159
+ "introspect": "graphql-codegen --introspect",
160
+ "publish:stable": "pnpm publish --tag latest",
161
+ "publish:next": "pnpm version prerelease --preid next && pnpm publish --tag next --no-git-checks",
162
+ "publish:unstable": "pnpm version prerelease --no-git-checks --preid unstable && pnpm publish --tag unstable",
163
+ "postinstall": "node scripts/postinstall.js",
164
+ "postversion": "node scripts/postversion.js"
162
165
  }
163
166
  }