@revley/sandbox-checkout-package 0.2.0 → 0.2.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/README.md +10 -10
- package/dist/cjs/index.cjs +1 -1
- package/dist/esm/index.d.ts +7 -1
- package/dist/esm/index.js +1 -1
- package/dist/iife/index.global.js +1 -1
- package/package.json +50 -50
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# Package for redirecting browser
|
|
2
|
-
|
|
3
|
-
### How to make a change
|
|
4
|
-
|
|
5
|
-
#### TODO: make this a github action
|
|
6
|
-
|
|
7
|
-
1. Make the code change
|
|
8
|
-
2. update the package.json version number
|
|
9
|
-
3. run `npm run build`
|
|
10
|
-
4. run `npm publish --public`
|
|
1
|
+
# Package for redirecting browser
|
|
2
|
+
|
|
3
|
+
### How to make a change
|
|
4
|
+
|
|
5
|
+
#### TODO: make this a github action
|
|
6
|
+
|
|
7
|
+
1. Make the code change
|
|
8
|
+
2. update the package.json version number
|
|
9
|
+
3. run `npm run build`
|
|
10
|
+
4. run `npm publish --public`
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var T=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var I=(c,a,f,g)=>{if(a&&typeof a=="object"||typeof a=="function")for(let s of S(a))!C.call(c,s)&&s!==f&&T(c,s,{get:()=>a[s],enumerable:!(g=x(a,s))||g.enumerable});return c};var H=c=>I(T({},"__esModule",{value:!0}),c);var M={};module.exports=H(M);window.initRevleyCheckout=(c,a)=>{var k,v;if(window.__checkoutInterceptInstalled)return;window.__checkoutInterceptInstalled=!0;let f=[/^\/(?:cart\/)?checkout(?:[?#]|$)/i,/^\/checkouts\/[a-z0-9]{32}(?:[\/?#]|$)/i],g=!1,s=(...t)=>g?console.debug("[checkout-intercept]",...t):void 0,A=t=>t.replace(/\/+$/,""),U=t=>t.endsWith(".myshopify.com")||t===location.hostname;function b(t,i=location.origin){try{return t instanceof URL?t:new URL(String(t),i)}catch{return null}}function u(t){let i=b(t);if(!i||!U(i.hostname))return!1;let n=A(i.pathname),e=f.some(r=>r.test(n));return e&&s("detected checkout-like URL:",String(i)),e}async function _(){let i=await(await fetch("/cart.js")).json(),n={},e=["_fbp","_fbc","_fbq","_ig_","_igbp","_igshid","_igsh","_ig_visitor_id","_gclid","_gcl_au","_gcl_aw","_gcl_dc","_gcl_gb","_ttp","_tt_enable_cookie","_scid","_sctr","_pin_unauth","_pin_id","_twitter_ads_id","_li_ss","_uetsid","_uetvid","_amzn","_amzn_ads_","_yclid","_ycl_","_rdt_uid","_quora_","_tb_","_ob_","_criteo_","_adobe_","_ttd_","_dv360_","_fbcv","_shopify_pixel_"],r=p=>e.some(d=>p===d||p.startsWith(d)||p.includes(d));document.cookie&&document.cookie.split(";").forEach(p=>{let d=p.trim();if(d){let[h,...E]=d.split("="),P=E.join("=");h&&P&&r(h)&&(n[h]=P)}});let l=`gid://shopify/Cart/${i.token}`,m=await(await fetch(`${a}/checkout`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({storeId:c,cartId:l,cookies:n})})).text();if(console.log("checkoutUrl",m),!m){console.error("No checkout ID received from backend");return}let L=b(m);if(!L){console.error("Invalid checkout URL received from backend:",m);return}location.assign(L.href)}let y=!1;function o(t){return y||!u(t)?!1:(y=!0,_(),!0)}if(window.__isCheckoutLike=u,window.__maybeRedirect=o,(k=window.Shopify)!=null&&k.designMode)return;{let t=window.location,i=t.assign.bind(t),n=t.replace.bind(t);try{Object.defineProperty(t,"assign",{value:e=>{o(e)||i(e)},writable:!0,configurable:!0}),Object.defineProperty(t,"replace",{value:e=>{o(e)||n(e)},writable:!0,configurable:!0})}catch(e){s("Could not override location methods, relying on Service Worker:",e)}}{let t=window.open;window.open=function(i,n,e){return i&&o(i)?null:t.call(window,i,n,e)}}{let t=history.pushState.bind(history),i=history.replaceState.bind(history);history.pushState=function(n,e,r){if(!(r!=null&&o(r)))return t(n,e,r)},history.replaceState=function(n,e,r){if(!(r!=null&&o(r)))return i(n,e,r)},addEventListener("popstate",()=>void o(location.href),!0)}{let t=i=>i.metaKey||i.ctrlKey||i.shiftKey||i.altKey||i.button!==0;addEventListener("click",i=>{let n=i;if(n.defaultPrevented||t(n))return;let e=i.target;for(;e&&e.nodeType===1&&e.tagName!=="A";)e=e.parentElement;let r=e;!r||!r.href||u(r.href)&&(n.preventDefault(),n.stopPropagation(),_())},!0)}{let t=HTMLFormElement.prototype.submit;HTMLFormElement.prototype.submit=function(){try{if(w(this))return t.call(this);let n=this.getAttribute("action")||"";if(o(n)||Array.from(this.elements).some(r=>(r==null?void 0:r.name)==="checkout")&&o("/checkout"))return}catch{}return t.call(this)},addEventListener("submit",i=>{try{let n=i.target;if(w(n))return;let e=(n==null?void 0:n.getAttribute("action"))||"",r=Array.from((n==null?void 0:n.elements)||[]);(u(e)||r.some(l=>(l==null?void 0:l.name)==="checkout"))&&(i.preventDefault(),i.stopPropagation(),_())}catch{}},!0)}{let t=location.href;setInterval(()=>{location.href!==t&&(t=location.href,o(t))},250)}{let t=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(n,e,r,l,R){try{typeof e=="string"&&u(e)&&o(e)}catch{}return t.call(this,n,e,!!r,l,R)}}{let t=window.fetch.bind(window);window.fetch=function(n,e){try{let r=typeof n=="string"||n instanceof URL?String(n):n.url;r&&u(r)&&o(r)}catch{}return t(n,e)}}let w=t=>t?Array.from(t.elements).some(i=>{var e,r;let n=i;return((e=n.name)==null?void 0:e.includes("__kaching_bundles"))||((r=n.name)==null?void 0:r.includes("kaching"))||t.classList.contains("kaching-form")}):!1;{let t={},i;(v=window.kachingCartApi)!=null&&v.updateTieredPromotionsBar&&(i=window.kachingCartApi.updateTieredPromotionsBar,Object.assign(t,window.kachingCartApi)),window.kachingCartApi=new Proxy(t,{get(n,e){return e==="updateTieredPromotionsBar"?async function(...r){i&&await i.apply(this,r),_()}:n[e]},set(n,e,r){return e==="updateTieredPromotionsBar"&&(i=r,s("Kaching updateTieredPromotionsBar captured")),n[e]=r,!0}})}};
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
declare global {
|
|
2
2
|
interface Window {
|
|
3
3
|
initRevleyCheckout: (storeId: string, checkoutHost: string) => void;
|
|
4
|
+
kachingCartApi: {
|
|
5
|
+
updateTieredPromotionsBar: () => void;
|
|
6
|
+
};
|
|
4
7
|
}
|
|
5
8
|
}
|
|
6
9
|
|
|
@@ -46,7 +49,10 @@ interface Item {
|
|
|
46
49
|
line_price?: number;
|
|
47
50
|
original_line_price?: number;
|
|
48
51
|
total_discount?: number;
|
|
49
|
-
discounts?:
|
|
52
|
+
discounts?: {
|
|
53
|
+
amount: number;
|
|
54
|
+
title: string;
|
|
55
|
+
}[];
|
|
50
56
|
sku?: string;
|
|
51
57
|
grams?: number;
|
|
52
58
|
vendor?: string;
|
package/dist/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.initRevleyCheckout=(
|
|
1
|
+
window.initRevleyCheckout=(w,k)=>{if(window.__checkoutInterceptInstalled)return;window.__checkoutInterceptInstalled=!0;let v=[/^\/(?:cart\/)?checkout(?:[?#]|$)/i,/^\/checkouts\/[a-z0-9]{32}(?:[\/?#]|$)/i],R=!1,p=(...t)=>R?console.debug("[checkout-intercept]",...t):void 0,L=t=>t.replace(/\/+$/,""),P=t=>t.endsWith(".myshopify.com")||t===location.hostname;function m(t,n=location.origin){try{return t instanceof URL?t:new URL(String(t),n)}catch{return null}}function s(t){let n=m(t);if(!n||!P(n.hostname))return!1;let i=L(n.pathname),e=v.some(r=>r.test(i));return e&&p("detected checkout-like URL:",String(n)),e}async function u(){let n=await(await fetch("/cart.js")).json(),i={},e=["_fbp","_fbc","_fbq","_ig_","_igbp","_igshid","_igsh","_ig_visitor_id","_gclid","_gcl_au","_gcl_aw","_gcl_dc","_gcl_gb","_ttp","_tt_enable_cookie","_scid","_sctr","_pin_unauth","_pin_id","_twitter_ads_id","_li_ss","_uetsid","_uetvid","_amzn","_amzn_ads_","_yclid","_ycl_","_rdt_uid","_quora_","_tb_","_ob_","_criteo_","_adobe_","_ttd_","_dv360_","_fbcv","_shopify_pixel_"],r=l=>e.some(a=>l===a||l.startsWith(a)||l.includes(a));document.cookie&&document.cookie.split(";").forEach(l=>{let a=l.trim();if(a){let[g,...T]=a.split("="),y=T.join("=");g&&y&&r(g)&&(i[g]=y)}});let c=`gid://shopify/Cart/${n.token}`,d=await(await fetch(`${k}/checkout`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({storeId:w,cartId:c,cookies:i})})).text();if(console.log("checkoutUrl",d),!d){console.error("No checkout ID received from backend");return}let b=m(d);if(!b){console.error("Invalid checkout URL received from backend:",d);return}location.assign(b.href)}let _=!1;function o(t){return _||!s(t)?!1:(_=!0,u(),!0)}if(window.__isCheckoutLike=s,window.__maybeRedirect=o,window.Shopify?.designMode)return;{let t=window.location,n=t.assign.bind(t),i=t.replace.bind(t);try{Object.defineProperty(t,"assign",{value:e=>{o(e)||n(e)},writable:!0,configurable:!0}),Object.defineProperty(t,"replace",{value:e=>{o(e)||i(e)},writable:!0,configurable:!0})}catch(e){p("Could not override location methods, relying on Service Worker:",e)}}{let t=window.open;window.open=function(n,i,e){return n&&o(n)?null:t.call(window,n,i,e)}}{let t=history.pushState.bind(history),n=history.replaceState.bind(history);history.pushState=function(i,e,r){if(!(r!=null&&o(r)))return t(i,e,r)},history.replaceState=function(i,e,r){if(!(r!=null&&o(r)))return n(i,e,r)},addEventListener("popstate",()=>void o(location.href),!0)}{let t=n=>n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.button!==0;addEventListener("click",n=>{let i=n;if(i.defaultPrevented||t(i))return;let e=n.target;for(;e&&e.nodeType===1&&e.tagName!=="A";)e=e.parentElement;let r=e;!r||!r.href||s(r.href)&&(i.preventDefault(),i.stopPropagation(),u())},!0)}{let t=HTMLFormElement.prototype.submit;HTMLFormElement.prototype.submit=function(){try{if(f(this))return t.call(this);let i=this.getAttribute("action")||"";if(o(i)||Array.from(this.elements).some(r=>r?.name==="checkout")&&o("/checkout"))return}catch{}return t.call(this)},addEventListener("submit",n=>{try{let i=n.target;if(f(i))return;let e=i?.getAttribute("action")||"",r=Array.from(i?.elements||[]);(s(e)||r.some(c=>c?.name==="checkout"))&&(n.preventDefault(),n.stopPropagation(),u())}catch{}},!0)}{let t=location.href;setInterval(()=>{location.href!==t&&(t=location.href,o(t))},250)}{let t=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(i,e,r,c,h){try{typeof e=="string"&&s(e)&&o(e)}catch{}return t.call(this,i,e,!!r,c,h)}}{let t=window.fetch.bind(window);window.fetch=function(i,e){try{let r=typeof i=="string"||i instanceof URL?String(i):i.url;r&&s(r)&&o(r)}catch{}return t(i,e)}}let f=t=>t?Array.from(t.elements).some(n=>{let i=n;return i.name?.includes("__kaching_bundles")||i.name?.includes("kaching")||t.classList.contains("kaching-form")}):!1;{let t={},n;window.kachingCartApi?.updateTieredPromotionsBar&&(n=window.kachingCartApi.updateTieredPromotionsBar,Object.assign(t,window.kachingCartApi)),window.kachingCartApi=new Proxy(t,{get(i,e){return e==="updateTieredPromotionsBar"?async function(...r){n&&await n.apply(this,r),u()}:i[e]},set(i,e,r){return e==="updateTieredPromotionsBar"&&(n=r,p("Kaching updateTieredPromotionsBar captured")),i[e]=r,!0}})}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var SandboxCheckoutPkg=(()=>{var
|
|
1
|
+
"use strict";var SandboxCheckoutPkg=(()=>{var T=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var I=(c,a,f,_)=>{if(a&&typeof a=="object"||typeof a=="function")for(let s of S(a))!C.call(c,s)&&s!==f&&T(c,s,{get:()=>a[s],enumerable:!(_=x(a,s))||_.enumerable});return c};var H=c=>I(T({},"__esModule",{value:!0}),c);var M={};window.initRevleyCheckout=(c,a)=>{var k,v;if(window.__checkoutInterceptInstalled)return;window.__checkoutInterceptInstalled=!0;let f=[/^\/(?:cart\/)?checkout(?:[?#]|$)/i,/^\/checkouts\/[a-z0-9]{32}(?:[\/?#]|$)/i],_=!1,s=(...t)=>_?console.debug("[checkout-intercept]",...t):void 0,A=t=>t.replace(/\/+$/,""),U=t=>t.endsWith(".myshopify.com")||t===location.hostname;function b(t,i=location.origin){try{return t instanceof URL?t:new URL(String(t),i)}catch(e){return null}}function u(t){let i=b(t);if(!i||!U(i.hostname))return!1;let e=A(i.pathname),n=f.some(r=>r.test(e));return n&&s("detected checkout-like URL:",String(i)),n}async function m(){let i=await(await fetch("/cart.js")).json(),e={},n=["_fbp","_fbc","_fbq","_ig_","_igbp","_igshid","_igsh","_ig_visitor_id","_gclid","_gcl_au","_gcl_aw","_gcl_dc","_gcl_gb","_ttp","_tt_enable_cookie","_scid","_sctr","_pin_unauth","_pin_id","_twitter_ads_id","_li_ss","_uetsid","_uetvid","_amzn","_amzn_ads_","_yclid","_ycl_","_rdt_uid","_quora_","_tb_","_ob_","_criteo_","_adobe_","_ttd_","_dv360_","_fbcv","_shopify_pixel_"],r=g=>n.some(d=>g===d||g.startsWith(d)||g.includes(d));document.cookie&&document.cookie.split(";").forEach(g=>{let d=g.trim();if(d){let[h,...E]=d.split("="),P=E.join("=");h&&P&&r(h)&&(e[h]=P)}});let l=`gid://shopify/Cart/${i.token}`,p=await(await fetch(`${a}/checkout`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({storeId:c,cartId:l,cookies:e})})).text();if(console.log("checkoutUrl",p),!p){console.error("No checkout ID received from backend");return}let L=b(p);if(!L){console.error("Invalid checkout URL received from backend:",p);return}location.assign(L.href)}let y=!1;function o(t){return y||!u(t)?!1:(y=!0,m(),!0)}if(window.__isCheckoutLike=u,window.__maybeRedirect=o,(k=window.Shopify)!=null&&k.designMode)return;{let t=window.location,i=t.assign.bind(t),e=t.replace.bind(t);try{Object.defineProperty(t,"assign",{value:n=>{o(n)||i(n)},writable:!0,configurable:!0}),Object.defineProperty(t,"replace",{value:n=>{o(n)||e(n)},writable:!0,configurable:!0})}catch(n){s("Could not override location methods, relying on Service Worker:",n)}}{let t=window.open;window.open=function(i,e,n){return i&&o(i)?null:t.call(window,i,e,n)}}{let t=history.pushState.bind(history),i=history.replaceState.bind(history);history.pushState=function(e,n,r){if(!(r!=null&&o(r)))return t(e,n,r)},history.replaceState=function(e,n,r){if(!(r!=null&&o(r)))return i(e,n,r)},addEventListener("popstate",()=>void o(location.href),!0)}{let t=i=>i.metaKey||i.ctrlKey||i.shiftKey||i.altKey||i.button!==0;addEventListener("click",i=>{let e=i;if(e.defaultPrevented||t(e))return;let n=i.target;for(;n&&n.nodeType===1&&n.tagName!=="A";)n=n.parentElement;let r=n;!r||!r.href||u(r.href)&&(e.preventDefault(),e.stopPropagation(),m())},!0)}{let t=HTMLFormElement.prototype.submit;HTMLFormElement.prototype.submit=function(){try{if(w(this))return t.call(this);let e=this.getAttribute("action")||"";if(o(e)||Array.from(this.elements).some(r=>(r==null?void 0:r.name)==="checkout")&&o("/checkout"))return}catch(e){}return t.call(this)},addEventListener("submit",i=>{try{let e=i.target;if(w(e))return;let n=(e==null?void 0:e.getAttribute("action"))||"",r=Array.from((e==null?void 0:e.elements)||[]);(u(n)||r.some(l=>(l==null?void 0:l.name)==="checkout"))&&(i.preventDefault(),i.stopPropagation(),m())}catch(e){}},!0)}{let t=location.href;setInterval(()=>{location.href!==t&&(t=location.href,o(t))},250)}{let t=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(e,n,r,l,R){try{typeof n=="string"&&u(n)&&o(n)}catch(p){}return t.call(this,e,n,!!r,l,R)}}{let t=window.fetch.bind(window);window.fetch=function(e,n){try{let r=typeof e=="string"||e instanceof URL?String(e):e.url;r&&u(r)&&o(r)}catch(r){}return t(e,n)}}let w=t=>t?Array.from(t.elements).some(i=>{var n,r;let e=i;return((n=e.name)==null?void 0:n.includes("__kaching_bundles"))||((r=e.name)==null?void 0:r.includes("kaching"))||t.classList.contains("kaching-form")}):!1;{let t={},i;(v=window.kachingCartApi)!=null&&v.updateTieredPromotionsBar&&(i=window.kachingCartApi.updateTieredPromotionsBar,Object.assign(t,window.kachingCartApi)),window.kachingCartApi=new Proxy(t,{get(e,n){return n==="updateTieredPromotionsBar"?async function(...r){i&&await i.apply(this,r),m()}:e[n]},set(e,n,r){return n==="updateTieredPromotionsBar"&&(i=r,s("Kaching updateTieredPromotionsBar captured")),e[n]=r,!0}})}};return H(M);})();
|
package/package.json
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@revley/sandbox-checkout-package",
|
|
3
|
-
"version": "0.2.
|
|
4
|
-
"description": "Tiny TS package optimized for browsers with modern & legacy outputs",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./dist/cjs/index.cjs",
|
|
7
|
-
"module": "./dist/esm/index.js",
|
|
8
|
-
"types": "./dist/esm/index.d.ts",
|
|
9
|
-
"exports": {
|
|
10
|
-
".": {
|
|
11
|
-
"types": "./dist/esm/index.d.ts",
|
|
12
|
-
"import": "./dist/esm/index.js",
|
|
13
|
-
"require": "./dist/cjs/index.cjs",
|
|
14
|
-
"browser": "./dist/esm/index.js",
|
|
15
|
-
"default": "./dist/esm/index.js"
|
|
16
|
-
},
|
|
17
|
-
"./iife": {
|
|
18
|
-
"default": "./dist/iife/index.global.js"
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
"sideEffects": false,
|
|
22
|
-
"scripts": {
|
|
23
|
-
"build": "tsup",
|
|
24
|
-
"clean": "git clean -fdX dist || true",
|
|
25
|
-
"prepublishOnly": "npm run build"
|
|
26
|
-
},
|
|
27
|
-
"keywords": [
|
|
28
|
-
"typescript",
|
|
29
|
-
"browser",
|
|
30
|
-
"vite",
|
|
31
|
-
"tsup",
|
|
32
|
-
"checkout"
|
|
33
|
-
],
|
|
34
|
-
"author": "You",
|
|
35
|
-
"license": "MIT",
|
|
36
|
-
"engines": {
|
|
37
|
-
"node": ">=18.0.0"
|
|
38
|
-
},
|
|
39
|
-
"files": [
|
|
40
|
-
"dist"
|
|
41
|
-
],
|
|
42
|
-
"publishConfig": {
|
|
43
|
-
"access": "public"
|
|
44
|
-
},
|
|
45
|
-
"devDependencies": {
|
|
46
|
-
"@types/node": "^22.0.0",
|
|
47
|
-
"tsup": "^8.0.0",
|
|
48
|
-
"typescript": "^5.6.0"
|
|
49
|
-
}
|
|
50
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@revley/sandbox-checkout-package",
|
|
3
|
+
"version": "0.2.1",
|
|
4
|
+
"description": "Tiny TS package optimized for browsers with modern & legacy outputs",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/cjs/index.cjs",
|
|
7
|
+
"module": "./dist/esm/index.js",
|
|
8
|
+
"types": "./dist/esm/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/esm/index.d.ts",
|
|
12
|
+
"import": "./dist/esm/index.js",
|
|
13
|
+
"require": "./dist/cjs/index.cjs",
|
|
14
|
+
"browser": "./dist/esm/index.js",
|
|
15
|
+
"default": "./dist/esm/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./iife": {
|
|
18
|
+
"default": "./dist/iife/index.global.js"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"sideEffects": false,
|
|
22
|
+
"scripts": {
|
|
23
|
+
"build": "tsup",
|
|
24
|
+
"clean": "git clean -fdX dist || true",
|
|
25
|
+
"prepublishOnly": "npm run build"
|
|
26
|
+
},
|
|
27
|
+
"keywords": [
|
|
28
|
+
"typescript",
|
|
29
|
+
"browser",
|
|
30
|
+
"vite",
|
|
31
|
+
"tsup",
|
|
32
|
+
"checkout"
|
|
33
|
+
],
|
|
34
|
+
"author": "You",
|
|
35
|
+
"license": "MIT",
|
|
36
|
+
"engines": {
|
|
37
|
+
"node": ">=18.0.0"
|
|
38
|
+
},
|
|
39
|
+
"files": [
|
|
40
|
+
"dist"
|
|
41
|
+
],
|
|
42
|
+
"publishConfig": {
|
|
43
|
+
"access": "public"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@types/node": "^22.0.0",
|
|
47
|
+
"tsup": "^8.0.0",
|
|
48
|
+
"typescript": "^5.6.0"
|
|
49
|
+
}
|
|
50
|
+
}
|