PageSourceSearch

https://nolist.ai/_next/static/chunks/631-210a133cfbfffed6.js

js nolist.ai collected 2026-10-05 13:41:57 UTC 17,156 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[631],{29134:function(e,r,t){t.d(r,{z:function(){return s}});var n=t(30382);function s(e){return(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:46.5,height:48,viewBox:"0 0 496 512",...e,children:[(0,n.jsx)("title",{children:"GitHub"}),(0,n.jsx)("path",{fill:"currentColor",d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6c-3.3.3-5.6-1.3-5.6-3.6c0-2 2.3-3.6 5.2-3.6c3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9c2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9c.3 2 2.9 3.3 5.9 2.6c2.9-.7 4.9-2.6 4.6-4.6c-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2c12.8 2.3 17.3-5.6 17.3-12.1c0-6.2-.3-40.4-.3-61.4c0 0-70 15-84.7-29.8c0 0-11.4-29.1-27.8-36.6c0 0-22.9-15.7 1.6-15.4c0 0 24.9 2 38.6 25.8c21.9 38.6 58.6 27.5 72.9 20.9c2.3-16 8.8-27.1 16-33.7c-55.9-6.2-112.3-14.3-112.3-110.5c0-27.5 7.6-41.3 23.6-58.9c-2.6-6.5-11.1-33.3 2.6-67.9c20.9-6.5 69 27 69 27c20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27c13.7 34.7 5.2 61.4 2.6 67.9c16 17.7 25.8 31.5 25.8 58.9c0 96.5-58.9 104.2-114.8 110.5c9.2 7.9 17 22.9 17 46.4c0 33.7-.3 75.4-.3 83.6c0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252C496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2c1.6 1.6 3.9 2.3 5.2 1c1.3-1 1-3.3-.7-5.2c-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9c1.6 1 3.6.7 4.3-.7c.7-1.3-.3-2.9-2.3-3.9c-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2c2.3 2.3 5.2 2.6 6.5 1c1.3-1.3.7-4.3-1.3-6.2c-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2c-1.4-2.3-4-3.3-5.6-2"})]})}t(39638)},75287:function(e,r,t){t.d(r,{C:function(){return s}});var n=t(30382);function s(e){return(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:45.75,height:48,viewBox:"0 0 488 512",...e,children:[(0,n.jsx)("title",{children:"Google"}),(0,n.jsx)("path",{fill:"currentColor",d:"M488 261.8C488 403.3 391.1 504 248 504C110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6c98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4"})]})}t(39638)},18298:function(e,r,t){t.d(r,{P:function(){return b}});var n=t(83818),s=t(52460),i=t(20958),a=t(89716),o=t(68392),c=t(40663),l=t(8996),u=t(79423),d=t(10245),m=t(47628),f=t(37502),g=t(18929),p=t(77146),h=t(1109),w=t(29134),x=t(75287),v=t(30382);t(39638);let b={spinner:n.Z,arrowRight:s.Z,search:i.Z,collection:a.Z,category:o.Z,tag:c.Z,blog:l.Z,compare:u.Z,pricing:d.Z,home:m.Z,dashboard:f.Z,submit:g.Z,settings:p.Z,studio:a.Z,email:h.Z,github:w.z,google:x.C,twitter:function(e){return(0,v.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 0 512 512",...e,children:[(0,v.jsx)("title",{children:"X (Twitter)"}),(0,v.jsx)("path",{fill:"currentColor",d:"M389.2 48h70.6L305.6 224.2L487 464H345L233.7 318.6L106.5 464H35.8l164.9-188.5L26.8 48h145.6l100.5 132.9zm-24.8 373.8h39.1L151.1 88h-42z"})]})},youtube:function(e){return(0,v.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 0 512 512",...e,children:[(0,v.jsx)("title",{children:"YouTube"}),(0,v.jsx)("path",{fill:"currentColor",d:"M508.64 148.79c0-45-33.1-81.2-74-81.2C379.24 65 322.74 64 265 64h-18c-57.6 0-114.2 1-169.6 3.6C36.6 67.6 3.5 104 3.5 149C1 184.59-.06 220.19 0 255.79q-.15 53.4 3.4 106.9c0 45 33.1 81.5 73.9 81.5c58.2 2.7 117.9 3.9 178.6 3.8q91.2.3 178.6-3.8c40.9 0 74-36.5 74-81.5c2.4-35.7 3.5-71.3 3.4-107q.34-53.4-3.26-106.9M207 353.89v-196.5l145 98.2Z"})]})},productHunt:function(e){return(0,v.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 0 256 256",...e,children:[(0,v.jsx)("title",{children:"Product Hunt"}),(0,v.jsx)("defs",{children:(0,v.jsxs)("linearGradient",{id:"logosProducthunt0",x1:"50%",x2:"50%",y1:"0%",y2:"100%",children:[(0,v.jsx)("stop",{offset:"0%",stopColor:"#da552f"}),(0,v.jsx)("stop",{offset:"100%",stopColor:"#d04b25"})]})}),(0,v.jsxs)("g",{fill:"none",fillRule:"evenodd",children:[(0,v.jsx)("path",{fill:"url(#logosProducthunt0)",d:"M128 256c70.694 0 128-57.306 128-128S198.694 0 128 0S0 57.306 0 128s57.306 128 128 128"}),(0,v.jsx)("path",{fill:"#fff",d:"M96 76.8v102.4h19.2v-32h29.056c19.296-.512 34.944-16.16 34.944-35.2c0-19.552-15.648-35.2-34.944-35.2zm48.493 51.2H115.2V96h29.293c8.563 0 15.507 7.168 15.507 16s-6.944 16-15.507 16"})]})]})}}},90631:function(e,r,t){t.d(r,{NewsletterCard:function(){return x}});var n=t(30382),s=t(26729);function i(e){let{id:r,label:t,labelAs:i="p",title:a,titleAs:o="p",subtitle:c,subtitleAs:l="p",className:u}=e;return(0,n.jsxs)("div",{id:r,className:(0,s.cn)("flex flex-col items-center text-center",u),children:[t?(0,n.jsx)(i,{className:"uppercase tracking-wider text-gradient_indigo-purple font-semibold",children:t}):null,a?(0,n.jsx)(o,{className:"mt-4 px-4 text-2xl md:text-4xl",children:a}):null,c?(0,n.jsx)(l,{className:"mt-6 px-4 text-balance text-lg text-foreground
1/80",children:c}):null]})}t(81853);var a=(0,t(66643).$)("1af23b085b6547bfd5f51a1fffb8e829c1531197"),o=t(18298),c=t(85510),l=t(52738),u=t(71369),d=t(55957),m=t(54017),f=t(35703),g=t(39638),p=t(32162),h=t(50416);function w(){let[e,r]=(0,g.useTransition)(),t=(0,p.cI)({resolver:(0,m.F)(d.Tr),defaultValues:{email:""}});return(0,n.jsx)(l.l0,{...t,children:(0,n.jsxs)("form",{onSubmit:t.handleSubmit(function(e){r(async()=>{a({email:e.email}).then(e=>{"success"===e.status?(h.Am.success("Thank you for subscribing to our newsletter"),t.reset()):h.Am.error("Something went wrong, please try again")}).catch(e=>{h.Am.error("Something went wrong")})})}),className:"flex items-center justify-center",children:[(0,n.jsx)(l.Wi,{control:t.control,name:"email",render:e=>{let{field:r}=e;return(0,n.jsxs)(l.xJ,{className:"relative space-y-0",children:[(0,n.jsx)(l.lX,{className:"sr-only",children:"Email"}),(0,n.jsx)(l.NI,{className:"rounded-r-none",children:(0,n.jsx)(u.I,{type:"email",className:(0,s.cn)("w-[280px] sm:w-[320px] md:w-[400px] h-12 rounded-r-none","focus-visible:ring-0 focus-visible:ring-offset-0 focus:border-primary focus:border-2 focus:border-r-0"),placeholder:"Enter your email",...r})}),(0,n.jsx)(l.zG,{className:"pt-2 text-sm"})]})}}),(0,n.jsxs)(c.z,{type:"submit",className:"rounded-l-none size-12",disabled:e,children:[e?(0,n.jsx)(o.P.spinner,{className:"size-6 animate-spin","aria-hidden":"true"}):(0,n.jsx)(f.kcA,{className:"size-6","aria-hidden":"true"}),(0,n.jsx)("span",{className:"sr-only",children:"Subscribe"})]})]})})}function x(){return(0,n.jsx)("div",{className:"w-full px-4 py-8 md:p-12 bg-muted rounded-lg",children:(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center gap-8",children:[(0,n.jsx)(i,{id:"newsletter",labelAs:"h2",label:"Newsletter",title:"Join the Community",titleAs:"h3",subtitle:"Subscribe to our newsletter for the latest news and updates"}),(0,n.jsx)(w,{})]})})}},85510:function(e,r,t){t.d(r,{d:function(){return c},z:function(){return l}});var n=t(30382),s=t(39638),i=t(52651),a=t(78531),o=t(26729);let c=(0,a.j)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),l=s.forwardRef((e,r)=>{let{className:t,variant:s,size:a,asChild:l=!1,...u}=e,d=l?i.g7:"button";return(0,n.jsx)(d,{className:(0,o.cn)(c({variant:s,size:a,className:t})),ref:r,...u})});l.displayName="Button"},52738:function(e,r,t){t.d(r,{NI:function(){return h},Wi:function(){return d},l0:function(){return l},lX:function(){return p},xJ:function(){return g},zG:function(){return w}});var n=t(30382),s=t(39638),i=t(52651),a=t(32162),o=t(26729),c=t(91593);let l=a.RV,u=s.createContext({}),d=e=>{let{...r}=e;return(0,n.jsx)(u.Provider,{value:{name:r.name},children:(0,n.jsx)(a.Qr,{...r})})},m=()=>{let e=s.useContext(u),r=s.useContext(f),{getFieldState:t,formState:n}=(0,a.Gc)(),i=t(e.name,n);if(!e)throw Error("useFormField should be used within <FormField>");let{id:o}=r;return{id:o,name:e.name,formItemId:"".concat(o,"-form-item"),formDescriptionId:"".concat(o,"-form-item-description"),formMessageId:"".concat(o,"-form-item-message"),...i}},f=s.createContext({}),g=s.forwardRef((e,r)=>{let{className:t,...i}=e,a=s.useId();return(0,n.jsx)(f.Provider,{value:{id:a},children:(0,n.jsx)("div",{ref:r,className:(0,o.cn)("space-y-2",t),...i})})});g.displayName="FormItem";let p=s.forwardRef((e,r)=>{let{className:t,...s}=e,{error:i,formItemId:a}=m();return(0,n.jsx)(c._,{ref:r,className:(0,o.cn)(i&&"text-destructive",t),htmlFor:a,...s})});p.displayName="FormLabel";let h=s.forwardRef((e,r)=>{let{...t}=e,{error:s,formItemId:a,formDescriptionId:o,formMessageId:c}=m();return(0,n.jsx)(i.g7,{ref:r,id:a,"aria-describedby":s?"".concat(o," ").concat(c):"".concat(o),"aria-invalid":!!s,...t})});h.displayName="FormControl",s.forwardRef((e,r)=>{let{className:t,...s}=e,{formDescriptionId:i}=m();return(0,n.jsx)("p",{ref:r,id:i,className:(0,o.cn)("text-sm text-muted-foreground",t),...s})}).displayName="FormDescription";let w=s.forwardRef((e,r)=>{let{className:t,children:s,...i}=e,{error:a,formMessageId:c}=m(),l=a?String(null==a?void 0:a.message):s;return l?(0,n.jsx)("p",{ref:r,id:c,className:(0,o.cn)("text-sm font-medium text-destructive",t),...i,children:l}):null});w.displayName="FormMessage"},71369:function(e,r,t){t.d(r,{I:function(){return a}});var n=t(30382),s=t(39638),i=t(26729);let a=s.forwardRef((e,r)=>{let{className:t,type:s,...a}=e;return(0,n.jsx)("input",{type:s,className:(0,i.cn)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm r
1ing-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",t),ref:r,...a})});a.displayName="Input"},91593:function(e,r,t){t.d(r,{_:function(){return l}});var n=t(30382),s=t(39638),i=t(4516),a=t(78531),o=t(26729);let c=(0,a.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),l=s.forwardRef((e,r)=>{let{className:t,...s}=e;return(0,n.jsx)(i.f,{ref:r,className:(0,o.cn)(c(),t),...s})});l.displayName=i.f.displayName},31257:function(e,r,t){t.d(r,{J:function(){return s}});let n="https://nolist.ai",s={name:"nolist.ai",tagline:"AI Developer Tools Directory — Reviews, Pricing & Code Snippets",description:"Compare 260+ AI developer tools with real reviews, transparent pricing, quickstart code, and honest gotchas. LLM APIs, vector databases, AI frameworks, code assistants, and more. No fluff, no sponsored rankings.",keywords:["AI developer tools","LLM API comparison","AI tools directory","vector database comparison","AI framework","code assistant","AI pricing","OpenAI API alternative","AI tool reviews","embedding models","GPU cloud","AI gateway","AI observability","AI agent framework","AI search API","image generation API","text to speech API","video generation API"],author:"nolist.ai",url:n,logo:"/logo.png",image:"".concat(n,"/og.png?v=1"),mail:"[email protected]",utm:{source:"nolist.ai",medium:"referral",campaign:"navigation"},links:{twitter:"",github:"",youtube:""}}},55957:function(e,r,t){t.d(r,{A3:function(){return f},Tr:function(){return i},Tu:function(){return p},YS:function(){return l},hz:function(){return u},j4:function(){return c},j5:function(){return m},pj:function(){return g},vk:function(){return d},zG:function(){return o}});var n=t(75471),s=t(65415);let i=n.Ry({email:n.Z_().email({message:"Enter a valid email"})}),a={name:n.Z_().min(1,{message:"Name is required"}).max(32,{message:"Name must be 32 or fewer characters long"}),link:n.Z_().url({message:"Invalid url"}),description:n.Z_().min(1,{message:"Description is required"}).max(256,{message:"Description must be 256 or fewer characters long"}),introduction:n.Z_().min(1,{message:"Introduction is required"}).max(4096,{message:"Introduction must be 4096 or fewer characters long"}),tags:n.IX(n.Z_()).min(1,{message:"Must select at least one tag"}),categories:n.IX(n.Z_()).min(1,{message:"Must select at least one category"}),imageId:n.Z_().min(1,{message:"Must upload an image"})},o=s.rs?n.Ry({...a,iconId:n.Z_().min(1,{message:"Must upload an icon"})}):n.Ry(a),c=o.extend({id:n.Z_().min(1,{message:"ID is required"}),pricePlan:n.Z_().min(1,{message:"Price plan is required"}),planStatus:n.Z_().min(1,{message:"Plan status is required"})});n.Ry({name:n.Z_().min(1,{message:"Name is required"}),link:n.Z_().optional(),password:n.jt(n.Z_().min(6)),newPassword:n.jt(n.Z_().min(6))}).refine(e=>!e.password||!!e.newPassword,{message:"New password is required!",path:["newPassword"]}).refine(e=>!e.newPassword||!!e.password,{message:"Password is required!",path:["password"]});let l=n.Ry({name:n.Z_().min(1,{message:"Name is required"}).max(32,{message:"Name must be 32 or fewer characters long"})}),u=n.Ry({link:n.Z_().min(0,{message:"Link is optional"}).max(128,{message:"Link must be 128 or fewer characters long"})}),d=n.Ry({password:n.Z_().min(6,{message:"Minimum of 6 characters required"}),newPassword:n.Z_().min(6,{message:"Minimum of 6 characters required"}),confirmPassword:n.Z_().min(6,{message:"Minimum of 6 characters required"})}).refine(e=>!e.newPassword||!!e.password,{message:"Password is required",path:["password"]}).refine(e=>!e.password||!!e.newPassword,{message:"New password is required",path:["newPassword"]}).refine(e=>e.newPassword===e.confirmPassword,{message:"Passwords do not match",path:["confirmPassword"]}),m=n.Ry({password:n.Z_().min(6,{message:"Minimum of 6 characters required"})}),f=n.Ry({email:n.Z_().email({message:"Email is required"})}),g=n.Ry({email:n.Z_().email({message:"Email is required"}),password:n.Z_().min(1,{message:"Password is required"})}),p=n.Ry({email:n.Z_().email({message:"Email is required"}),password:n.Z_().min(6,{message:"Minimum 6 characters required"}),name:n.Z_().min(1,{message:"Name is required"})});n.Ry({title:n.Z_(),description:n.Z_().optional(),type:n.Z_().optional(),mode:n.Km(["light","dark"]).default("light")})},65186:function(e,r,t){var n,s,i,a,o,c,l,u;t.d(r,{CQ:function(){return s},Eg:function(){return i},JP:function(){return n},QV:function(){return a},af:function(){return d},jA:function(){return m},ym:function(){return f}}),(o=n||(n={})).FREE="free",o.PRO="pro",o.SPONSOR="sponsor",(c=s||(s={})).APPROVED="approved",c.REJECTED="rejected",c.PENDING="pending",c.SUBMITTING="submitting",(l=i||(i={})).SUCCESS="success",l.FAILED="failed",l.PENDING="pending",l.SUBMITTING="submitting",(u=a||(a={})).SUCCESS="success",u.FAILED="failed",u.PENDING="pending",u.SUBMITTING="submitting";let d=e=>"free"===e.pricePlan?"approved"===e.freePlanStatus:"pro"===e.pricePlan?"success"===e.proPlanStatus:"sponsor"===e.pricePlan&&"success"===e.sponsorPlanStatus,m={SUCCESS:"success",WARNING:"warning",DANGER:"danger",NORMAL:"normal"},f=e=>{if("free"===e.pricePlan)switch(e.freePlanStatus){case"approved":return m.SUCCESS;case"rejected":return m.DANGER;
1case"pending":return m.WARNING;default:return m.NORMAL}if("pro"===e.pricePlan)switch(e.proPlanStatus){case"success":return m.SUCCESS;case"failed":return m.DANGER;case"pending":return m.WARNING;default:return m.NORMAL}if("sponsor"===e.pricePlan)switch(e.sponsorPlanStatus){case"success":return m.SUCCESS;case"failed":return m.DANGER;case"pending":return m.WARNING}return m.NORMAL}},26729:function(e,r,t){t.d(r,{J3:function(){return l},cn:function(){return a},uJ:function(){return c},zw:function(){return o}});var n=t(31257),s=t(93872),i=t(82158);function a(){for(var e=arguments.length,r=Array(e),t=0;t<e;t++)r[t]=arguments[t];return(0,i.m6)((0,s.W)(r))}function o(e){let r=new Date(e),t=r.getFullYear(),n=(r.getMonth()+1).toString().padStart(2,"0"),s=r.getDate().toString().padStart(2,"0");return"".concat(t,"/").concat(n,"/").concat(s)}t(60273),t(65186),t(28070);let c=(e,r)=>{let t=r.toString(),n="".concat(t.length?"?":"").concat(t);return"".concat(e).concat(n)};function l(e){if(e.affiliateLink)return e.affiliateLink;if(!e.link)return null;try{let r=new URLSearchParams({utm_source:n.J.utm.source,utm_medium:n.J.utm.medium,utm_campaign:n.J.utm.campaign}).toString(),t=new URL(e.link);return t.search=t.search?"".concat(t.search,"&").concat(r):"?".concat(r),t.toString()}catch(r){return e.link}}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.