@dub/utils 0.0.0 → 0.0.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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @dub/utils@0.0.0 build /Users/steventey/Desktop/dub/packages/utils
2
+ > @dub/utils@0.0.1 build /Users/steventey/Desktop/dub/packages/utils
3
3
  > tsup
4
4
 
5
5
  CLI Building entry: src/index.ts, src/constants/cctlds.ts, src/constants/countries.ts, src/constants/index.ts
@@ -9,16 +9,16 @@ CLI Using tsup config: /Users/steventey/Desktop/dub/packages/utils/tsup.config.t
9
9
  CLI Target: node14
10
10
  ESM Build start
11
11
  ESM ⚡️ Build success in 8ms
12
- ESM dist/chunk-MODISIUH.mjs 1.37 KB
13
- ESM dist/constants/index.mjs 950.00 B
14
- ESM dist/constants/countries.mjs 59.00 B
15
12
  ESM dist/index.mjs 7.47 KB
16
- ESM dist/chunk-Y2N4Y4WZ.mjs 3.04 KB
17
13
  ESM dist/chunk-3P54C65P.mjs 3.96 KB
14
+ ESM dist/constants/index.mjs 951.00 B
15
+ ESM dist/chunk-MODISIUH.mjs 1.37 KB
16
+ ESM dist/constants/countries.mjs 59.00 B
18
17
  ESM dist/constants/cctlds.mjs 59.00 B
18
+ ESM dist/chunk-6ES23EVP.mjs 3.10 KB
19
19
  DTS Build start
20
- DTS ⚡️ Build success in 766ms
20
+ DTS ⚡️ Build success in 1049ms
21
21
  DTS dist/index.d.ts 4.02 KB
22
- DTS dist/constants/index.d.ts 3.55 KB
22
+ DTS dist/constants/index.d.ts 3.58 KB
23
23
  DTS dist/constants/cctlds.d.ts 66.00 B
24
24
  DTS dist/constants/countries.d.ts 91.00 B
@@ -0,0 +1 @@
1
+ var e={city:"San Francisco",region:"CA",country:"US",latitude:"37.7695",longitude:"-122.385"},s="63.141.57.109",p={hidden:{scale:.8,opacity:0},show:{scale:1,opacity:1,transition:{type:"spring"}}},a={hidden:{opacity:0,y:20},show:{opacity:1,y:0,transition:{duration:.4,type:"spring"}}},n={initial:{height:0},animate:{height:"auto"},exit:{height:0},transition:{duration:.15,ease:"easeOut"}},c={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}},i=100,r="https://dub.co",l=new Set(["app.dub.co","preview.dub.co","localhost:8888","localhost"]),d=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"||process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://app.dub.co":"http://localhost:8888",u=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://app.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://preview.dub.co":process.env.NGROK_URL,_=new Set(["api.dub.co","api.dub.sh","api.localhost:8888"]),h=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://api.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://api.dub.sh":"http://api.localhost:8888",E=new Set(["admin.dub.co","admin.localhost:8888"]),g={home:"https://dub.co",dub:"https://dub.co",signin:"https://app.dub.co/login",login:"https://app.dub.co/login",register:"https://app.dub.co/register",signup:"https://app.dub.co/register",app:"https://app.dub.co",dashboard:"https://app.dub.co",links:"https://app.dub.co/links",settings:"https://app.dub.co/settings",welcome:"https://app.dub.co/welcome",discord:"https://twitter.com/dubdotco",tags:"https://dub.co/help/how-to-use-tags"},A={headers:{"x-powered-by":"Dub.co - Link management for modern marketing teams"}},I="/_static/favicons",L="https://www.google.com/s2/favicons?sz=64&domain_url=",N="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",m="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",O=["tools","pricing","help","features","customers","blog","(blog-post)","login","register","auth"],S=[{name:"Metatags API",slug:"metatags"},{name:"Link Inspector",slug:"inspector"}],T=new Set(["com","co","net","org","edu","gov","in"]),b=new Set(["my.id","github.io","vercel.app","now.sh","pages.dev","webflow.io","netlify.app","fly.dev","web.app"]),x={key:"",url:"",domain:"",archived:!1,expiresAt:null,password:null,title:null,description:null,image:null,rewrite:!1,ios:null,android:null,clicks:0,userId:"",proxy:!1},w="cl7pj5kq4006835rbjlt2ofka",M=[{name:"Okta",logo:"/_static/icons/okta.svg",saml:"okta",samlModalCopy:"Metadata URL",scim:"okta-scim-v2",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1},{name:"Azure AD",logo:"/_static/icons/azure.svg",saml:"azure",samlModalCopy:"App Federation Metadata URL",scim:"azure-scim-v2",scimModalCopy:{url:"Tenant URL",token:"Secret Token"},wip:!1},{name:"Google",logo:"/_static/icons/google.svg",saml:"google",samlModalCopy:"XML Metadata File",scim:"google",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1}];export{e as a,s as b,p as c,a as d,n as e,c as f,i as g,r as h,l as i,d as j,u as k,_ as l,h as m,E as n,g as o,A as p,I as q,L as r,N as s,m as t,O as u,S as v,T as w,b as x,x as y,w as z,M as A};
@@ -0,0 +1 @@
1
+ import{Airplay as t,BarChart as o,Link2 as e,QrCode as r,Users as i}from"lucide-react";var a=[{title:"Powerful Analytics For The Modern Marketer",shortTitle:"Advanced Analytics",icon:o,slug:"analytics"},{title:"Branded Links That Stand Out",shortTitle:"Branded Links",icon:t,slug:"branded-links"},{title:"Free QR Code Generator",shortTitle:"QR Codes",icon:r,slug:"qr-codes"},{title:"Personalize Your Short Links",shortTitle:"Personalization",icon:e,slug:"personalization"},{title:"Collaborate With Your Team",shortTitle:"Team Collaboration",icon:i,slug:"collaboration"}];export{a};
@@ -0,0 +1 @@
1
+ var e={city:"San Francisco",region:"CA",country:"US",latitude:"37.7695",longitude:"-122.385"},s="63.141.57.109",p={hidden:{scale:.8,opacity:0},show:{scale:1,opacity:1,transition:{type:"spring"}}},a={hidden:{opacity:0,y:20},show:{opacity:1,y:0,transition:{duration:.4,type:"spring"}}},n={initial:{height:0},animate:{height:"auto"},exit:{height:0},transition:{duration:.15,ease:"easeOut"}},c={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}},i=100,r="https://dub.co",l=new Set(["app.dub.co","preview.dub.co","localhost:8888","localhost"]),d=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"||process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://app.dub.co":"http://localhost:8888",u=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://app.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://preview.dub.co":process.env.NGROK_URL,_=new Set(["api.dub.co","api.dub.sh","api.localhost:8888"]),h=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://api.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://api.dub.sh":"http://api.localhost:8888",E=new Set(["admin.dub.co","admin.localhost:8888"]),A={home:"https://dub.co",dub:"https://dub.co",signin:"https://app.dub.co/login",login:"https://app.dub.co/login",register:"https://app.dub.co/register",signup:"https://app.dub.co/register",app:"https://app.dub.co",dashboard:"https://app.dub.co",links:"https://app.dub.co/links",settings:"https://app.dub.co/settings",welcome:"https://app.dub.co/welcome",discord:"https://twitter.com/dubdotco",tags:"https://dub.co/help/how-to-use-tags"},g={headers:{"x-powered-by":"Dub.co - Link management for modern marketing teams"}},I="/_static/favicons",N="https://www.google.com/s2/favicons?sz=64&domain_url=",L="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",m="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",O=["tools","pricing","help","features","customers","blog","(blog-post)","login","register","auth"],S=new Set(["com","co","net","org","edu","gov","in"]),T=new Set(["my.id","github.io","vercel.app","now.sh","pages.dev","webflow.io","netlify.app","fly.dev","web.app"]),b={key:"",url:"",domain:"",archived:!1,expiresAt:null,password:null,title:null,description:null,image:null,rewrite:!1,ios:null,android:null,clicks:0,userId:"",proxy:!1},w="cl7pj5kq4006835rbjlt2ofka",x=[{name:"Okta",logo:"/_static/icons/okta.svg",saml:"okta",samlModalCopy:"Metadata URL",scim:"okta-scim-v2",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1},{name:"Azure AD",logo:"/_static/icons/azure.svg",saml:"azure",samlModalCopy:"App Federation Metadata URL",scim:"azure-scim-v2",scimModalCopy:{url:"Tenant URL",token:"Secret Token"},wip:!1},{name:"Google",logo:"/_static/icons/google.svg",saml:"google",samlModalCopy:"XML Metadata File",scim:"google",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1}];export{e as a,s as b,p as c,a as d,n as e,c as f,i as g,r as h,l as i,d as j,u as k,_ as l,h as m,E as n,A as o,g as p,I as q,N as r,L as s,m as t,O as u,S as v,T as w,b as x,w as y,x as z};
@@ -0,0 +1 @@
1
+ var a={AF:"Afghanistan",AL:"Albania",DZ:"Algeria",AS:"American Samoa",AD:"Andorra",AO:"Angola",AI:"Anguilla",AQ:"Antarctica",AG:"Antigua and Barbuda",AR:"Argentina",AM:"Armenia",AW:"Aruba",AU:"Australia",AT:"Austria",AZ:"Azerbaijan",BS:"Bahamas",BH:"Bahrain",BD:"Bangladesh",BB:"Barbados",BY:"Belarus",BE:"Belgium",BZ:"Belize",BJ:"Benin",BM:"Bermuda",BT:"Bhutan",BO:"Bolivia",BA:"Bosnia and Herzegovina",BW:"Botswana",BV:"Bouvet Island",BR:"Brazil",IO:"British Indian Ocean Territory",BN:"Brunei Darussalam",BG:"Bulgaria",BF:"Burkina Faso",BI:"Burundi",KH:"Cambodia",CM:"Cameroon",CA:"Canada",CV:"Cape Verde",KY:"Cayman Islands",CF:"Central African Republic",TD:"Chad",CL:"Chile",CN:"China",CX:"Christmas Island",CC:"Cocos (Keeling) Islands",CO:"Colombia",KM:"Comoros",CG:"Congo (Republic)",CD:"Congo (Democratic Republic)",CK:"Cook Islands",CR:"Costa Rica",CI:"Ivory Coast",HR:"Croatia",CU:"Cuba",CY:"Cyprus",CZ:"Czech Republic",DK:"Denmark",DJ:"Djibouti",DM:"Dominica",DO:"Dominican Republic",EC:"Ecuador",EG:"Egypt",SV:"El Salvador",GQ:"Equatorial Guinea",ER:"Eritrea",EE:"Estonia",ET:"Ethiopia",FK:"Falkland Islands",FO:"Faroe Islands",FJ:"Fiji",FI:"Finland",FR:"France",GF:"French Guiana",PF:"French Polynesia",TF:"French Southern Territories",GA:"Gabon",GM:"Gambia",GE:"Georgia",DE:"Germany",GH:"Ghana",GI:"Gibraltar",GR:"Greece",GL:"Greenland",GD:"Grenada",GP:"Guadeloupe",GU:"Guam",GT:"Guatemala",GN:"Guinea",GW:"Guinea-Bissau",GY:"Guyana",HT:"Haiti",HM:"Heard Island and McDonald Islands",VA:"Vatican City",HN:"Honduras",HK:"Hong Kong",HU:"Hungary",IS:"Iceland",IN:"India",ID:"Indonesia",IR:"Iran",IQ:"Iraq",IE:"Ireland",IL:"Israel",IT:"Italy",JM:"Jamaica",JP:"Japan",JO:"Jordan",KZ:"Kazakhstan",KE:"Kenya",KI:"Kiribati",KP:"North Korea",KR:"South Korea",KW:"Kuwait",KG:"Kyrgyzstan",LA:"Laos",LV:"Latvia",LB:"Lebanon",LS:"Lesotho",LR:"Liberia",LY:"Libya",LI:"Liechtenstein",LT:"Lithuania",LU:"Luxembourg",MO:"Macao",MG:"Madagascar",MW:"Malawi",MY:"Malaysia",MV:"Maldives",ML:"Mali",MT:"Malta",MH:"Marshall Islands",MQ:"Martinique",MR:"Mauritania",MU:"Mauritius",YT:"Mayotte",MX:"Mexico",FM:"Micronesia",MD:"Moldova",MC:"Monaco",MN:"Mongolia",MS:"Montserrat",MA:"Morocco",MZ:"Mozambique",MM:"Myanmar",NA:"Namibia",NR:"Nauru",NP:"Nepal",NL:"Netherlands",NC:"New Caledonia",NZ:"New Zealand",NI:"Nicaragua",NE:"Niger",NG:"Nigeria",NU:"Niue",NF:"Norfolk Island",MK:"Macedonia",MP:"Northern Mariana Islands",NO:"Norway",OM:"Oman",PK:"Pakistan",PW:"Palau",PS:"Palestine",PA:"Panama",PG:"Papua New Guinea",PY:"Paraguay",PE:"Peru",PH:"Philippines",PN:"Pitcairn",PL:"Poland",PT:"Portugal",PR:"Puerto Rico",QA:"Qatar",RE:"Reunion",RO:"Romania",RU:"Russia",RW:"Rwanda",SH:"Saint Helena",KN:"Saint Kitts and Nevis",LC:"Saint Lucia",PM:"Saint Pierre and Miquelon",VC:"Saint Vincent and the Grenadines",WS:"Samoa",SM:"San Marino",ST:"Sao Tome and Principe",SA:"Saudi Arabia",SN:"Senegal",SC:"Seychelles",SL:"Sierra Leone",SG:"Singapore",SK:"Slovakia",SI:"Slovenia",SB:"Solomon Islands",SO:"Somalia",ZA:"South Africa",GS:"South Georgia and the South Sandwich Islands",ES:"Spain",LK:"Sri Lanka",SD:"Sudan",SR:"Suriname",SJ:"Svalbard and Jan Mayen",SZ:"Eswatini",SE:"Sweden",CH:"Switzerland",SY:"Syrian Arab Republic",TW:"Taiwan",TJ:"Tajikistan",TZ:"Tanzania",TH:"Thailand",TL:"Timor-Leste",TG:"Togo",TK:"Tokelau",TO:"Tonga",TT:"Trinidad and Tobago",TN:"Tunisia",TR:"T\xFCrkiye",TM:"Turkmenistan",TC:"Turks and Caicos Islands",TV:"Tuvalu",UG:"Uganda",UA:"Ukraine",AE:"United Arab Emirates",GB:"United Kingdom",US:"United States",UM:"United States Minor Outlying Islands",UY:"Uruguay",UZ:"Uzbekistan",VU:"Vanuatu",VE:"Venezuela",VN:"Vietnam",VG:"Virgin Islands, British",VI:"Virgin Islands, U.S.",WF:"Wallis and Futuna",EH:"Western Sahara",YE:"Yemen",ZM:"Zambia",ZW:"Zimbabwe",AX:"\xC5land Islands",BQ:"Bonaire, Sint Eustatius and Saba",CW:"Cura\xE7ao",GG:"Guernsey",IM:"Isle of Man",JE:"Jersey",ME:"Montenegro",BL:"Saint Barth\xE9lemy",MF:"Saint Martin (French part)",RS:"Serbia",SX:"Sint Maarten (Dutch part)",SS:"South Sudan",XK:"Kosovo"};export{a};
@@ -0,0 +1 @@
1
+ var t={city:"San Francisco",region:"CA",country:"US",latitude:"37.7695",longitude:"-122.385"},o="63.141.57.109",e={hidden:{scale:.8,opacity:0},show:{scale:1,opacity:1,transition:{type:"spring"}}},s={hidden:{opacity:0,y:20},show:{opacity:1,y:0,transition:{duration:.4,type:"spring"}}},p={initial:{height:0},animate:{height:"auto"},exit:{height:0},transition:{duration:.15,ease:"easeOut"}},a={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}},n=100,i="https://dub.co",c=new Set(["app.dub.co","preview.dub.co","localhost:8888","localhost"]),r=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"||process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://app.dub.co":"http://localhost:8888",l=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://app.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://preview.dub.co":process.env.NGROK_URL,d=new Set(["api.dub.co","api.dub.sh","api.localhost:8888"]),u=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://api.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://api.dub.sh":"http://api.localhost:8888",_=new Set(["admin.dub.co","admin.localhost:8888"]),h={home:"https://dub.co",dub:"https://dub.co",signin:"https://app.dub.co/login",login:"https://app.dub.co/login",register:"https://app.dub.co/register",signup:"https://app.dub.co/register",app:"https://app.dub.co",dashboard:"https://app.dub.co",links:"https://app.dub.co/links",settings:"https://app.dub.co/settings",welcome:"https://app.dub.co/welcome",discord:"https://twitter.com/dubdotco",tags:"https://dub.co/help/how-to-use-tags"},E={headers:{"x-powered-by":"Dub.co - Link management for modern marketing teams"}},g="/_static/favicons",A="https://www.google.com/s2/favicons?sz=64&domain_url=",I="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",m="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",L=["tools","pricing","help","features","customers","blog","(blog-post)","login","register","auth"],N=[{name:"Metatags API",slug:"metatags"},{name:"Link Inspector",slug:"inspector"}],O=new Set(["com","co","net","org","edu","gov","in"]),S=new Set(["my.id","github.io","vercel.app","now.sh","pages.dev","webflow.io","netlify.app","fly.dev","web.app"]),T={key:"",url:"",domain:"",archived:!1,expiresAt:null,password:null,title:null,description:null,image:null,rewrite:!1,ios:null,android:null,clicks:0,userId:"",proxy:!1},b="cl7pj5kq4006835rbjlt2ofka",x=[{name:"Okta",logo:"/_static/icons/okta.svg",saml:"okta",samlModalCopy:"Metadata URL",scim:"okta-scim-v2",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1},{name:"Azure AD",logo:"/_static/icons/azure.svg",saml:"azure",samlModalCopy:"App Federation Metadata URL",scim:"azure-scim-v2",scimModalCopy:{url:"Tenant URL",token:"Secret Token"},wip:!1},{name:"Google",logo:"/_static/icons/google.svg",saml:"google",samlModalCopy:"XML Metadata File",scim:"google",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1}];export{t as a,o as b,e as c,s as d,p as e,a as f,n as g,i as h,c as i,r as j,l as k,d as l,u as m,_ as n,h as o,E as p,g as q,A as r,I as s,m as t,L as u,N as v,O as w,S as x,T as y,b as z,x as A};
@@ -0,0 +1 @@
1
+ var m=new Set(["af","ax","al","dz","as","ad","ao","ai","aq","ag","ar","am","aw","ac","au","at","az","bs","bh","bd","bb","eus","by","be","bz","bj","bm","bt","bo","bq","an","nl","ba","bw","bv","br","io","vg","bn","bg","bf","mm","bi","kh","cm","ca","cv","cat","ky","cf","td","cl","cn","cx","cc","co","km","cd","cg","ck","cr","ci","hr","cu","cw","cy","cz","dk","dj","dm","do","tl","tp","ec","eg","sv","gq","er","ee","et","eu","fk","fo","fm","fj","fi","fr","gf","pf","tf","ga","gal","gm","ps","ge","de","gh","gi","gr","gl","gd","gp","gu","gt","gg","gn","gw","gy","ht","hm","hn","hk","hu","is","in","id","ir","iq","ie","im","il","it","jm","jp","je","jo","kz","ke","ki","kw","kg","la","lv","lb","ls","lr","ly","li","lt","lu","mo","mk","mg","mw","my","mv","ml","mt","mh","mq","mr","mu","yt","mx","md","mc","mn","me","ms","ma","mz","mm","na","nr","np","nl","nc","nz","ni","ne","ng","nu","nf","nc","tr","kp","mp","no","om","pk","pw","ps","pa","pg","py","pe","ph","pn","pl","pt","pr","qa","ro","ru","rw","re","bq","an","bl","gp","fr","sh","kn","lc","mf","gp","fr","pm","vc","ws","sm","st","sa","sn","rs","sc","sl","sg","bq","an","nl","sx","an","sk","si","sb","so","so","za","gs","kr","ss","es","lk","sd","sr","sj","sz","se","ch","sy","tw","tj","tz","th","tg","tk","to","tt","tn","tr","tm","tc","tv","ug","ua","ae","uk","us","vi","uy","uz","vu","va","ve","vn","wf","eh","ma","ye","zm","zw"]);export{m as a};
@@ -1,70 +1,10 @@
1
1
  import * as lucide_react from 'lucide-react';
2
2
 
3
- declare const FEATURES_LIST: ({
3
+ declare const FEATURES_LIST: {
4
4
  title: string;
5
5
  shortTitle: string;
6
- accordionTitle: string;
7
- description: string;
8
6
  icon: lucide_react.LucideIcon;
9
7
  slug: string;
10
- thumbnail: string;
11
- thumbnailBlurhash: string;
12
- videoUrl: string;
13
- videoLength: string;
14
- bentoTitle: string;
15
- bentoDescription: string;
16
- bentoFeatures: ({
17
- title: string;
18
- description: string;
19
- image: string;
20
- } | {
21
- title: string;
22
- description: string;
23
- image?: undefined;
24
- })[];
25
- } | {
26
- title: string;
27
- shortTitle: string;
28
- accordionTitle: string;
29
- description: string;
30
- icon: lucide_react.LucideIcon;
31
- slug: string;
32
- thumbnail: string;
33
- thumbnailBlurhash: string;
34
- videoUrl: string;
35
- videoLength: string;
36
- bentoTitle: string;
37
- bentoDescription: string;
38
- bentoFeatures: ({
39
- title: string;
40
- description: string;
41
- image: string;
42
- href: string;
43
- } | {
44
- title: string;
45
- description: string;
46
- image?: undefined;
47
- href?: undefined;
48
- } | {
49
- title: string;
50
- description: string;
51
- href: string;
52
- image?: undefined;
53
- })[];
54
- } | {
55
- title: string;
56
- shortTitle: string;
57
- accordionTitle: string;
58
- description: string;
59
- icon: lucide_react.LucideIcon;
60
- slug: string;
61
- thumbnail: string;
62
- thumbnailBlurhash: string;
63
- videoUrl: string;
64
- videoLength: string;
65
- bentoTitle: string;
66
- bentoDescription: string;
67
- bentoFeatures?: undefined;
68
- })[];
8
+ }[];
69
9
 
70
10
  export { FEATURES_LIST };
@@ -1 +1 @@
1
- import{a}from"../chunk-GIGD5PB3.mjs";export{a as FEATURES_LIST};
1
+ import{a}from"../chunk-BXDPGIU7.mjs";export{a as FEATURES_LIST};
@@ -98,7 +98,10 @@ declare const GOOGLE_FAVICON_URL = "https://www.google.com/s2/favicons?sz=64&dom
98
98
  declare const DUB_LOGO = "https://d2vwwcvoksz7ty.cloudfront.net/logo.png";
99
99
  declare const DUB_THUMBNAIL = "https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png";
100
100
  declare const SHOW_BACKGROUND_SEGMENTS: string[];
101
- declare const allTools: string[];
101
+ declare const ALL_TOOLS: {
102
+ name: string;
103
+ slug: string;
104
+ }[];
102
105
 
103
106
  declare const SECOND_LEVEL_DOMAINS: Set<string>;
104
107
  declare const SPECIAL_APEX_DOMAINS: Set<string>;
@@ -133,4 +136,4 @@ declare const SAML_PROVIDERS: {
133
136
  wip: boolean;
134
137
  }[];
135
138
 
136
- export { ADMIN_HOSTNAMES, API_DOMAIN, API_HOSTNAMES, APP_DOMAIN, APP_DOMAIN_WITH_NGROK, APP_HOSTNAMES, DEFAULT_LINK_PROPS, DEFAULT_REDIRECTS, DUB_HEADERS, DUB_LOGO, DUB_PROJECT_ID, DUB_THUMBNAIL, FADE_IN_ANIMATION_SETTINGS, FAVICON_FOLDER, FRAMER_MOTION_LIST_ITEM_VARIANTS, GOOGLE_FAVICON_URL, HOME_DOMAIN, LOCALHOST_GEO_DATA, LOCALHOST_IP, PAGINATION_LIMIT, SAML_PROVIDERS, SECOND_LEVEL_DOMAINS, SHOW_BACKGROUND_SEGMENTS, SPECIAL_APEX_DOMAINS, STAGGER_CHILD_VARIANTS, SWIPE_REVEAL_ANIMATION_SETTINGS, allTools };
139
+ export { ADMIN_HOSTNAMES, ALL_TOOLS, API_DOMAIN, API_HOSTNAMES, APP_DOMAIN, APP_DOMAIN_WITH_NGROK, APP_HOSTNAMES, DEFAULT_LINK_PROPS, DEFAULT_REDIRECTS, DUB_HEADERS, DUB_LOGO, DUB_PROJECT_ID, DUB_THUMBNAIL, FADE_IN_ANIMATION_SETTINGS, FAVICON_FOLDER, FRAMER_MOTION_LIST_ITEM_VARIANTS, GOOGLE_FAVICON_URL, HOME_DOMAIN, LOCALHOST_GEO_DATA, LOCALHOST_IP, PAGINATION_LIMIT, SAML_PROVIDERS, SECOND_LEVEL_DOMAINS, SHOW_BACKGROUND_SEGMENTS, SPECIAL_APEX_DOMAINS, STAGGER_CHILD_VARIANTS, SWIPE_REVEAL_ANIMATION_SETTINGS };
@@ -1 +1 @@
1
- import{A as C,a as c,b as d,c as e,d as f,e as g,f as h,g as i,h as j,i as k,j as l,k as m,l as n,m as o,n as p,o as q,p as r,q as s,r as t,s as u,t as v,u as w,v as x,w as y,x as z,y as A,z as B}from"../chunk-Y2N4Y4WZ.mjs";import{a}from"../chunk-MODISIUH.mjs";import{a as b}from"../chunk-3P54C65P.mjs";export{p as ADMIN_HOSTNAMES,o as API_DOMAIN,n as API_HOSTNAMES,l as APP_DOMAIN,m as APP_DOMAIN_WITH_NGROK,k as APP_HOSTNAMES,b as COUNTRIES,A as DEFAULT_LINK_PROPS,q as DEFAULT_REDIRECTS,r as DUB_HEADERS,u as DUB_LOGO,B as DUB_PROJECT_ID,v as DUB_THUMBNAIL,h as FADE_IN_ANIMATION_SETTINGS,s as FAVICON_FOLDER,e as FRAMER_MOTION_LIST_ITEM_VARIANTS,t as GOOGLE_FAVICON_URL,j as HOME_DOMAIN,c as LOCALHOST_GEO_DATA,d as LOCALHOST_IP,i as PAGINATION_LIMIT,C as SAML_PROVIDERS,y as SECOND_LEVEL_DOMAINS,w as SHOW_BACKGROUND_SEGMENTS,z as SPECIAL_APEX_DOMAINS,f as STAGGER_CHILD_VARIANTS,g as SWIPE_REVEAL_ANIMATION_SETTINGS,x as allTools,a as ccTLDs};
1
+ import{A as C,a as c,b as d,c as e,d as f,e as g,f as h,g as i,h as j,i as k,j as l,k as m,l as n,m as o,n as p,o as q,p as r,q as s,r as t,s as u,t as v,u as w,v as x,w as y,x as z,y as A,z as B}from"../chunk-6ES23EVP.mjs";import{a}from"../chunk-MODISIUH.mjs";import{a as b}from"../chunk-3P54C65P.mjs";export{p as ADMIN_HOSTNAMES,x as ALL_TOOLS,o as API_DOMAIN,n as API_HOSTNAMES,l as APP_DOMAIN,m as APP_DOMAIN_WITH_NGROK,k as APP_HOSTNAMES,b as COUNTRIES,A as DEFAULT_LINK_PROPS,q as DEFAULT_REDIRECTS,r as DUB_HEADERS,u as DUB_LOGO,B as DUB_PROJECT_ID,v as DUB_THUMBNAIL,h as FADE_IN_ANIMATION_SETTINGS,s as FAVICON_FOLDER,e as FRAMER_MOTION_LIST_ITEM_VARIANTS,t as GOOGLE_FAVICON_URL,j as HOME_DOMAIN,c as LOCALHOST_GEO_DATA,d as LOCALHOST_IP,i as PAGINATION_LIMIT,C as SAML_PROVIDERS,y as SECOND_LEVEL_DOMAINS,w as SHOW_BACKGROUND_SEGMENTS,z as SPECIAL_APEX_DOMAINS,f as STAGGER_CHILD_VARIANTS,g as SWIPE_REVEAL_ANIMATION_SETTINGS,a as ccTLDs};
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ClassValue } from 'clsx';
2
2
  import { Metadata } from 'next';
3
3
  import { NextRouter } from 'next/router';
4
- export { ADMIN_HOSTNAMES, API_DOMAIN, API_HOSTNAMES, APP_DOMAIN, APP_DOMAIN_WITH_NGROK, APP_HOSTNAMES, DEFAULT_LINK_PROPS, DEFAULT_REDIRECTS, DUB_HEADERS, DUB_LOGO, DUB_PROJECT_ID, DUB_THUMBNAIL, FADE_IN_ANIMATION_SETTINGS, FAVICON_FOLDER, FRAMER_MOTION_LIST_ITEM_VARIANTS, GOOGLE_FAVICON_URL, HOME_DOMAIN, LOCALHOST_GEO_DATA, LOCALHOST_IP, PAGINATION_LIMIT, SAML_PROVIDERS, SECOND_LEVEL_DOMAINS, SHOW_BACKGROUND_SEGMENTS, SPECIAL_APEX_DOMAINS, STAGGER_CHILD_VARIANTS, SWIPE_REVEAL_ANIMATION_SETTINGS, allTools } from './constants/index.js';
4
+ export { ADMIN_HOSTNAMES, ALL_TOOLS, API_DOMAIN, API_HOSTNAMES, APP_DOMAIN, APP_DOMAIN_WITH_NGROK, APP_HOSTNAMES, DEFAULT_LINK_PROPS, DEFAULT_REDIRECTS, DUB_HEADERS, DUB_LOGO, DUB_PROJECT_ID, DUB_THUMBNAIL, FADE_IN_ANIMATION_SETTINGS, FAVICON_FOLDER, FRAMER_MOTION_LIST_ITEM_VARIANTS, GOOGLE_FAVICON_URL, HOME_DOMAIN, LOCALHOST_GEO_DATA, LOCALHOST_IP, PAGINATION_LIMIT, SAML_PROVIDERS, SECOND_LEVEL_DOMAINS, SHOW_BACKGROUND_SEGMENTS, SPECIAL_APEX_DOMAINS, STAGGER_CHILD_VARIANTS, SWIPE_REVEAL_ANIMATION_SETTINGS } from './constants/index.js';
5
5
  export { default as ccTLDs } from './constants/cctlds.js';
6
6
  export { default as COUNTRIES } from './constants/countries.js';
7
7
 
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{A as j,a as S,b as R,c as U,d as k,e as L,f as v,g as M,h as c,i as O,j as _,k as $,l as T,m as A,n as E,o as F,p as N,q as C,r as q,s as I,t as K,u as P,v as z,w as l,x as u,y as H,z as Z}from"./chunk-Y2N4Y4WZ.mjs";import{a}from"./chunk-MODISIUH.mjs";import{a as b}from"./chunk-3P54C65P.mjs";import p from"@sindresorhus/slugify";import{clsx as m}from"clsx";import f from"ms";import{customAlphabet as h}from"nanoid";import{twMerge as y}from"tailwind-merge";function G(...e){return y(m(e))}function X({title:e="Dub - Link Management for Modern Marketing Teams",description:t="Dub is an open-source link management tool for modern marketing teams to create, share, and track short links.",image:r="https://dub.co/_static/thumbnail.png",icons:o="/favicon.ico",noIndex:n=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,images:[{url:r}]},twitter:{card:"summary_large_image",title:e,description:t,images:[r],creator:"@dubdotco"},icons:o,metadataBase:new URL(c),themeColor:"#FFF",...n&&{robots:{index:!1,follow:!1}}}}var ee=h("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7);async function te(e,t){let r=await fetch(e,t);if(!r.ok){let o=await r.text(),n=new Error(o);throw n.status=r.status,n}return r.json()}function re(e,t={digits:1}){if(!e)return"0";if(t.full)return Intl.NumberFormat("en-US").format(e);let r=[{value:1,symbol:""},{value:1e3,symbol:"K"},{value:1e6,symbol:"M"},{value:1e9,symbol:"G"},{value:1e12,symbol:"T"},{value:1e15,symbol:"P"},{value:1e18,symbol:"E"}],o=/\.0+$|(\.[0-9]*[1-9])0+$/;var n=r.slice().reverse().find(function(s){return e>=s.value});return n?(e/n.value).toFixed(t.digits).replace(o,"$1")+n.symbol:"0"}function ne(e){return!e||typeof e!="string"?e:e.charAt(0).toUpperCase()+e.slice(1)}var oe=(e,t)=>e.reduce((r,o,n)=>{let s=Math.floor(n/t);return r[s]||(r[s]=[]),r[s].push(o),r},[]);function se({key:e,domain:t="dub.sh",localhost:r,pretty:o,noDomain:n}){let s=`${r?"http://home.localhost:8888":`https://${t}`}${e!=="_root"?`/${e}`:""}`;return n?`/${e}`:o?s.replace(/^https?:\/\//,""):s}var ae=(e,{withAgo:t}={})=>{if(!e)return"Never";let r=Date.now()-new Date(e).getTime();return r<1e3?"Just now":r>828e5?new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:new Date(e).getFullYear()!==new Date().getFullYear()?"numeric":void 0}):`${f(r)}${t?" ago":""}`},ie=e=>{let t=e?new Date(e):new Date;return t.toString()==="Invalid Date"?"":new Date(t.getTime()-t.getTimezoneOffset()*6e4).toISOString().split(":").slice(0,2).join(":")},ce=e=>new Date(`${e}T00:00:00Z`).toLocaleDateString("en-US",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}),le=e=>{let t=new Date,r=t.getDate(),o=t.getMonth(),n=t.getFullYear();if(r>=e)return{firstDay:new Date(n,o,e),lastDay:new Date(n,o+1,e-1)};{let s=o===0?n-1:n,i=o===0?11:o-1;return{firstDay:new Date(s,i,e),lastDay:new Date(n,o,e-1)}}},d=()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()},ue=e=>{let t=d();return e>t?t:e},ge=e=>{let t=p(e,{separator:""});if(t.length<3)return"";if(a.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&a.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((n,s)=>n.length<s.length?n:s)}.to`},pe=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),me=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-]*$/u),fe=new RegExp(/^[a-zA-Z0-9\-]+$/),he=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),ye=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let r=t.split(".");return r.length>2?l.has(r[r.length-2])&&a.has(r[r.length-1])||u.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},g=e=>{try{return new URL(e),!0}catch{return!1}},de=e=>{if(g(e))return e;try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).toString()}catch{return null}},xe=e=>{if(g(e))return new URL(e).hostname.replace(/^www\./,"");try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).hostname.replace(/^www\./,"")}catch{return null}},De=(e,t)=>{let r=new URLSearchParams({...e.query,...t}).toString();return`${r?"?":""}${r}`},we=({router:e,param:t,value:r})=>{t!=="page"&&delete e.query.page;let o;r.length>0?o={...e.query,[t]:r}:(delete e.query[t],o={...e.query});let{slug:n,...s}=o;e.replace({pathname:`/${e.query.slug||"links"}`,query:s})},be=(e,t)=>!e||e.length<=t?e:`${e.slice(0,t-3)}...`,Se=e=>{if(!e)return{};try{let t=new URL(e).searchParams,r={};for(let[o,n]of t.entries())n&&n!==""&&(r[o]=n);return r}catch{return{}}},Re=(e,t)=>{if(!e)return"";try{let r=new URL(e);for(let[o,n]of Object.entries(t))n===""?r.searchParams.delete(o):r.searchParams.set(o,n);return r.toString()}catch{return""}},x=[{display:"Referral (ref)",key:"ref",examples:"twitter, facebook"},{display:"UTM Source",key:"utm_source",examples:"twitter, facebook"},{display:"UTM Medium",key:"utm_medium",examples:"social, email"},{display:"UTM Campaign",key:"utm_campaign",examples:"summer_sale"},{display:"UTM Term",key:"utm_term",examples:"blue_shoes"},{display:"UTM Content",key:"utm_content",examples:"logolink"}],Ue=e=>{try{let t=new URL(e);return x.forEach(r=>t.searchParams.delete(r.key)),t.toString()}catch{return e}};async function ke(e){let r=new TextEncoder().encode(e),o=await crypto.subtle.digest("MD5",r);return Array.from(new Uint8Array(o)).map(i=>i.toString(16).padStart(2,"0")).join("")}var D={cron:process.env.DUB_SLACK_HOOK_CRON,links:process.env.DUB_SLACK_HOOK_LINKS},Le=async({message:e,type:t,mention:r=!1})=>{(process.env.NODE_ENV==="development"||!process.env.DUB_SLACK_HOOK_CRON||!process.env.DUB_SLACK_HOOK_LINKS)&&console.log(e);let o=D[t];if(!!o)try{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({blocks:[{type:"section",text:{type:"mrkdwn",text:`${r?"<@U0404G6J3NJ> ":""}${e}`}}]})})}catch(n){console.log(`Failed to log to Dub Slack. Error: ${n}`)}},w=(e,t)=>{if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;let r=Object.keys(e),o=Object.keys(t);if(r.length!==o.length)return!1;for(let n of r)if(!o.includes(n)||!w(e[n],t[n]))return!1;return!0};export{E as ADMIN_HOSTNAMES,A as API_DOMAIN,T as API_HOSTNAMES,_ as APP_DOMAIN,$ as APP_DOMAIN_WITH_NGROK,O as APP_HOSTNAMES,b as COUNTRIES,H as DEFAULT_LINK_PROPS,F as DEFAULT_REDIRECTS,N as DUB_HEADERS,I as DUB_LOGO,Z as DUB_PROJECT_ID,K as DUB_THUMBNAIL,v as FADE_IN_ANIMATION_SETTINGS,C as FAVICON_FOLDER,U as FRAMER_MOTION_LIST_ITEM_VARIANTS,q as GOOGLE_FAVICON_URL,c as HOME_DOMAIN,S as LOCALHOST_GEO_DATA,R as LOCALHOST_IP,M as PAGINATION_LIMIT,j as SAML_PROVIDERS,l as SECOND_LEVEL_DOMAINS,P as SHOW_BACKGROUND_SEGMENTS,u as SPECIAL_APEX_DOMAINS,k as STAGGER_CHILD_VARIANTS,L as SWIPE_REVEAL_ANIMATION_SETTINGS,z as allTools,ne as capitalize,a as ccTLDs,oe as chunk,G as cn,X as constructMetadata,Re as constructURLFromUTMParams,w as deepEqual,te as fetcher,ce as formatDate,ge as generateDomainFromName,ke as generateMD5Hash,ue as getAdjustedBillingCycleStart,ye as getApexDomain,ie as getDateTimeLocal,xe as getDomainWithoutWWW,le as getFirstAndLastDay,d as getLastDayOfMonth,Se as getParamsFromURL,De as getQueryString,he as getSubdomain,de as getUrlFromString,Ue as getUrlWithoutUTMParams,g as isValidUrl,se as linkConstructor,Le as log,re as nFormatter,ee as nanoid,x as paramsMetadata,we as setQueryString,ae as timeAgo,be as truncate,pe as validDomainRegex,me as validKeyRegex,fe as validSlugRegex};
1
+ import{A as j,a as S,b as R,c as U,d as k,e as L,f as v,g as M,h as c,i as O,j as _,k as $,l as T,m as A,n as E,o as F,p as N,q as C,r as q,s as I,t as K,u as P,v as z,w as l,x as u,y as H,z as Z}from"./chunk-6ES23EVP.mjs";import{a}from"./chunk-MODISIUH.mjs";import{a as b}from"./chunk-3P54C65P.mjs";import p from"@sindresorhus/slugify";import{clsx as m}from"clsx";import f from"ms";import{customAlphabet as h}from"nanoid";import{twMerge as y}from"tailwind-merge";function G(...e){return y(m(e))}function X({title:e="Dub - Link Management for Modern Marketing Teams",description:t="Dub is an open-source link management tool for modern marketing teams to create, share, and track short links.",image:r="https://dub.co/_static/thumbnail.png",icons:o="/favicon.ico",noIndex:n=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,images:[{url:r}]},twitter:{card:"summary_large_image",title:e,description:t,images:[r],creator:"@dubdotco"},icons:o,metadataBase:new URL(c),themeColor:"#FFF",...n&&{robots:{index:!1,follow:!1}}}}var ee=h("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7);async function te(e,t){let r=await fetch(e,t);if(!r.ok){let o=await r.text(),n=new Error(o);throw n.status=r.status,n}return r.json()}function re(e,t={digits:1}){if(!e)return"0";if(t.full)return Intl.NumberFormat("en-US").format(e);let r=[{value:1,symbol:""},{value:1e3,symbol:"K"},{value:1e6,symbol:"M"},{value:1e9,symbol:"G"},{value:1e12,symbol:"T"},{value:1e15,symbol:"P"},{value:1e18,symbol:"E"}],o=/\.0+$|(\.[0-9]*[1-9])0+$/;var n=r.slice().reverse().find(function(s){return e>=s.value});return n?(e/n.value).toFixed(t.digits).replace(o,"$1")+n.symbol:"0"}function ne(e){return!e||typeof e!="string"?e:e.charAt(0).toUpperCase()+e.slice(1)}var oe=(e,t)=>e.reduce((r,o,n)=>{let s=Math.floor(n/t);return r[s]||(r[s]=[]),r[s].push(o),r},[]);function se({key:e,domain:t="dub.sh",localhost:r,pretty:o,noDomain:n}){let s=`${r?"http://home.localhost:8888":`https://${t}`}${e!=="_root"?`/${e}`:""}`;return n?`/${e}`:o?s.replace(/^https?:\/\//,""):s}var ae=(e,{withAgo:t}={})=>{if(!e)return"Never";let r=Date.now()-new Date(e).getTime();return r<1e3?"Just now":r>828e5?new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:new Date(e).getFullYear()!==new Date().getFullYear()?"numeric":void 0}):`${f(r)}${t?" ago":""}`},ie=e=>{let t=e?new Date(e):new Date;return t.toString()==="Invalid Date"?"":new Date(t.getTime()-t.getTimezoneOffset()*6e4).toISOString().split(":").slice(0,2).join(":")},ce=e=>new Date(`${e}T00:00:00Z`).toLocaleDateString("en-US",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}),le=e=>{let t=new Date,r=t.getDate(),o=t.getMonth(),n=t.getFullYear();if(r>=e)return{firstDay:new Date(n,o,e),lastDay:new Date(n,o+1,e-1)};{let s=o===0?n-1:n,i=o===0?11:o-1;return{firstDay:new Date(s,i,e),lastDay:new Date(n,o,e-1)}}},d=()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()},ue=e=>{let t=d();return e>t?t:e},ge=e=>{let t=p(e,{separator:""});if(t.length<3)return"";if(a.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&a.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((n,s)=>n.length<s.length?n:s)}.to`},pe=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),me=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-]*$/u),fe=new RegExp(/^[a-zA-Z0-9\-]+$/),he=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),ye=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let r=t.split(".");return r.length>2?l.has(r[r.length-2])&&a.has(r[r.length-1])||u.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},g=e=>{try{return new URL(e),!0}catch{return!1}},de=e=>{if(g(e))return e;try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).toString()}catch{return null}},xe=e=>{if(g(e))return new URL(e).hostname.replace(/^www\./,"");try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).hostname.replace(/^www\./,"")}catch{return null}},De=(e,t)=>{let r=new URLSearchParams({...e.query,...t}).toString();return`${r?"?":""}${r}`},we=({router:e,param:t,value:r})=>{t!=="page"&&delete e.query.page;let o;r.length>0?o={...e.query,[t]:r}:(delete e.query[t],o={...e.query});let{slug:n,...s}=o;e.replace({pathname:`/${e.query.slug||"links"}`,query:s})},be=(e,t)=>!e||e.length<=t?e:`${e.slice(0,t-3)}...`,Se=e=>{if(!e)return{};try{let t=new URL(e).searchParams,r={};for(let[o,n]of t.entries())n&&n!==""&&(r[o]=n);return r}catch{return{}}},Re=(e,t)=>{if(!e)return"";try{let r=new URL(e);for(let[o,n]of Object.entries(t))n===""?r.searchParams.delete(o):r.searchParams.set(o,n);return r.toString()}catch{return""}},x=[{display:"Referral (ref)",key:"ref",examples:"twitter, facebook"},{display:"UTM Source",key:"utm_source",examples:"twitter, facebook"},{display:"UTM Medium",key:"utm_medium",examples:"social, email"},{display:"UTM Campaign",key:"utm_campaign",examples:"summer_sale"},{display:"UTM Term",key:"utm_term",examples:"blue_shoes"},{display:"UTM Content",key:"utm_content",examples:"logolink"}],Ue=e=>{try{let t=new URL(e);return x.forEach(r=>t.searchParams.delete(r.key)),t.toString()}catch{return e}};async function ke(e){let r=new TextEncoder().encode(e),o=await crypto.subtle.digest("MD5",r);return Array.from(new Uint8Array(o)).map(i=>i.toString(16).padStart(2,"0")).join("")}var D={cron:process.env.DUB_SLACK_HOOK_CRON,links:process.env.DUB_SLACK_HOOK_LINKS},Le=async({message:e,type:t,mention:r=!1})=>{(process.env.NODE_ENV==="development"||!process.env.DUB_SLACK_HOOK_CRON||!process.env.DUB_SLACK_HOOK_LINKS)&&console.log(e);let o=D[t];if(!!o)try{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({blocks:[{type:"section",text:{type:"mrkdwn",text:`${r?"<@U0404G6J3NJ> ":""}${e}`}}]})})}catch(n){console.log(`Failed to log to Dub Slack. Error: ${n}`)}},w=(e,t)=>{if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;let r=Object.keys(e),o=Object.keys(t);if(r.length!==o.length)return!1;for(let n of r)if(!o.includes(n)||!w(e[n],t[n]))return!1;return!0};export{E as ADMIN_HOSTNAMES,z as ALL_TOOLS,A as API_DOMAIN,T as API_HOSTNAMES,_ as APP_DOMAIN,$ as APP_DOMAIN_WITH_NGROK,O as APP_HOSTNAMES,b as COUNTRIES,H as DEFAULT_LINK_PROPS,F as DEFAULT_REDIRECTS,N as DUB_HEADERS,I as DUB_LOGO,Z as DUB_PROJECT_ID,K as DUB_THUMBNAIL,v as FADE_IN_ANIMATION_SETTINGS,C as FAVICON_FOLDER,U as FRAMER_MOTION_LIST_ITEM_VARIANTS,q as GOOGLE_FAVICON_URL,c as HOME_DOMAIN,S as LOCALHOST_GEO_DATA,R as LOCALHOST_IP,M as PAGINATION_LIMIT,j as SAML_PROVIDERS,l as SECOND_LEVEL_DOMAINS,P as SHOW_BACKGROUND_SEGMENTS,u as SPECIAL_APEX_DOMAINS,k as STAGGER_CHILD_VARIANTS,L as SWIPE_REVEAL_ANIMATION_SETTINGS,ne as capitalize,a as ccTLDs,oe as chunk,G as cn,X as constructMetadata,Re as constructURLFromUTMParams,w as deepEqual,te as fetcher,ce as formatDate,ge as generateDomainFromName,ke as generateMD5Hash,ue as getAdjustedBillingCycleStart,ye as getApexDomain,ie as getDateTimeLocal,xe as getDomainWithoutWWW,le as getFirstAndLastDay,d as getLastDayOfMonth,Se as getParamsFromURL,De as getQueryString,he as getSubdomain,de as getUrlFromString,Ue as getUrlWithoutUTMParams,g as isValidUrl,se as linkConstructor,Le as log,re as nFormatter,ee as nanoid,x as paramsMetadata,we as setQueryString,ae as timeAgo,be as truncate,pe as validDomainRegex,me as validKeyRegex,fe as validSlugRegex};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dub/utils",
3
3
  "description": "Utility functions and constants for Dub.co",
4
- "version": "0.0.0",
4
+ "version": "0.0.1",
5
5
  "types": "./dist/index.d.ts",
6
6
  "exports": {
7
7
  ".": "./dist"
@@ -118,7 +118,10 @@ export const SHOW_BACKGROUND_SEGMENTS = [
118
118
  "auth",
119
119
  ];
120
120
 
121
- export const allTools = ["metatags", "inspector"];
121
+ export const ALL_TOOLS = [
122
+ { name: "Metatags API", slug: "metatags" },
123
+ { name: "Link Inspector", slug: "inspector" },
124
+ ];
122
125
 
123
126
  export { default as ccTLDs } from "./cctlds";
124
127
  export { default as COUNTRIES } from "./countries";
package/tsconfig.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "extends": "tsconfig/react-library.json",
3
- "include": [".", "../ui/src/hooks", "../ui/src/content.ts"],
3
+ "include": ["."],
4
4
  "exclude": ["dist", "build", "node_modules"]
5
5
  }