CINXE.COM

npm - Product Information, Latest Updates, and Reviews 2025 | Product Hunt

<!DOCTYPE html><html lang="en" data-sentry-component="RootLayout" data-sentry-source-file="layout.tsx"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1"/><link rel="stylesheet" href="/_next/static/css/8f719edb11eed1a0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/d5e9c100ec07c291.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/0bee508d3bad07c8.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c99d6c2024146960.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/4afdd19ce6c2ffda.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/45be9f74b83be42e.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/bf9552dc979224e1.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/886a1217ff9fd009.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/d31cd169126c5461.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/8b472d8ca8da25a1.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-cfdef94efa45d47a.js"/><script src="/_next/static/chunks/52774a7f-6669686f43e90bd5.js" async=""></script><script src="/_next/static/chunks/fd9d1056-9af7b3142eb9eff3.js" async=""></script><script src="/_next/static/chunks/13326-c5fdf3cfd9b23ad7.js" async=""></script><script src="/_next/static/chunks/main-app-e9a52ec06e2ef464.js" async=""></script><script src="/_next/static/chunks/c16f53c3-48451ac2b1dbb4cf.js" async=""></script><script src="/_next/static/chunks/20921-7a96833f57c275e2.js" async=""></script><script src="/_next/static/chunks/99791-029fefa2b88e709e.js" async=""></script><script src="/_next/static/chunks/83785-230f48b890d5c9aa.js" async=""></script><script src="/_next/static/chunks/99485-049f8877fe3fd326.js" async=""></script><script src="/_next/static/chunks/20750-a86c83808da2a59a.js" async=""></script><script src="/_next/static/chunks/27834-5c78f4880616ba54.js" async=""></script><script src="/_next/static/chunks/53261-f5a2bb4c2cf1c00e.js" async=""></script><script src="/_next/static/chunks/38997-3ec4d552be6df75b.js" async=""></script><script src="/_next/static/chunks/33531-acabdae7789b7d36.js" async=""></script><script src="/_next/static/chunks/47931-b395de54841771b6.js" async=""></script><script src="/_next/static/chunks/63874-3d5e5624fdebf890.js" async=""></script><script src="/_next/static/chunks/49428-0a1d686850695b6b.js" async=""></script><script src="/_next/static/chunks/84400-eddd67ab8f0451c0.js" async=""></script><script src="/_next/static/chunks/75588-faf4b8cce7f62b7c.js" async=""></script><script src="/_next/static/chunks/72369-1e7864e9cf595161.js" async=""></script><script src="/_next/static/chunks/73882-86d296e7924d8950.js" async=""></script><script src="/_next/static/chunks/3842-a8176129994dc984.js" async=""></script><script src="/_next/static/chunks/20828-0d71157315f6d814.js" async=""></script><script src="/_next/static/chunks/16010-3a87789f9e78e8fe.js" async=""></script><script src="/_next/static/chunks/app/(main)/products/%5Bslug%5D/(layout)/layout-54a6d5750b91b403.js" async=""></script><script src="/_next/static/chunks/50125-e28270261385c894.js" async=""></script><script src="/_next/static/chunks/82970-a7daac786c5af3dc.js" async=""></script><script src="/_next/static/chunks/42822-99f6529dd3dcc810.js" async=""></script><script src="/_next/static/chunks/1574-767209b786dd9ea5.js" async=""></script><script src="/_next/static/chunks/app/(main)/layout-debac8568c4d5c24.js" async=""></script><script src="/_next/static/chunks/42551-a0fa86bb9d6d8fd7.js" async=""></script><script src="/_next/static/chunks/app/(main)/not-found-fefe08edc4dfcd5c.js" async=""></script><script src="/_next/static/chunks/59793-66c731db89a93e2c.js" async=""></script><script src="/_next/static/chunks/53894-186a0b2de7ed77b4.js" async=""></script><script src="/_next/static/chunks/22429-69adeb18bda66f2d.js" async=""></script><script src="/_next/static/chunks/app/layout-c29e892b2aebc046.js" async=""></script><script src="/_next/static/chunks/app/(cards)/layout-84f2033be3b366db.js" async=""></script><script src="/_next/static/chunks/12103-257c54f0017a6619.js" async=""></script><script src="/_next/static/chunks/app/global-error-d77dd3563650f7c0.js" async=""></script><script src="/_next/static/chunks/27310-8e2d673066adb4f0.js" async=""></script><script src="/_next/static/chunks/70324-8230e335f3ed18ba.js" async=""></script><script src="/_next/static/chunks/27450-2640cd910f08e0b7.js" async=""></script><script src="/_next/static/chunks/64358-3a036ca9a12b7dc5.js" async=""></script><script src="/_next/static/chunks/70219-6c6a1efdb8e29f64.js" async=""></script><script src="/_next/static/chunks/65241-4a57a320b91d3aa5.js" async=""></script><script src="/_next/static/chunks/29363-61fe3c712dc7fee9.js" async=""></script><script src="/_next/static/chunks/49813-723a643f50dbb004.js" async=""></script><script src="/_next/static/chunks/59416-97b259ac7ad0f3f4.js" async=""></script><script src="/_next/static/chunks/8665-55d9c87de88424b2.js" async=""></script><script src="/_next/static/chunks/3685-dcaaaf5280478dbc.js" async=""></script><script src="/_next/static/chunks/app/(main)/products/%5Bslug%5D/(layout)/page-64a55217db2c2ac4.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-WZ46833KH9" as="script"/><link rel="preload" href="https://www.googletagmanager.com/gtm.js?id=G-WZ46833KH9" as="script"/><meta property="fb:app_id" content="1467820943460899" data-sentry-element="meta" data-sentry-source-file="layout.tsx"/><link rel="search" type="application/opensearchdescription+xml" title="ProductHunt" href="/osd.xml"/><meta name="theme-color" content="#ffffff"/><title> npm - Product Information, Latest Updates, and Reviews 2025 | Product Hunt</title><meta name="description" content="Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of JavaScript code sharing, and with more than one million packages, the largest software registry in the world. Our other tools and services take the Registry, and the work you do around it, to the next level."/><link rel="author" href="https://www.producthunt.com/@dinuda"/><meta name="author" content="Dinuda Yaggahavita"/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><meta name="fb:app_id" content="1467820943460899"/><link rel="canonical" href="https://www.producthunt.com/products/npm"/><link rel="alternate" type="application/atom+xml" title="Product Hunt - All newest Products" href="https://www.producthunt.com/feed"/><meta property="og:title" content=" npm - Product Information, Latest Updates, and Reviews 2025 | Product Hunt"/><meta property="og:description" content="Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of JavaScript code sharing, and with more than one million packages, the largest software registry in the world. Our other tools and services take the Registry, and the work you do around it, to the next level."/><meta property="og:url" content="https://www.producthunt.com/products/npm"/><meta property="og:site_name" content="Product Hunt"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://ph-files.imgix.net/10827b10-b9d4-4308-aa95-526ec0796092.png?auto=format&amp;fit=crop&amp;frame=1&amp;h=512&amp;w=1024"/><meta property="og:type" content="article"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@producthunt"/><meta name="twitter:creator" content="@dinuda"/><meta name="twitter:title" content=" npm - Product Information, Latest Updates, and Reviews 2025 | Product Hunt"/><meta name="twitter:description" content="Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of JavaScript code sharing, and with more than one million packages, the largest software registry in the world. Our other tools and services take the Registry, and the work you do around it, to the next level."/><meta name="twitter:image" content="https://ph-files.imgix.net/10827b10-b9d4-4308-aa95-526ec0796092.png?auto=format&amp;fit=crop&amp;frame=1&amp;h=512&amp;w=1024"/><link rel="icon" href="https://ph-static.imgix.net/ph-favicon-brand-500.ico?auto=format"/><link rel="apple-touch-icon-precomposed" href="https://ph-static.imgix.net/ph-ios-icon.png?auto=format"/><link rel="chrome-webstore-item" href="https://producthunt.app.link/extension"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script><script>(window[Symbol.for("ApolloSSRDataTransport")] ??= []).push({"rehydrate":{":R1kq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R9kq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R268ptpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":Ra8ptpkq:":{"data":undefined,"loading":true,"networkStatus":1,"called":true},":R2e8ptpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R2i8ptpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":Rgptpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R19tpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R1ptpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R29tpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R39tpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":Rd9tpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":Rl9tpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R2pkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R3pkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R38ptpkq:":{"data":{"viewer":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}}},"networkStatus":7},":R38ptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R2fnnkptpkq:":{"data":{"product":{"__typename":"Product","id":"111758","canEdit":false,"logoUuid":"103e2b4b-fdf2-435d-aa24-d901b0eb6e50.gif","followersCount":54,"activeUpcomingEvent":null,"upcomingBannerFollowers":{"__typename":"UserConnection","edges":[{"__typename":"UserEdge","node":{"__typename":"User","id":"105600","name":"Farooq (SF Ali) Zafar","username":"sfali789","avatarUrl":"https://ph-avatars.imgix.net/105600/1b2f2e5c-2281-4acb-9777-3870f97e90e8.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"86386","name":"Michiel","username":"vandeveire","avatarUrl":"https://ph-avatars.imgix.net/86386/original.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"409659","name":"Mario Rodriguez","username":"mariordev","avatarUrl":"https://ph-avatars.imgix.net/409659/67a6680a-8b55-4f0c-8441-09c9a9d7fa01.png"}}]},"name":"npm","tagline":"A package manager for javascript","reviewsCount":70,"isTopProduct":false,"shoutoutsToCount":19,"headerImage":null,"goldenKittyBadges":{"__typename":"GoldenKittyAwardBadgeConnection","edges":[]},"slug":"npm","isNoLongerOnline":false,"isMaker":false,"reviewsRating":4.96,"addonsCount":0,"badges":{"__typename":"Connection","totalCount":8},"websiteUrl":"https://www.npmjs.com","isSubscribed":false,"isClaimed":true,"canClaim":false,"viewerPendingTeamRequest":null,"cleanUrl":"npmjs.com","iosUrl":null,"androidUrl":null,"githubUrl":"https://github.com/spacesvr/spacesvr","twitterUrl":null,"facebookUrl":null,"instagramUrl":"https://www.instagram.com/musehq","linkedinUrl":null,"angellistUrl":"https://angel.co/company/discreetai","threadsUrl":null,"mediumUrl":"https://medium.com/spaces3-0","makers":{"__typename":"UserConnection","edges":[{"__typename":"UserEdge","node":{"__typename":"User","id":"7564949","name":"Dinuda Yaggahavita","username":"dinuda","avatarUrl":"https://ph-avatars.imgix.net/7564949/original.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"3549862","name":"Steven Howard","username":"stevenpaulhoward","avatarUrl":"https://ph-avatars.imgix.net/3549862/7809cc03-1c5d-473d-a50b-28f1a0418a06.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"3549876","name":"Isaiah Anyimi","username":"ianyimi","avatarUrl":"https://ph-avatars.imgix.net/3549876/5fdb9585-2799-4db5-85f4-c6e425d273ad.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"3548778","name":"Veltson Bastien","username":"veltsonbastien","avatarUrl":"https://ph-avatars.imgix.net/3548778/original.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"2051114","name":"Alex Shortt","username":"alexshortt","avatarUrl":"https://ph-avatars.imgix.net/2051114/c0276767-bb4f-4f0e-8cb1-060070953a5d.png"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"2022201","name":"Benjamin Ha","username":"itsbenha","avatarUrl":"https://ph-avatars.imgix.net/2022201/54916f56-e6bc-4408-aca8-7a1c57af331e.jpeg"}}]},"awards":{"__typename":"Connection","edges":[{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"11453","post":{"__typename":"Post","id":"141833","name":"autoComplete.js"},"position":2,"period":"weekly","date":"2018-12-26"}},{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"22508","post":{"__typename":"Post","id":"202333","name":"DiscreetAI"},"position":2,"period":"daily","date":"2020-05-22"}},{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"13078","post":{"__typename":"Post","id":"155902","name":"usernameCLI"},"position":5,"period":"daily","date":"2019-05-19"}},{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"12640","post":{"__typename":"Post","id":"152395","name":"MailtoUI.js"},"position":1,"period":"daily","date":"2019-04-26"}},{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"12421","post":{"__typename":"Post","id":"150612","name":"ReadlineJs"},"position":3,"period":"daily","date":"2019-04-13"}},{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"11392","post":{"__typename":"Post","id":"141833","name":"autoComplete.js"},"position":2,"period":"daily","date":"2018-12-26"}}]},"discussionForum":{"__typename":"DiscussionForumType","id":"79197","threads":{"__typename":"DiscussionForumAssociationTypeConnection","edges":[{"__typename":"DiscussionForumAssociationTypeEdge","node":{"__typename":"DiscussionForumAssociationType","id":"433198","commentable":{"__typename":"Post","id":"487708","slug":"transcript-tracer","name":"transcript-tracer","tagline":"@dinuda/transcript-tracer","createdAt":"2024-09-09T00:01:00-07:00","user":{"__typename":"User","id":"7564949","name":"Dinuda Yaggahavita","username":"dinuda","avatarUrl":"https://ph-avatars.imgix.net/7564949/original.jpeg"},"commentsCount":1,"hasVoted":false,"votesCount":7,"latestScore":8}}},{"__typename":"DiscussionForumAssociationTypeEdge","node":{"__typename":"DiscussionForumAssociationType","id":"411300","commentable":{"__typename":"Post","id":"454193","slug":"windmillcode-quill-emoji","name":"Windmillcode Quill Emoji","tagline":"Quill Emoji plugin for quill 2.0","createdAt":"2024-04-27T00:01:00-07:00","user":{"__typename":"User","id":"6603343","name":"KJ Hickums","username":"the_hick_from_kj","avatarUrl":"https://ph-avatars.imgix.net/6603343/original.png"},"commentsCount":0,"hasVoted":false,"votesCount":2,"latestScore":2}}},{"__typename":"DiscussionForumAssociationTypeEdge","node":{"__typename":"DiscussionForumAssociationType","id":"384761","commentable":{"__typename":"Post","id":"412943","slug":"nmscan","name":"NMScan","tagline":"Locate node_modules folders and calculate size on disk","createdAt":"2023-09-04T11:46:18-07:00","user":{"__typename":"User","id":"4341901","name":"Max Diamond 💎","username":"dmdboi","avatarUrl":"https://ph-avatars.imgix.net/4341901/original.jpeg"},"commentsCount":0,"hasVoted":false,"votesCount":3,"latestScore":3}}}]}},"url":"https://www.producthunt.com/products/npm","isMuted":false}},"networkStatus":7},":R2fnnkptpkqH1:":{"data":{"viewer":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}}},"networkStatus":7},":R1t5mfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rv5mfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rv5mfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R175mfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R175mfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R7lmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R7lmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rl6mfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rl6mfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rt9mmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rt9mmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Ru9mmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Ru9mmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rv9mmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rv9mmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rdmmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":RdmmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rhmmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":RhmmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rf6mfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rf6mfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined}},"events":[{"type":"started","options":{"skip":false,"fetchPolicy":"cache-first","query":"query Context{viewer{...UseCurrentUserFragment}}fragment ViewerNoticeFragment on Notice{type invite{id product{id slug}}makerSuggestion{id post{id slug}}dismissable{id isDismissed dismissableKey dismissableGroup}}fragment AbTestFragment on AbTestAssignment{name variant}fragment LaunchTipsFragment on Post{id canComment commentsCount featuredAt makerInviteUrl name url slug createdAt isMaker isHunter launchState shoutouts{id}}fragment UseCurrentUserFragment on Viewer{id email emailVerified isImpersonated analyticsIdentifyJson deviceType showCookiePolicy showCommentWarning showCaptcha showPhoneVerification isAdmin features notificationFeedItemsUnreadCount flashAlert notice{...ViewerNoticeFragment}otpRequiredFrom user{id avatarUrl isMaker name username}abTestActiveParticipations{...AbTestFragment}visitStreak{id emoji duration}recentLaunch{id scheduledAt ...LaunchTipsFragment}intercomUserHash ifVisitedFromMobile newsletterSettings{hasNewsletterSubscription}}","notifyOnNetworkStatusChange":false,"nextFetchPolicy":undefined},"id":"2"},{"type":"started","options":{"variables":{"slug":"npm"},"skip":false,"fetchPolicy":"cache-first","query":"query ProductsPageLayout($slug:String!){product(slug:$slug excludeTrashed:true){id canEdit ...UpcomingBannerFragment ...ProductsPageLayoutHeader ...ProductsPageLayoutSidebar ...ProductPageLayoutFirstLaunch}}fragment UpcomingEventFollowButtonFragment on UpcomingEvent{id isSubscribed truncatedDescription product{id isSubscribed followersCount}}fragment UserImage on User{id name username avatarUrl}fragment UserCircleListFragment on User{id ...UserImage}fragment HeaderImage on HeaderImage{id uuid isPrimaryLight}fragment GoldenKittyBadge on GoldenKittyAwardBadge{id category position year post{id name}}fragment ProductThumbnailFragment on Product{id name logoUuid isNoLongerOnline}fragment ReviewStarRatingCTAFragment on Product{id slug name isMaker reviewsRating}fragment ProductMuteButtonFragment on Product{id isMuted}fragment HeaderNavigationMoreButton on Product{id url name slug tagline isSubscribed ...ProductThumbnailFragment ...ProductMuteButtonFragment}fragment CollectionAddButtonFragment on Product{id}fragment HeaderNavigationAddToCollectionButton on Product{id ...CollectionAddButtonFragment}fragment ProductsPageLayoutHeaderNavigator on Product{id slug addonsCount shoutoutsToCount badges{totalCount}...HeaderNavigationMoreButton ...HeaderNavigationAddToCollectionButton}fragment ProductsPageLayoutAdminBar on Product{id slug canEdit}fragment ProductLayoutHeaderWebsiteButton on Product{id websiteUrl isNoLongerOnline}fragment ProductFollowButtonFragment on Product{id followersCount isSubscribed}fragment ProductsPageLayoutSidebarStatus on Product{id slug isClaimed canClaim canEdit viewerPendingTeamRequest{id}}fragment ProductsPageLayoutSidebarLinks on Product{id websiteUrl cleanUrl iosUrl androidUrl githubUrl}fragment ProductsPageLayoutSidebarSocialLinks on Product{id twitterUrl facebookUrl instagramUrl linkedinUrl angellistUrl threadsUrl mediumUrl}fragment ProductsPageLayoutSidebarMakers on Product{id slug makers(first:6){edges{node{id ...UserImage}}}}fragment LaunchDayBadge on TopPostBadge{id post{id name}position period date}fragment ProductsPageLayoutSidebarAwards on Product{id slug isTopProduct goldenKittyBadges(first:1){edges{node{...GoldenKittyBadge}}}awards:badges(first:6 types:[TopPostBadge]){edges{node{...on TopPostBadge{id ...LaunchDayBadge}}}}}fragment ActionBarVoteButtonFragment on Votable{id hasVoted votesCount ...on Post{latestScore}}fragment ProductsPageLayoutSidebarProductDiscussionsPostFragment on Post{id slug name tagline createdAt user{...UserImage}...on Commentable{commentsCount}...ActionBarVoteButtonFragment}fragment ProductsPageLayoutSidebarProductDiscussionsDiscussionThreadFragment on DiscussionThread{id slug title createdAt featuredAt pinned user{...UserImage}...on Commentable{commentsCount}...ActionBarVoteButtonFragment}fragment ProductsPageLayoutSidebarProductDiscussions on Product{id slug discussionForum{id threads(first:3 order:new){edges{node{id commentable{...ProductsPageLayoutSidebarProductDiscussionsPostFragment ...ProductsPageLayoutSidebarProductDiscussionsDiscussionThreadFragment}}}}}}fragment MetaTags on SEOInterface{id meta{canonicalUrl creator description image mobileAppUrl oembedUrl robots title type author authorUrl}}fragment UpcomingBannerFragment on Product{id logoUuid followersCount activeUpcomingEvent{id title description bannerUuid bannerMobileUuid ...UpcomingEventFollowButtonFragment}upcomingBannerFollowers:followers(first:3 order:friends excludeViewer:true){edges{node{id ...UserCircleListFragment}}}}fragment ProductsPageLayoutHeader on Product{id name tagline reviewsCount followersCount isTopProduct shoutoutsToCount headerImage{id ...HeaderImage}goldenKittyBadges(first:1){edges{node{...GoldenKittyBadge}}}...ProductThumbnailFragment ...ReviewStarRatingCTAFragment ...ProductsPageLayoutHeaderNavigator ...ProductsPageLayoutAdminBar ...ProductLayoutHeaderWebsiteButton ...ProductFollowButtonFragment}fragment ProductsPageLayoutSidebar on Product{id ...ProductsPageLayoutSidebarStatus ...ProductsPageLayoutSidebarLinks ...ProductsPageLayoutSidebarSocialLinks ...ProductsPageLayoutSidebarMakers ...ProductsPageLayoutSidebarAwards ...ProductsPageLayoutSidebarProductDiscussions}fragment ProductPageLayoutFirstLaunch on Product{id slug canEdit followersCount activeUpcomingEvent{id title description bannerUuid bannerMobileUuid isFirstLaunch ...MetaTags ...UpcomingEventFollowButtonFragment}upcomingBannerFollowers:followers(first:3 order:friends excludeViewer:true){edges{node{id ...UserCircleListFragment}}}}","notifyOnNetworkStatusChange":false,"nextFetchPolicy":undefined},"id":"3"},{"type":"data","id":"2","result":{"data":{"viewer":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}}}}},{"type":"complete","id":"2"},{"type":"data","id":"3","result":{"data":{"product":{"__typename":"Product","id":"111758","canEdit":false,"logoUuid":"103e2b4b-fdf2-435d-aa24-d901b0eb6e50.gif","followersCount":54,"activeUpcomingEvent":null,"upcomingBannerFollowers":{"__typename":"UserConnection","edges":[{"__typename":"UserEdge","node":{"__typename":"User","id":"105600","name":"Farooq (SF Ali) Zafar","username":"sfali789","avatarUrl":"https://ph-avatars.imgix.net/105600/1b2f2e5c-2281-4acb-9777-3870f97e90e8.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"86386","name":"Michiel","username":"vandeveire","avatarUrl":"https://ph-avatars.imgix.net/86386/original.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"409659","name":"Mario Rodriguez","username":"mariordev","avatarUrl":"https://ph-avatars.imgix.net/409659/67a6680a-8b55-4f0c-8441-09c9a9d7fa01.png"}}]},"name":"npm","tagline":"A package manager for javascript","reviewsCount":70,"isTopProduct":false,"shoutoutsToCount":19,"headerImage":null,"goldenKittyBadges":{"__typename":"GoldenKittyAwardBadgeConnection","edges":[]},"slug":"npm","isNoLongerOnline":false,"isMaker":false,"reviewsRating":4.96,"addonsCount":0,"badges":{"__typename":"Connection","totalCount":8},"websiteUrl":"https://www.npmjs.com","isSubscribed":false,"isClaimed":true,"canClaim":false,"viewerPendingTeamRequest":null,"cleanUrl":"npmjs.com","iosUrl":null,"androidUrl":null,"githubUrl":"https://github.com/spacesvr/spacesvr","twitterUrl":null,"facebookUrl":null,"instagramUrl":"https://www.instagram.com/musehq","linkedinUrl":null,"angellistUrl":"https://angel.co/company/discreetai","threadsUrl":null,"mediumUrl":"https://medium.com/spaces3-0","makers":{"__typename":"UserConnection","edges":[{"__typename":"UserEdge","node":{"__typename":"User","id":"7564949","name":"Dinuda Yaggahavita","username":"dinuda","avatarUrl":"https://ph-avatars.imgix.net/7564949/original.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"3549862","name":"Steven Howard","username":"stevenpaulhoward","avatarUrl":"https://ph-avatars.imgix.net/3549862/7809cc03-1c5d-473d-a50b-28f1a0418a06.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"3549876","name":"Isaiah Anyimi","username":"ianyimi","avatarUrl":"https://ph-avatars.imgix.net/3549876/5fdb9585-2799-4db5-85f4-c6e425d273ad.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"3548778","name":"Veltson Bastien","username":"veltsonbastien","avatarUrl":"https://ph-avatars.imgix.net/3548778/original.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"2051114","name":"Alex Shortt","username":"alexshortt","avatarUrl":"https://ph-avatars.imgix.net/2051114/c0276767-bb4f-4f0e-8cb1-060070953a5d.png"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"2022201","name":"Benjamin Ha","username":"itsbenha","avatarUrl":"https://ph-avatars.imgix.net/2022201/54916f56-e6bc-4408-aca8-7a1c57af331e.jpeg"}}]},"awards":{"__typename":"Connection","edges":[{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"11453","post":{"__typename":"Post","id":"141833","name":"autoComplete.js"},"position":2,"period":"weekly","date":"2018-12-26"}},{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"22508","post":{"__typename":"Post","id":"202333","name":"DiscreetAI"},"position":2,"period":"daily","date":"2020-05-22"}},{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"13078","post":{"__typename":"Post","id":"155902","name":"usernameCLI"},"position":5,"period":"daily","date":"2019-05-19"}},{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"12640","post":{"__typename":"Post","id":"152395","name":"MailtoUI.js"},"position":1,"period":"daily","date":"2019-04-26"}},{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"12421","post":{"__typename":"Post","id":"150612","name":"ReadlineJs"},"position":3,"period":"daily","date":"2019-04-13"}},{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"11392","post":{"__typename":"Post","id":"141833","name":"autoComplete.js"},"position":2,"period":"daily","date":"2018-12-26"}}]},"discussionForum":{"__typename":"DiscussionForumType","id":"79197","threads":{"__typename":"DiscussionForumAssociationTypeConnection","edges":[{"__typename":"DiscussionForumAssociationTypeEdge","node":{"__typename":"DiscussionForumAssociationType","id":"433198","commentable":{"__typename":"Post","id":"487708","slug":"transcript-tracer","name":"transcript-tracer","tagline":"@dinuda/transcript-tracer","createdAt":"2024-09-09T00:01:00-07:00","user":{"__typename":"User","id":"7564949","name":"Dinuda Yaggahavita","username":"dinuda","avatarUrl":"https://ph-avatars.imgix.net/7564949/original.jpeg"},"commentsCount":1,"hasVoted":false,"votesCount":7,"latestScore":8}}},{"__typename":"DiscussionForumAssociationTypeEdge","node":{"__typename":"DiscussionForumAssociationType","id":"411300","commentable":{"__typename":"Post","id":"454193","slug":"windmillcode-quill-emoji","name":"Windmillcode Quill Emoji","tagline":"Quill Emoji plugin for quill 2.0","createdAt":"2024-04-27T00:01:00-07:00","user":{"__typename":"User","id":"6603343","name":"KJ Hickums","username":"the_hick_from_kj","avatarUrl":"https://ph-avatars.imgix.net/6603343/original.png"},"commentsCount":0,"hasVoted":false,"votesCount":2,"latestScore":2}}},{"__typename":"DiscussionForumAssociationTypeEdge","node":{"__typename":"DiscussionForumAssociationType","id":"384761","commentable":{"__typename":"Post","id":"412943","slug":"nmscan","name":"NMScan","tagline":"Locate node_modules folders and calculate size on disk","createdAt":"2023-09-04T11:46:18-07:00","user":{"__typename":"User","id":"4341901","name":"Max Diamond 💎","username":"dmdboi","avatarUrl":"https://ph-avatars.imgix.net/4341901/original.jpeg"},"commentsCount":0,"hasVoted":false,"votesCount":3,"latestScore":3}}}]}},"url":"https://www.producthunt.com/products/npm","isMuted":false}}}},{"type":"complete","id":"3"},{"type":"started","options":{"variables":{"productSlug":"npm"},"skip":false,"fetchPolicy":"cache-first","query":"query ProductAboutPage($productSlug:String!){product(slug:$productSlug excludeTrashed:true){id slug name description ...ProductAboutGalleryFragment ...ProductAboutPageAdUnitFragment ...ProductAboutPageAlternativesFragment ...ProductAboutPageCategoriesFragment ...ProductAboutPageGoldenKittyBadgeFragment ...ProductAboutPageProductStackPromptFragment ...ProductAboutPageRecentLaunchesFragment ...ProductAboutPageReviewPromptFragment ...ProductAboutPageReviewsFragment ...ProductAboutPageShoutoutsFragment}viewer{id ...ShoutoutPromptViewerFragment}}fragment UserImage on User{id name username avatarUrl}fragment PostVoteButtonFragment on Post{id featuredAt updatedAt createdAt embargoPreviewAt product{id isSubscribed}disabledWhenScheduled hasVoted ...on Votable{id votesCount}latestScore launchDayScore}fragment PostItemCommentsButtonFragment on Post{id slug commentsCount}fragment PostItemVoteButtonFragment on Post{id hideVotesCount featuredAt createdAt disabledWhenScheduled embargoPreviewAt latestScore launchDayScore ...on Votable{id hasVoted votesCount}}fragment HomefeedItemPostItemTopicTagsFragment on Post{id topics(first:3){edges{node{id slug name}}}}fragment AdFragment on Ad{id subject post{id slug featuredComment{id body:bodyText user{id ...UserImage}}name updatedAt commentsCount topics(first:3){edges{node{id slug name}}}...PostVoteButtonFragment ...PostItemCommentsButtonFragment ...PostItemVoteButtonFragment ...HomefeedItemPostItemTopicTagsFragment}name tagline thumbnailUuid largeAssetUuid smallAssetUuid url variationId}fragment ProductThumbnailFragment on Product{id name logoUuid isNoLongerOnline}fragment ProductTopPostBadgeFragment on TopPostBadge{id post{id name}position period date}fragment ProductGoldenKittyBadgeFragment on GoldenKittyAwardBadge{id year position category post{id name}}fragment ProductTopPostTopicBadgeFragment on TopPostTopicBadge{id}fragment ProductBadgeFragment on Badge{...on TopPostBadge{id ...ProductTopPostBadgeFragment}...on GoldenKittyAwardBadge{id ...ProductGoldenKittyBadgeFragment}...on TopPostTopicBadge{id ...ProductTopPostTopicBadgeFragment}}fragment UserCircleListFragment on User{id ...UserImage}fragment ProductStackButtonFragment on Product{id name isStacked stacksCount isMaker isViewerTeamMember}fragment ProductStackAlternativeButtonFragment on Product{id name isStacked}fragment PostStatusIconFragment on Post{id productState}fragment PostThumbnailFragment on Post{id name thumbnailImageUuid ...PostStatusIconFragment}fragment PostItemExternalLinkButtonFragment on Post{id shortenedUrl}fragment PostItemFragment on Post{id slug name tagline(respectEmbargo:true)shortenedUrl dailyRank weeklyRank monthlyRank redirectToProduct{id slug}...PostThumbnailFragment ...PostItemVoteButtonFragment ...PostItemCommentsButtonFragment ...PostItemExternalLinkButtonFragment}fragment LaunchDayBadge on TopPostBadge{id post{id name}position period date}fragment GoldenKittyBadge on GoldenKittyAwardBadge{id category position year post{id name}}fragment ProductPagePostBadges on Post{id badges(types:[GoldenKittyAwardBadge TopPostBadge]){edges{node{...LaunchDayBadge ...GoldenKittyBadge}}}}fragment ProductPagePostItem on Post{id createdAt ...PostItemFragment ...ProductPagePostBadges}fragment UserVerifiedBadgeFragment on User{id isAccountVerified}fragment TopProductBadgeFragment on User{id topProductBadge{id product{id slug name ...ProductThumbnailFragment}}}fragment TopHunterBadgeFragment on User{id topHunterBadge{id user{id}}}fragment TopLaunchBadgeFragment on User{id topLaunchBadge{id post{id ...PostThumbnailFragment product{id slug name}}}}fragment ComingSoonUserBadgeFragment on User{id promotableUpcomingEvent{id}}fragment ActionBarVoteButtonFragment on Votable{id hasVoted votesCount ...on Post{latestScore}}fragment ReviewItemDeleteButtonFragment on Review{id canDestroy}fragment ReviewItemEditButtonFragment on Review{id canUpdate product{id name slug}}fragment ReviewItemReplyButtonFragment on Review{id canReply}fragment ReviewItemShareButtonFragment on Review{id url user{id name}}fragment ReviewItemVisibilityToggleFragment on Review{id isHidden}fragment ReviewItemActionBarFragment on Review{id createdAt ...ActionBarVoteButtonFragment ...ReviewItemDeleteButtonFragment ...ReviewItemEditButtonFragment ...ReviewItemReplyButtonFragment ...ReviewItemShareButtonFragment ...ReviewItemVisibilityToggleFragment}fragment ReviewItemFragment on Review{id body rating user{id name username reviewsCount selectedBylineProduct{id slug ...ProductThumbnailFragment}...UserImage ...UserVerifiedBadgeFragment ...TopProductBadgeFragment ...TopHunterBadgeFragment ...TopLaunchBadgeFragment ...ComingSoonUserBadgeFragment}...ReviewItemActionBarFragment}fragment BadgeIconTopPostBadgeFragment on TopPostBadge{id position period date}fragment BadgeIconFragment on Post{id name badges(first:1 types:[TopPostBadge]sort:position){edges{node{__typename ...on TopPostBadge{id ...BadgeIconTopPostBadgeFragment}}}}}fragment ShoutoutCardFragment on PostShoutout{id note createdAt url makerUser{id name username ...UserImage}from{id name slug isTopProduct ...ProductThumbnailFragment}post{id slug name isTopLaunch votesCount redirectToProduct{id slug}...BadgeIconFragment ...PostThumbnailFragment}...ActionBarVoteButtonFragment}fragment ProductAboutGalleryFragment on Product{id name media{id imageUuid mediaType originalHeight originalWidth metadata{platform url videoId interactiveDemoId interactiveDemoType}}screenshots(first:3){edges{node{id imageUuid altText}}}}fragment ProductAboutPageAdUnitFragment on Product{id targetedAd(kind:\"sidebar\"){id ...AdFragment}}fragment ProductAboutPageAlternativesFragment on Product{id slug name alternativesCount alternativeAssociations(first:3){edges{node{id associatedProduct{id slug name reviewsRating reviewsCount categories{id title:name to:path}...ProductThumbnailFragment}}}}}fragment ProductAboutPageCategoriesFragment on Product{id categories{id title:name to:path}}fragment ProductAboutPageGoldenKittyBadgeFragment on Product{id badges(types:GoldenKittyAwardBadge sort:date first:1){edges{node{...ProductBadgeFragment}}}}fragment ProductAboutPageProductStackPromptFragment on Product{id name isMaker isStacked isViewerTeamMember stacksCount stackers(first:3){edges{node{id ...UserCircleListFragment}}}...ProductStackButtonFragment ...ProductStackAlternativeButtonFragment}fragment ProductAboutPageRecentLaunchesFragment on Product{id slug name postsCount posts(first:3 order:DATE filter:VISIBLE){edges{node{id ...ProductPagePostItem}}}}fragment ProductAboutPageReviewPromptFragment on Product{id slug reviewsCount reviewsRating name viewerReview{id}}fragment ProductAboutPageReviewsFragment on Product{id slug reviewsCount reviews(first:5 order:best){edges{node{id ...ReviewItemFragment}}}}fragment ProductAboutPageShoutoutsFragment on Product{id slug name shoutoutsToCount postShoutoutsTo(first:3){edges{node{id ...ShoutoutCardFragment}}}}fragment ShoutoutPromptViewerFragment on Viewer{id isFeaturedPostMaker recentLaunch(includeAllTime:true){id slug}}","notifyOnNetworkStatusChange":false,"nextFetchPolicy":undefined},"id":"4"}]})</script></head><body class="theme-mirror bg-primary"><div id="root-container" class="light"><div class="theme-mirror"><header class="w-full border-b-2 border-gray-200 bg-primary dark:border-gray-800 sticky top-0 z-20 " data-sentry-component="DesktopHeader" data-sentry-source-file="index.tsx"><div class="mx-auto grid max-w-layout grid-cols-[1fr_2fr_1fr] items-center gap-2 bg-primary px-6 py-5 sm:grid-cols-[auto_1fr_auto] lg:px-0"><div class="flex flex-row items-center gap-6 md:gap-8"><a aria-label="Product Hunt Logo" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/"><img loading="lazy" srcSet="https://ph-static.imgix.net/golden-kitty/2024/PHLogoDark.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=max&amp;frame=1&amp;dpr=1 1x, https://ph-static.imgix.net/golden-kitty/2024/PHLogoDark.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=max&amp;frame=1&amp;dpr=2 2x, https://ph-static.imgix.net/golden-kitty/2024/PHLogoDark.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=max&amp;frame=1&amp;dpr=3 3x" src="https://ph-static.imgix.net/golden-kitty/2024/PHLogoDark.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=max&amp;frame=1" style="width:40px;height:40px" alt="Product Hunt logo dark" class="hidden dark:block"/><svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" class="size-10 dark:hidden" data-sentry-element="Logo" data-sentry-source-file="index.tsx"><g fill="none" fill-rule="evenodd"><path fill="#FF6154" d="M40 20c0 11.046-8.954 20-20 20S0 31.046 0 20 8.954 0 20 0s20 8.954 20 20"></path><path fill="#FFF" d="M22.667 20H17v-6h5.667a3 3 0 0 1 0 6m0-10H13v20h4v-6h5.667a7 7 0 1 0 0-14"></path></g></svg></a><div class="text-14 font-normal text-dark-gray relative" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" class="absolute left-4 top-3 size-4" data-sentry-element="SearchIcon" data-sentry-source-file="index.tsx"><path fill="#4B587C" d="M7 14c-3.86 0-7-3.14-7-7s3.14-7 7-7 7 3.14 7 7-3.14 7-7 7M7 2C4.243 2 2 4.243 2 7s2.243 5 5 5 5-2.243 5-5-2.243-5-5-5m8.707 12.293L13.314 11.9a8 8 0 0 1-1.414 1.414l2.393 2.393a.997.997 0 0 0 1.414 0 1 1 0 0 0 0-1.414" opacity="0.5"></path></svg><input readOnly="" data-hj-allow="true" data-test="header-search-input" autoComplete="off" class="input box-border h-10 w-full min-w-[164px] max-w-full appearance-none rounded-full border-0 border-white bg-gray-100 px-10 pl-[40px] text-light-gray placeholder:text-[#85888E] focus:outline-none sm:w-full sm:max-w-[216px] sm:text-base dark:bg-gray-dark-800 dark:text-tertiary" placeholder="Search" title="Search" name="q"/></div></div><nav aria-label="Main Navigation"><ul class="flex flex-row items-center justify-center gap-6 md:gap-7 lg:gap-8"><li class="group relative list-none" data-test="header-nav-link-launches" data-sentry-component="HeaderLink" data-sentry-source-file="index.tsx"><a class="cursor-pointer text-16 group flex flex-row items-center gap-1 font-semibold text-secondary transition-all duration-300 group-hover:text-brand-500" href="/leaderboard/daily/2025/2/17?ref=header_nav">Launches<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" class="size-4 stroke-gray-500 transition-all duration-300 group-hover:-rotate-90 group-hover:stroke-brand-500"><path d="M3.5 6.25 7 9.75l3.5-3.5"></path></svg></a><div class="absolute top-4 z-100 hidden w-[350px] translate-y-2 opacity-0 transition-all duration-300 group-hover:block group-hover:translate-y-0 group-hover:opacity-100 left-0" data-sentry-component="HoverMenu" data-sentry-source-file="index.tsx"><div class="mt-6 overflow-hidden rounded-lg bg-primary shadow-lg dark:shadow-[0_2px_8px_rgba(0,0,0,0.3)]"><div class="z-100 px-4 py-2"><a data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx" href="/coming-soon?ref=header_nav"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(213, 243, 221, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#d5f3dd" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#599D6B" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(#ComingSoon_svg__a)"><path d="M12 21.25a8.25 8.25 0 1 0 0-16.5 8.25 8.25 0 0 0 0 16.5m-6.75-18-3 3m16.5-3 3 3"></path><path d="M12 7.75V13h5.25"></path></g><defs><clipPath id="ComingSoon_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Coming soon</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Upcoming launches to watch</div></div></div></a><a data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx" href="/leaderboard/daily/2025/2/17?ref=header_nav"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(255, 230, 228, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#ffe6e4" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#F86C60" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(#LaunchArchive_svg__a)"><path d="M9 17.25s-.75 3-5.25 3c0-4.5 3-5.25 3-5.25m11.167-4.416c2.25-2.25 2.39-4.927 2.32-6.12a.75.75 0 0 0-.7-.7c-1.194-.071-3.869.068-6.12 2.32L7.5 12l4.5 4.5zM12.75 6.75H6.97a.75.75 0 0 0-.53.22l-3.22 3.22a.75.75 0 0 0 .425 1.272L7.5 12"></path><path d="M17.25 11.25v5.78a.75.75 0 0 1-.22.53l-3.22 3.22a.75.75 0 0 1-1.272-.425L12 16.5"></path></g><defs><clipPath id="LaunchArchive_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Launch archive</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Most-loved launches by the community</div></div></div></a><a data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx" href="/launch?ref=header_nav"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(229, 239, 255, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#e5efff" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#3979E3" stroke-width="1.5" clip-path="url(#LaunchGuide_svg__a)"><path stroke-miterlimit="10" d="M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z"></path><path stroke-linecap="round" stroke-linejoin="round" d="m16.5 7.5-6 3-3 6 6-3z"></path></g><defs><clipPath id="LaunchGuide_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Launch Guide</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Checklists and pro tips for launching</div></div></div></a></div></div></div></li><li class="group relative" data-sentry-component="ProductsNavigation" data-sentry-source-file="index.tsx"><a class="group flex flex-row items-center gap-1 text-16 font-semibold text-secondary transition-all duration-300 group-hover:text-brand-500" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/categories?ref=header_nav">Products<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" class="size-4 stroke-gray-500 transition-all duration-300 group-hover:-rotate-90 group-hover:stroke-brand-500" data-sentry-element="ArrowDown" data-sentry-source-file="index.tsx"><path d="M3.5 6.25 7 9.75l3.5-3.5"></path></svg></a></li><li class="group relative list-none" data-test="header-nav-link-news" data-sentry-component="HeaderLink" data-sentry-source-file="index.tsx"><a class="cursor-pointer text-16 group flex flex-row items-center gap-1 font-semibold text-secondary transition-all duration-300 group-hover:text-brand-500" href="/newsletters?ref=header_nav">News<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" class="size-4 stroke-gray-500 transition-all duration-300 group-hover:-rotate-90 group-hover:stroke-brand-500"><path d="M3.5 6.25 7 9.75l3.5-3.5"></path></svg></a><div class="absolute top-4 z-100 hidden w-[350px] translate-y-2 opacity-0 transition-all duration-300 group-hover:block group-hover:translate-y-0 group-hover:opacity-100 left-0" data-sentry-component="HoverMenu" data-sentry-source-file="index.tsx"><div class="mt-6 overflow-hidden rounded-lg bg-primary shadow-lg dark:shadow-[0_2px_8px_rgba(0,0,0,0.3)]"><div class="z-100 px-4 py-2"><a data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx" href="/newsletters?ref=header_nav"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(234, 233, 255, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#eae9ff" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#6D68D4" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(#Newsletter_svg__a)"><path d="M3 5.25h18V18a.75.75 0 0 1-.75.75H3.75A.75.75 0 0 1 3 18z"></path><path d="m21 5.25-9 8.25-9-8.25"></path></g><defs><clipPath id="Newsletter_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Newsletter</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">The best of Product Hunt, every day</div></div></div></a><a data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx" href="/stories?ref=header_nav"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(255, 233, 244, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#ffe9f4" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#F468AC" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(#Stories_svg__a)"><path d="M12 8.25a3 3 0 0 1 3-3h6a.75.75 0 0 1 .75.75v12a.75.75 0 0 1-.75.75h-6a3 3 0 0 0-3 3M2.25 18a.75.75 0 0 0 .75.75h6a3 3 0 0 1 3 3V8.25a3 3 0 0 0-3-3H3a.75.75 0 0 0-.75.75zM15 9h3.75M15 12h3.75M15 15h3.75"></path></g><defs><clipPath id="Stories_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Stories</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Tech news, interviews, and tips from makers</div></div></div></a><a data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx" href="/changes?ref=header_nav"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(207, 252, 219, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#cffcdb" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#579167" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(#Changelog_svg__a)"><path d="M10.5 10.5h6m-6 3h6m3-9.75h-15a.75.75 0 0 0-.75.75v15c0 .414.336.75.75.75h15a.75.75 0 0 0 .75-.75v-15a.75.75 0 0 0-.75-.75m-12 0v16.5"></path></g><defs><clipPath id="Changelog_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Changelog</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">New Product Hunt features and releases</div></div></div></a></div></div></div></li><li class="group relative list-none" data-test="header-nav-link-forums" data-sentry-component="HeaderLink" data-sentry-source-file="index.tsx"><a class="cursor-pointer text-16 group flex flex-row items-center gap-1 font-semibold text-secondary transition-all duration-300 group-hover:text-brand-500" href="/forums?ref=header_nav">Forums<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" class="size-4 stroke-gray-500 transition-all duration-300 group-hover:-rotate-90 group-hover:stroke-brand-500"><path d="M3.5 6.25 7 9.75l3.5-3.5"></path></svg></a><div class="absolute top-4 z-100 hidden w-[350px] translate-y-2 opacity-0 transition-all duration-300 group-hover:block group-hover:translate-y-0 group-hover:opacity-100 left-0" data-sentry-component="HoverMenu" data-sentry-source-file="index.tsx"><div class="mt-6 overflow-hidden rounded-lg bg-primary shadow-lg dark:shadow-[0_2px_8px_rgba(0,0,0,0.3)]"><div class="z-100 px-4 py-2"><a data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx" href="/forums?ref=header_nav"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(255, 233, 248, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#ffe9f8" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#DE62B6" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(#Discussions_svg__a)"><path d="M6.71 13.5 3 16.5v-12a.75.75 0 0 1 .75-.75h12a.75.75 0 0 1 .75.75v8.25a.75.75 0 0 1-.75.75z"></path><path d="M7.5 13.5v3.75a.75.75 0 0 0 .75.75h9.04L21 21V9a.75.75 0 0 0-.75-.75H16.5"></path></g><defs><clipPath id="Discussions_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Forums</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Ask questions, find support, and connect</div></div></div></a><a data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx" href="/visit-streaks?ref=header_nav"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(255, 228, 228, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#ffe4e4" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#F10202" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(#Streaks_svg__a)"><path d="M12.75 18c1.875-.316 3.432-1.875 3.75-3.75"></path><path d="m10.5 9 2.463-6.75C14.987 3.93 19.5 8.264 19.5 13.5a7.5 7.5 0 0 1-15 0c0-2.866 1.352-5.462 2.906-7.5z"></path></g><defs><clipPath id="Streaks_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Streaks</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">The most active community members</div></div></div></a><a href="https://lu.ma/producthunt" target="_blank" data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(207, 242, 216, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#cff2d8" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#3F9E58" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(#Event_svg__a)"><path d="M19.5 3.75h-15a.75.75 0 0 0-.75.75v15c0 .414.336.75.75.75h15a.75.75 0 0 0 .75-.75v-15a.75.75 0 0 0-.75-.75m-3-1.5v3m-9-3v3m-3.75 3h16.5"></path><path d="m8.625 14.25 2.25 2.25 4.5-4.5"></path></g><defs><clipPath id="Event_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Events</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Meet others online and in-person</div></div></div></a></div></div></div></li><li class="group relative list-none hidden md:block" data-test="header-nav-link-advertise" data-sentry-component="HeaderLink" data-sentry-source-file="index.tsx"><a class="cursor-pointer text-16 group flex flex-row items-center gap-1 font-semibold text-secondary transition-all duration-300 group-hover:text-brand-500" href="/sponsor?ref=header_nav">Advertise</a></li></ul></nav><!--$--><div class="flex flex-row items-center justify-end gap-4" data-sentry-component="Fallback" data-sentry-source-file="UserSection.tsx"><a class="text-16 font-normal text-dark-gray flex h-10 items-center gap-1 rounded-full border-2 border-gray-200 px-4 align-middle text-16 font-semibold !text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 sm:px-3 md:px-4 dark:border-gray-dark-800 dark:hover:bg-gray-dark-800" data-test="header-nav-link-subscribe" href="/newsletters?ref=header_nav&amp;campaign=weekly_newsletter&amp;source=header_nav"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20" class="size-4" data-sentry-element="MailIcon" data-sentry-source-file="index.tsx"><path stroke="#344054" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.667" d="m11.453 2.195 6.274 4.077c.221.144.332.216.412.313a.8.8 0 0 1 .158.289c.036.12.036.252.036.516v6.11c0 1.4 0 2.1-.272 2.635a2.5 2.5 0 0 1-1.093 1.092c-.535.273-1.235.273-2.635.273H5.667c-1.4 0-2.1 0-2.635-.273a2.5 2.5 0 0 1-1.093-1.092c-.272-.535-.272-1.235-.272-2.635V7.39c0-.264 0-.396.036-.516a.8.8 0 0 1 .157-.29c.08-.096.192-.168.413-.312l6.274-4.077m2.906 0c-.526-.342-.789-.513-1.072-.58a1.7 1.7 0 0 0-.762 0c-.283.067-.546.238-1.072.58m2.906 0 5.16 3.354c.574.372.86.559.96.795a.83.83 0 0 1 0 .645c-.1.237-.386.423-.96.796l-5.16 3.354c-.526.342-.789.513-1.072.58a1.7 1.7 0 0 1-.762 0c-.283-.067-.546-.238-1.072-.58l-5.16-3.354c-.574-.373-.86-.56-.96-.796a.83.83 0 0 1 0-.645c.1-.236.386-.423.96-.795l5.16-3.354m9.37 13.638-5.536-5m-4.762 0-5.536 5"></path></svg>Subscribe</a><div class="text-16 font-semibold text-white flex h-10 cursor-pointer items-center gap-1 whitespace-nowrap rounded-full bg-brand-500 px-4" data-test="header-nav-link-sign-in" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20" class="size-4" data-sentry-element="SignInIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#SignInIcon_svg__a)"><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.667" d="M2.782 5.833a8.333 8.333 0 1 1 0 8.333M10 13.334 13.333 10m0 0L10 6.667M13.333 10H1.667"></path></g><defs><clipPath id="SignInIcon_svg__a"><path fill="#fff" d="M0 0h20v20H0z"></path></clipPath></defs></svg>Sign in</div></div><!--/$--></div></header></div><div class="theme-mirror"></div><div class="mx-4 my-8 flex flex-col justify-center gap-8 md:mx-8 md:flex-row"><main class="flex flex-col gap-8 md:max-w-[900px]"><section class="flex flex-col gap-4 sm:flex-row sm:items-center"><video style="width:64px;height:64px" class="rounded rounded-xl block" aria-label="npm" width="64" height="64" poster="https://ph-files.imgix.net/103e2b4b-fdf2-435d-aa24-d901b0eb6e50.gif?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;fm=webp&amp;w=64&amp;h=64&amp;fit=max&amp;frame=1&amp;dpr=2" muted="" loop="" disableRemotePlayback="" disablePictureInPicture="" playsInline="" preload="none"><source src="https://ph-files.imgix.net/103e2b4b-fdf2-435d-aa24-d901b0eb6e50.gif?fm=mp4&amp;crop=max&amp;w=64&amp;h=64&amp;dpr=2#t=0.001" type="video/mp4"/><source src="https://ph-files.imgix.net/103e2b4b-fdf2-435d-aa24-d901b0eb6e50.gif?fm=webm&amp;crop=max&amp;w=64&amp;h=64&amp;dpr=2#t=0.001" type="video/webm"/></video><div><h1 class="text-24 font-semibold text-dark-gray text-gray-900" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">npm</h1><div class="text-18 font-normal text-dark-gray text-gray-700" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">A package manager for javascript</div><span class="flex flex-row items-center gap-2"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1" class="cursor-pointer styles_tinyStar__6JueJ"><input hidden="" type="radio" value="1"/><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2" class="cursor-pointer styles_tinyStar__6JueJ"><input hidden="" type="radio" value="2"/><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3" class="cursor-pointer styles_tinyStar__6JueJ"><input hidden="" type="radio" value="3"/><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4" class="cursor-pointer styles_tinyStar__6JueJ"><input hidden="" type="radio" value="4"/><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5" class="cursor-pointer styles_tinyStar__6JueJ"><input hidden="" type="radio" value="5"/><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><a class="text-14 font-medium text-dark-gray text-gray-700" target="_blank" href="/products/npm/reviews">70 reviews</a><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><a class="text-14 font-medium text-dark-gray text-gray-700" target="_blank" href="/products/npm/shoutouts">19 shoutouts</a><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><div class="text-14 font-medium text-dark-gray text-gray-700" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">54 followers</div></span></div><div class="my-auto flex flex-row items-center gap-3 sm:ml-auto"><a href="https://www.npmjs.com/?ref=producthunt" target="_blank" data-test="visit-website-button" class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" rel="noreferrer" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx">Visit website</a><button type="button" data-test="product-follow-button" class="inline-block max-h-11 rounded-full border-2 border-brand-500 bg-brand-500 px-4 py-2 text-center text-16 font-semibold text-white transition-all duration-300" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx">Follow</button></div></section><ul class="flex flex-row" data-sentry-component="Navigation" data-sentry-source-file="index.tsx"><li><a class="text-14 font-semibold text-dark-gray rounded-full px-4 py-2 text-gray-500 transition-colors duration-300 hover:bg-gray-50 hover:text-gray-700 bg-gray-50 text-gray-700" data-test="product-navigation-item-overview" href="/products/npm">Overview</a></li><li><a class="text-14 font-semibold text-dark-gray rounded-full px-4 py-2 text-gray-500 transition-colors duration-300 hover:bg-gray-50 hover:text-gray-700" data-test="product-navigation-item-launches" href="/products/npm/launches">Launches</a></li><li><a class="text-14 font-semibold text-dark-gray rounded-full px-4 py-2 text-gray-500 transition-colors duration-300 hover:bg-gray-50 hover:text-gray-700" data-test="product-navigation-item-shoutouts" href="/products/npm/shoutouts">Shoutouts</a></li><li><a class="text-14 font-semibold text-dark-gray rounded-full px-4 py-2 text-gray-500 transition-colors duration-300 hover:bg-gray-50 hover:text-gray-700" data-test="product-navigation-item-reviews" href="/products/npm/reviews">Reviews</a></li><li><a class="text-14 font-semibold text-dark-gray rounded-full px-4 py-2 text-gray-500 transition-colors duration-300 hover:bg-gray-50 hover:text-gray-700" data-test="product-navigation-item-team" href="/products/npm/makers">Team</a></li><li><a class="text-14 font-semibold text-dark-gray rounded-full px-4 py-2 text-gray-500 transition-colors duration-300 hover:bg-gray-50 hover:text-gray-700" data-test="product-navigation-item-awards" href="/products/npm/awards">Awards</a></li><li><a href="#" data-test="product-more-btn" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><span class="text-14 font-semibold text-dark-gray rounded-full px-4 py-2 text-gray-500 transition-colors duration-300 hover:bg-gray-50 hover:text-gray-700" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">More</span></a></li><li class="ml-auto"><button class="px-4 sm:px-2 textButton_textButton__SIhmH" data-test="collection-product-111758-collect-text" aria-label="Add to Collection" data-sentry-component="CollectionAddButton" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" class="size-7 sm:size-5" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 13V7m-3 3h6m4 11V7.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C16.72 3 15.88 3 14.2 3H9.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C5 5.28 5 6.12 5 7.8V21l7-4z"></path></svg></button></li></ul><!--$?--><template id="B:0"></template><div class="styles_container__lNjYm *:self-start" data-sentry-component="Loader" data-sentry-source-file="index.tsx"><div class="styles_loader__IcPYn" style="width:30px;height:30px"></div></div><!--/$--><div class="mb-10 border-none" data-sentry-component="SidebarFooter" data-sentry-source-file="index.tsx"><ul class="m-0 flex flex-row flex-wrap gap-1 p-0"><li class="text-12 text-secondary hover:underline"><a href="/stories">Blog</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/newsletters">Newsletter</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/questions">Questions</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/forums">Forums</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/categories">Product Categories</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/apps">Apps</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/about">About</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="https://help.producthunt.com">FAQ</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/legal#terms">Terms</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/legal#privacy">Privacy and Cookies</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="https://x.com/ProductHunt" target="_blank" rel="nofollow noopener noreferrer">X.com</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="https://www.facebook.com/producthunt" target="_blank" rel="nofollow noopener noreferrer">Facebook</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="https://www.instagram.com/producthunt" target="_blank" rel="nofollow noopener noreferrer">Instagram</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="https://www.linkedin.com/company/producthunt" target="_blank" rel="nofollow noopener noreferrer">LinkedIn</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="https://www.youtube.com/channel/UCOtU18DT8csQVqHPT1wtYzw" target="_blank" rel="nofollow noopener noreferrer">YouTube</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/sponsor?utm_content=sf">Advertise</a></li></ul><div class="text-10 font-normal text-dark-gray uppercase mt-2 text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">© <!-- -->2025<!-- --> Product Hunt</div></div></main><aside class="flex w-full flex-col gap-8 md:w-[280px] md:min-w-[280px]"><div class="flex flex-col gap-4" data-sentry-component="Status" data-sentry-source-file="index.tsx"><div class="flex flex-row items-center justify-between"><div class="text-18 font-semibold text-dark-gray text-gray-900" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Product status</div><div><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" data-sentry-element="QuestionIcon" data-sentry-source-file="index.tsx"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.667" d="M5.303 5.25a1.75 1.75 0 0 1 3.4.583c0 1.167-1.75 1.75-1.75 1.75M7 9.916h.006M12.834 7A5.833 5.833 0 1 1 1.167 7a5.833 5.833 0 0 1 11.667 0"></path></svg></div></div><div class="text-16 font-semibold text-dark-gray text-gray-900" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Claimed</div></div><div class="flex flex-col gap-4" data-sentry-component="AwardsCard" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray text-gray-900" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Awards</div><div class="flex flex-row flex-wrap gap-4"><div><img loading="lazy" srcSet="https://ph-static.imgix.net/badges/weeklybadge2.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=1 1x, https://ph-static.imgix.net/badges/weeklybadge2.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=2 2x, https://ph-static.imgix.net/badges/weeklybadge2.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=3 3x" src="https://ph-static.imgix.net/badges/weeklybadge2.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1" style="width:32px;height:35px" alt="autoComplete.js was ranked #2 of the week for December 26th, 2018"/></div><div><img loading="lazy" srcSet="https://ph-static.imgix.net/badges/dailybadge2.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=1 1x, https://ph-static.imgix.net/badges/dailybadge2.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=2 2x, https://ph-static.imgix.net/badges/dailybadge2.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=3 3x" src="https://ph-static.imgix.net/badges/dailybadge2.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1" style="width:32px;height:35px" alt="DiscreetAI was ranked #2 of the day for May 22nd, 2020"/></div><div><img loading="lazy" srcSet="https://ph-static.imgix.net/badges/dailybadge5.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=1 1x, https://ph-static.imgix.net/badges/dailybadge5.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=2 2x, https://ph-static.imgix.net/badges/dailybadge5.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=3 3x" src="https://ph-static.imgix.net/badges/dailybadge5.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1" style="width:32px;height:35px" alt="usernameCLI was ranked #5 of the day for May 19th, 2019"/></div><div><img loading="lazy" srcSet="https://ph-static.imgix.net/badges/dailybadge1.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=1 1x, https://ph-static.imgix.net/badges/dailybadge1.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=2 2x, https://ph-static.imgix.net/badges/dailybadge1.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=3 3x" src="https://ph-static.imgix.net/badges/dailybadge1.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1" style="width:32px;height:35px" alt="MailtoUI.js was ranked #1 of the day for April 26th, 2019"/></div><div><img loading="lazy" srcSet="https://ph-static.imgix.net/badges/dailybadge3.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=1 1x, https://ph-static.imgix.net/badges/dailybadge3.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=2 2x, https://ph-static.imgix.net/badges/dailybadge3.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=3 3x" src="https://ph-static.imgix.net/badges/dailybadge3.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1" style="width:32px;height:35px" alt="ReadlineJs was ranked #3 of the day for April 13th, 2019"/></div><div><img loading="lazy" srcSet="https://ph-static.imgix.net/badges/dailybadge2.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=1 1x, https://ph-static.imgix.net/badges/dailybadge2.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=2 2x, https://ph-static.imgix.net/badges/dailybadge2.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=3 3x" src="https://ph-static.imgix.net/badges/dailybadge2.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1" style="width:32px;height:35px" alt="autoComplete.js was ranked #2 of the day for December 26th, 2018"/></div></div><a class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx" href="/products/npm/awards">All Awards</a></div><div class="flex flex-col" data-sentry-component="ProductDiscussions" data-sentry-source-file="index.tsx"><div class="text-18 font-semibold text-dark-gray mb-4 text-gray-900" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Forum Threads</div><div class="mb-8 flex flex-col gap-8"><div class="flex flex-col gap-2" data-sentry-component="PostThread" data-sentry-source-file="index.tsx"><div class=""><a class="flex flex-row items-center gap-1.5" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@dinuda"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/7564949/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/7564949/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/7564949/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/7564949/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1" style="width:16px;height:16px" alt="Dinuda Yaggahavita" class="rounded-full"/><div class="text-14 font-medium text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Dinuda Yaggahavita</div></a></div><a class="text-16 font-medium text-dark-gray styles_noOfLines-3__lMAXQ block" href="/p/npm/transcript-tracer">transcript-tracer<!-- --> — <!-- -->@dinuda/transcript-tracer</a><div class="flex flex-row justify-between"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="post-487708-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M2 5.2c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C3.52 2 4.08 2 5.2 2h5.6c1.12 0 1.68 0 2.108.218a2 2 0 0 1 .874.874C14 3.52 14 4.08 14 5.2v5.6c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8z"></path><path d="M7.2 5.733a1 1 0 0 1 1.6 0l2 2.667A1 1 0 0 1 10 10H6a1 1 0 0 1-.8-1.6z"></path></svg><span class="hidden sm:block">Upvote</span> (8)</button><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><a class="text-16 font-normal text-dark-gray flex flex-row items-center gap-2" href="/p/npm/transcript-tracer"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" fill="none" viewBox="0 0 15 14" class="stroke-light-gray" data-sentry-element="CommentIcon" data-sentry-source-file="index.tsx"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12.921 6.708a4.958 4.958 0 0 1-6.74 4.629 2 2 0 0 0-.192-.068.5.5 0 0 0-.109-.014 1.4 1.4 0 0 0-.177.012l-2.987.309c-.285.03-.427.044-.511-.007a.3.3 0 0 1-.136-.204c-.016-.097.052-.223.188-.475l.955-1.766c.078-.146.117-.218.135-.288a.5.5 0 0 0 .016-.19c-.005-.072-.037-.166-.1-.353a4.958 4.958 0 1 1 9.658-1.585"></path></svg><div class="text-14 font-normal text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">1</div></a><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><time dateTime="2024-09-09T00:01:00-07:00" title="Monday, September 9th 2024, 7:01:00 AM"><div class="text-14 font-normal text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">5mo ago</div></time></div></div><div class="flex flex-col gap-2" data-sentry-component="PostThread" data-sentry-source-file="index.tsx"><div class=""><a class="flex flex-row items-center gap-1.5" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@the_hick_from_kj"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/6603343/original.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/6603343/original.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/6603343/original.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/6603343/original.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1" style="width:16px;height:16px" alt="KJ Hickums" class="rounded-full"/><div class="text-14 font-medium text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">KJ Hickums</div></a></div><a class="text-16 font-medium text-dark-gray styles_noOfLines-3__lMAXQ block" href="/p/npm/windmillcode-quill-emoji">Windmillcode Quill Emoji<!-- --> — <!-- -->Quill Emoji plugin for quill 2.0</a><div class="flex flex-row justify-between"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="post-454193-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M2 5.2c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C3.52 2 4.08 2 5.2 2h5.6c1.12 0 1.68 0 2.108.218a2 2 0 0 1 .874.874C14 3.52 14 4.08 14 5.2v5.6c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8z"></path><path d="M7.2 5.733a1 1 0 0 1 1.6 0l2 2.667A1 1 0 0 1 10 10H6a1 1 0 0 1-.8-1.6z"></path></svg><span class="hidden sm:block">Upvote</span> (2)</button><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><a class="text-16 font-normal text-dark-gray flex flex-row items-center gap-2" href="/p/npm/windmillcode-quill-emoji"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" fill="none" viewBox="0 0 15 14" class="stroke-light-gray" data-sentry-element="CommentIcon" data-sentry-source-file="index.tsx"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12.921 6.708a4.958 4.958 0 0 1-6.74 4.629 2 2 0 0 0-.192-.068.5.5 0 0 0-.109-.014 1.4 1.4 0 0 0-.177.012l-2.987.309c-.285.03-.427.044-.511-.007a.3.3 0 0 1-.136-.204c-.016-.097.052-.223.188-.475l.955-1.766c.078-.146.117-.218.135-.288a.5.5 0 0 0 .016-.19c-.005-.072-.037-.166-.1-.353a4.958 4.958 0 1 1 9.658-1.585"></path></svg><div class="text-14 font-normal text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">0</div></a><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><time dateTime="2024-04-27T00:01:00-07:00" title="Saturday, April 27th 2024, 7:01:00 AM"><div class="text-14 font-normal text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">10mo ago</div></time></div></div><div class="flex flex-col gap-2" data-sentry-component="PostThread" data-sentry-source-file="index.tsx"><div class=""><a class="flex flex-row items-center gap-1.5" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@dmdboi"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/4341901/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/4341901/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/4341901/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/4341901/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1" style="width:16px;height:16px" alt="Max Diamond 💎" class="rounded-full"/><div class="text-14 font-medium text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Max Diamond 💎</div></a></div><a class="text-16 font-medium text-dark-gray styles_noOfLines-3__lMAXQ block" href="/p/npm/nmscan">NMScan<!-- --> — <!-- -->Locate node_modules folders and calculate size on disk</a><div class="flex flex-row justify-between"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="post-412943-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M2 5.2c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C3.52 2 4.08 2 5.2 2h5.6c1.12 0 1.68 0 2.108.218a2 2 0 0 1 .874.874C14 3.52 14 4.08 14 5.2v5.6c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8z"></path><path d="M7.2 5.733a1 1 0 0 1 1.6 0l2 2.667A1 1 0 0 1 10 10H6a1 1 0 0 1-.8-1.6z"></path></svg><span class="hidden sm:block">Upvote</span> (3)</button><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><a class="text-16 font-normal text-dark-gray flex flex-row items-center gap-2" href="/p/npm/nmscan"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" fill="none" viewBox="0 0 15 14" class="stroke-light-gray" data-sentry-element="CommentIcon" data-sentry-source-file="index.tsx"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12.921 6.708a4.958 4.958 0 0 1-6.74 4.629 2 2 0 0 0-.192-.068.5.5 0 0 0-.109-.014 1.4 1.4 0 0 0-.177.012l-2.987.309c-.285.03-.427.044-.511-.007a.3.3 0 0 1-.136-.204c-.016-.097.052-.223.188-.475l.955-1.766c.078-.146.117-.218.135-.288a.5.5 0 0 0 .016-.19c-.005-.072-.037-.166-.1-.353a4.958 4.958 0 1 1 9.658-1.585"></path></svg><div class="text-14 font-normal text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">0</div></a><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><time dateTime="2023-09-04T11:46:18-07:00" title="Monday, September 4th 2023, 6:46:18 PM"><div class="text-14 font-normal text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">1yr ago</div></time></div></div></div><a class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 mb-4 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx" href="/p/npm">View all</a><a class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx" href="/forums/new?category=npm"><div class="flex flex-row items-center justify-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20"><path stroke="#475467" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.667" d="M10 11.25v-5m-2.5 2.5h5M5.833 15v1.946c0 .444 0 .666.091.78.08.1.2.157.326.157.146 0 .32-.139.666-.416l1.988-1.59c.406-.325.61-.488.836-.603a2.5 2.5 0 0 1 .634-.223c.25-.051.51-.051 1.03-.051H13.5c1.4 0 2.1 0 2.635-.273a2.5 2.5 0 0 0 1.092-1.092C17.5 13.1 17.5 12.4 17.5 11V6.5c0-1.4 0-2.1-.273-2.635a2.5 2.5 0 0 0-1.092-1.093C15.6 2.5 14.9 2.5 13.5 2.5h-7c-1.4 0-2.1 0-2.635.272a2.5 2.5 0 0 0-1.093 1.093C2.5 4.4 2.5 5.1 2.5 6.5v5.167c0 .775 0 1.162.085 1.48a2.5 2.5 0 0 0 1.768 1.768c.318.085.705.085 1.48.085"></path></svg><div class="text-sm font-semibold text-secondary">Start new thread</div></div></a></div><div class="flex flex-col gap-4" data-sentry-component="Links" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray text-gray-900" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Links</div><a href="https://www.npmjs.com/?ref=producthunt" rel="noreferrer" class="text-16 font-semibold text-dark-gray flex flex-row items-center gap-2 !text-brand-500" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="20" fill="none" viewBox="0 0 21 20" class="fill-brand-500" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path fill="currentColor" d="M18.102 6.46a4.05 4.05 0 0 1-1.196 2.876l-2.21 2.21a4.063 4.063 0 0 1-5.743 0 .625.625 0 1 1 .883-.882 2.82 2.82 0 0 0 3.976 0l2.211-2.21a2.813 2.813 0 1 0-3.976-3.977L10.5 6.023a.625.625 0 0 1-.883-.882l1.547-1.547a4.07 4.07 0 0 1 6.938 2.867ZM10.5 13.977l-1.547 1.547a2.813 2.813 0 0 1-3.976-3.976l2.21-2.211a2.82 2.82 0 0 1 3.977 0 .625.625 0 0 0 .883-.883 4.06 4.06 0 0 0-5.742 0l-2.211 2.211a4.063 4.063 0 1 0 5.742 5.742l1.547-1.547a.625.625 0 0 0-.883-.883"></path></svg>npmjs.com</a><a href="https://github.com/spacesvr/spacesvr?ref=producthunt" rel="noreferrer" class="text-16 font-semibold text-dark-gray flex flex-row items-center gap-2 !text-gray-900" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="19" fill="none" viewBox="0 0 20 19" class="fill-brand-500" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path fill="currentColor" d="M10 0A9.5 9.5 0 0 0 .5 9.5c0 4.199 2.727 7.762 6.498 9.025.475.076.627-.218.627-.475v-1.605c-2.631.57-3.192-1.274-3.192-1.274-.437-1.101-1.054-1.396-1.054-1.396-.865-.589.066-.57.066-.57.95.066 1.454.979 1.454.979.826 1.444 2.223 1.016 2.764.788.085-.617.332-1.035.598-1.273-2.108-.238-4.322-1.054-4.322-4.674 0-1.054.361-1.9.979-2.575-.096-.237-.428-1.225.095-2.508 0 0 .798-.256 2.612.97A9 9 0 0 1 10 4.598c.807 0 1.624.104 2.375.314 1.815-1.226 2.613-.97 2.613-.97.522 1.283.19 2.271.095 2.508.617.675.978 1.52.978 2.575 0 3.629-2.223 4.427-4.341 4.665.341.294.655.874.655 1.757v2.603c0 .256.152.56.636.475C16.784 17.252 19.5 13.699 19.5 9.5A9.5 9.5 0 0 0 10 0"></path></svg>GitHub</a></div><!--$--><div class="flex flex-col gap-4" data-sentry-component="SocialLinks" data-sentry-source-file="Content.tsx"><div class="text-14 font-semibold text-dark-gray text-gray-900" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Social</div><a href="https://www.instagram.com/musehq" rel="noreferrer" class="text-16 font-semibold text-dark-gray flex flex-row items-center gap-2 !text-gray-900" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="19" fill="none" viewBox="0 0 20 19" data-sentry-element="Icon" data-sentry-source-file="Content.tsx"><path fill="currentColor" d="M9.997 6.332A3.175 3.175 0 0 0 6.83 9.5a3.175 3.175 0 0 0 3.168 3.168A3.175 3.175 0 0 0 13.165 9.5a3.175 3.175 0 0 0-3.168-3.168M19.5 9.5c0-1.312.012-2.612-.062-3.921-.074-1.521-.42-2.871-1.533-3.984C16.79.481 15.442.136 13.921.062 12.61-.01 11.31.001 10 .001 8.688 0 7.388-.011 6.079.062 4.558.136 3.208.483 2.095 1.595.981 2.71.636 4.058.562 5.58.49 6.89.501 8.19.501 9.498c0 1.31-.012 2.613.061 3.922.074 1.521.421 2.871 1.533 3.983 1.115 1.115 2.462 1.46 3.983 1.533C7.39 19.011 8.69 19 10 19c1.312 0 2.612.012 3.921-.062 1.521-.074 2.871-.42 3.983-1.533 1.115-1.114 1.46-2.462 1.533-3.983.076-1.31.062-2.61.062-3.921Zm-9.502 4.874A4.867 4.867 0 0 1 5.123 9.5a4.867 4.867 0 0 1 4.874-4.875A4.87 4.87 0 0 1 14.872 9.5a4.867 4.867 0 0 1-4.875 4.874Zm5.074-8.81c-.63 0-1.138-.508-1.138-1.138a1.137 1.137 0 1 1 1.944.805 1.14 1.14 0 0 1-.806.333"></path></svg>Instagram</a><a href="https://medium.com/spaces3-0" rel="noreferrer" class="text-16 font-semibold text-dark-gray flex flex-row items-center gap-2 !text-gray-900" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="19" fill="none" viewBox="0 0 20 19" data-sentry-element="Icon" data-sentry-source-file="Content.tsx"><clipPath id="Medium_svg__a"><path d="M0 0h20v19H0z"></path></clipPath><g fill="currentColor" clip-path="url(#Medium_svg__a)"><path d="M10.646 9.553c0 2.714-2.185 4.913-4.88 4.913s-4.88-2.2-4.88-4.913S3.072 4.64 5.767 4.64s4.88 2.2 4.88 4.913m5.352 0c0 2.555-1.093 4.626-2.44 4.626s-2.44-2.071-2.44-4.626c0-2.554 1.092-4.625 2.44-4.625s2.44 2.07 2.44 4.625m2.189 0c0 2.288-.384 4.144-.858 4.144s-.858-1.855-.858-4.144c0-2.288.384-4.143.858-4.143s.858 1.855.858 4.143"></path></g></svg>Medium</a><a href="https://angel.co/company/discreetai" rel="noreferrer" class="text-16 font-semibold text-dark-gray flex flex-row items-center gap-2 !text-gray-900" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="19" fill="none" viewBox="0 0 20 19" data-sentry-element="Icon" data-sentry-source-file="Content.tsx"><g fill="currentColor" clip-path="url(#Wellfound_svg__a)"><path d="M2.772 14.976 0 5.6h2.574l1.637 6.738L5.993 5.6h2.585l1.782 6.738L11.986 5.6h2.574l-2.804 9.377h-2.74l-1.73-6.77-1.773 6.77zm14.728.114c.823 0 1.5-.708 1.5-1.574s-.667-1.575-1.5-1.575c-.824 0-1.502.71-1.502 1.575 0 .866.678 1.575 1.501 1.575m.001-6.446c.823 0 1.5-.71 1.5-1.575 0-.866-.667-1.575-1.5-1.575-.824 0-1.502.71-1.502 1.575 0 .866.678 1.575 1.501 1.575"></path></g><defs><clipPath id="Wellfound_svg__a"><path fill="#fff" d="M0 5.495h19v9.596H0z"></path></clipPath></defs></svg>Wellfound</a></div><!--/$--><div class="flex flex-col gap-4" data-sentry-component="Makers" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray text-gray-900" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Makers</div><div class="flex flex-row"><div class="rounded-full border-2 border-white"><div class=""><img loading="lazy" srcSet="https://ph-avatars.imgix.net/7564949/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/7564949/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/7564949/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/7564949/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Dinuda Yaggahavita" class="rounded-full"/></div></div><div class="rounded-full border-2 border-white -ml-3"><div class=""><img loading="lazy" srcSet="https://ph-avatars.imgix.net/3549862/7809cc03-1c5d-473d-a50b-28f1a0418a06.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/3549862/7809cc03-1c5d-473d-a50b-28f1a0418a06.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/3549862/7809cc03-1c5d-473d-a50b-28f1a0418a06.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/3549862/7809cc03-1c5d-473d-a50b-28f1a0418a06.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Steven Howard" class="rounded-full"/></div></div><div class="rounded-full border-2 border-white -ml-3"><div class=""><img loading="lazy" srcSet="https://ph-avatars.imgix.net/3549876/5fdb9585-2799-4db5-85f4-c6e425d273ad.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/3549876/5fdb9585-2799-4db5-85f4-c6e425d273ad.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/3549876/5fdb9585-2799-4db5-85f4-c6e425d273ad.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/3549876/5fdb9585-2799-4db5-85f4-c6e425d273ad.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Isaiah Anyimi" class="rounded-full"/></div></div><div class="rounded-full border-2 border-white -ml-3"><div class=""><img loading="lazy" srcSet="https://ph-avatars.imgix.net/3548778/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/3548778/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/3548778/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/3548778/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Veltson Bastien" class="rounded-full"/></div></div><div class="rounded-full border-2 border-white -ml-3"><div class=""><img loading="lazy" srcSet="https://ph-avatars.imgix.net/2051114/c0276767-bb4f-4f0e-8cb1-060070953a5d.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/2051114/c0276767-bb4f-4f0e-8cb1-060070953a5d.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/2051114/c0276767-bb4f-4f0e-8cb1-060070953a5d.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/2051114/c0276767-bb4f-4f0e-8cb1-060070953a5d.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Alex Shortt" class="rounded-full"/></div></div><div class="rounded-full border-2 border-white -ml-3"><div class=""><img loading="lazy" srcSet="https://ph-avatars.imgix.net/2022201/54916f56-e6bc-4408-aca8-7a1c57af331e.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/2022201/54916f56-e6bc-4408-aca8-7a1c57af331e.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/2022201/54916f56-e6bc-4408-aca8-7a1c57af331e.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/2022201/54916f56-e6bc-4408-aca8-7a1c57af331e.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Benjamin Ha" class="rounded-full"/></div></div></div><a class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx" href="/products/npm/makers">All Makers</a></div></aside></div><div class="theme-mirror"></div><!--$--><!--/$--></div><div id="root-portal"></div><script>(self.__next_s=self.__next_s||[]).push([0,{"data-sentry-element":"Script","data-sentry-source-file":"layout.tsx","children":"\n !function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error(\"Segment snippet included twice.\");else{analytics.invoked=!0;analytics.methods=[\"trackSubmit\",\"trackClick\",\"trackLink\",\"trackForm\",\"pageview\",\"identify\",\"reset\",\"group\",\"track\",\"ready\",\"alias\",\"debug\",\"page\",\"once\",\"off\",\"on\",\"addSourceMiddleware\",\"addIntegrationMiddleware\",\"setAnonymousId\",\"addDestinationMiddleware\"];analytics.factory=function(e){return function(){var t=Array.prototype.slice.call(arguments);t.unshift(e);analytics.push(t);return analytics}};for(var e=0;e<analytics.methods.length;e++){var key=analytics.methods[e];analytics[key]=analytics.factory(key)}analytics.load=function(key,e){var t=document.createElement(\"script\");t.type=\"text/javascript\";t.defer=!0;t.src=\"https://segment-cdn.producthunt.com/\";var n=document.getElementsByTagName(\"script\")[0];n.parentNode.insertBefore(t,n);analytics._loadOptions=e};analytics._writeKey=\"dtyjquswuq\";analytics.SNIPPET_VERSION=\"4.15.2\";\n analytics.load(\"dtyjquswuq\");\n }}();\n","id":"segment"}])</script><script src="/_next/static/chunks/webpack-cfdef94efa45d47a.js" async=""></script><div hidden id="S:0"><template id="P:1"></template><script type="application/ld+json" data-sentry-component="StructuredData" data-sentry-source-file="structuredData.tsx">[{"@context":"http://schema.org","@type":"WebApplication","name":"npm","description":"Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of JavaScript code sharing, and with more than one million packages, the largest software registry in the world. Our other tools and services take the Registry, and the work you do around it, to the next level.","datePublished":"2020-01-26T03:13:11.265-08:00","dateModified":"2025-02-08T02:01:34.445-08:00","image":"https://ph-files.imgix.net/103e2b4b-fdf2-435d-aa24-d901b0eb6e50.gif?auto=format","screenshot":["https://ph-files.imgix.net/10827b10-b9d4-4308-aa95-526ec0796092.png?auto=format&fit=crop"],"aggregateRating":{"@type":"AggregateRating","ratingCount":70,"ratingValue":"4.96","worstRating":1,"bestRating":5},"operatingSystem":"Web","offers":{"@type":"Offer","price":0,"priceCurrency":"USD"},"applicationCategory":"Open Source","author":[{"@type":"Person","name":"Dinuda Yaggahavita","image":"https://ph-avatars.imgix.net/7564949/original.jpeg?auto=format&fit=crop&crop=faces&w=100&h=100","url":"https://www.producthunt.com/@dinuda"},{"@type":"Person","name":"Steven Howard","image":"https://ph-avatars.imgix.net/3549862/7809cc03-1c5d-473d-a50b-28f1a0418a06.jpeg?auto=format&fit=crop&crop=faces&w=100&h=100","url":"https://www.producthunt.com/@stevenpaulhoward"},{"@type":"Person","name":"Isaiah Anyimi","image":"https://ph-avatars.imgix.net/3549876/5fdb9585-2799-4db5-85f4-c6e425d273ad.jpeg?auto=format&fit=crop&crop=faces&w=100&h=100","url":"https://www.producthunt.com/@ianyimi"}]},{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.producthunt.com/"},{"@type":"ListItem","position":2,"name":"npm","item":"https://www.producthunt.com/products/npm"}]}]</script></div><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/8f719edb11eed1a0.css\",\"style\"]\n2:HL[\"/_next/static/css/d5e9c100ec07c291.css\",\"style\"]\n3:HL[\"/_next/static/css/0bee508d3bad07c8.css\",\"style\"]\n4:HL[\"/_next/static/css/c99d6c2024146960.css\",\"style\"]\n5:HL[\"/_next/static/css/4afdd19ce6c2ffda.css\",\"style\"]\n6:HL[\"/_next/static/css/45be9f74b83be42e.css\",\"style\"]\n7:HL[\"/_next/static/css/bf9552dc979224e1.css\",\"style\"]\n8:HL[\"/_next/static/css/886a1217ff9fd009.css\",\"style\"]\n9:HL[\"/_next/static/css/d31cd169126c5461.css\",\"style\"]\na:HL[\"/_next/static/css/8b472d8ca8da25a1.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"b:I[14360,[],\"\"]\ne:I[37568,[\"95501\",\"static/chunks/c16f53c3-48451ac2b1dbb4cf.js\",\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"38997\",\"static/chunks/38997-3ec4d552be6df75b.js\",\"33531\",\"static/chunks/33531-acabdae7789b7d36.js\",\"47931\",\"static/chunks/47931-b395de54841771b6.js\",\"63874\",\"static/chunks/63874-3d5e5624fdebf890.js\",\"49428\",\"static/chunks/49428-0a1d686850695b6b.js\",\"84400\",\"static/chunks/84400-eddd67ab8f0451c0.js\",\"75588\",\"static/chunks/75588-faf4b8cce7f62b7c.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"73882\",\"static/chunks/73882-86d296e7924d8950.js\",\"3842\",\"static/chunks/3842-a8176129994dc984.js\",\"20828\",\"static/chunks/20828-0d71157315f6d814.js\",\"16010\",\"static/chunks/16010-3a87789f9e78e8fe.js\",\"32493\",\"static/chunks/app/(main)/products/%5Bslug%5D/(layout)/layout-54a6d5750b91b403.js\"],\"default\",1]\nf:I[69257,[],\"\"]\n11:I[14857,[],\"\"]\n12:I[47971,[\"95501\",\"static/chunks/c16f53c3-48451ac2b1dbb4cf.js\",\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"38997\",\"static/chunks/38997-3ec4d552be6df75b.js\",\"33531\",\"static/chunks/33531-acabdae7789b7d36.js\",\"47931\",\"static/chunks/47931-b395de54841771b6.js\",\"50125\",\"static/chunks/50125-e28270261385c894.js\",\"82970\",\"static/chunks/82970-a7daac786c5af3dc.js\",\"42822\",\"static/chunks/42822-99f6529dd3dcc810.js\",\"75588\",\"static/chunks/75588-faf4b8cce7f62b7c.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"73882\",\"static/chunks/73882-86d296e7924d8950.js\",\"3842\",\"static"])</script><script>self.__next_f.push([1,"/chunks/3842-a8176129994dc984.js\",\"1574\",\"static/chunks/1574-767209b786dd9ea5.js\",\"4095\",\"static/chunks/app/(main)/layout-debac8568c4d5c24.js\"],\"default\",1]\n13:I[54123,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"42551\",\"static/chunks/42551-a0fa86bb9d6d8fd7.js\",\"75588\",\"static/chunks/75588-faf4b8cce7f62b7c.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"86883\",\"static/chunks/app/(main)/not-found-fefe08edc4dfcd5c.js\"],\"default\"]\n14:I[59641,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-faf4b8cce7f62b7c.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\",\"static/chunks/app/layout-c29e892b2aebc046.js\"],\"AppRouter\"]\n15:I[56058,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-faf4b8cce7f62b7c.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\",\"static/chunks/app/layout-c29e892b2aebc046.js\"],\"Us"])</script><script>self.__next_f.push([1,"erAgentProvider\"]\n16:I[34480,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-faf4b8cce7f62b7c.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\",\"static/chunks/app/layout-c29e892b2aebc046.js\"],\"NavigationProgressProvider\"]\n17:I[87406,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-faf4b8cce7f62b7c.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\",\"static/chunks/app/layout-c29e892b2aebc046.js\"],\"default\"]\n18:I[43079,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"31462\",\"static/chunks/app/(cards)/layout-84f2033be3b366db.js\"],\"default\"]\n19:I[57851,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"597"])</script><script>self.__next_f.push([1,"93\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-faf4b8cce7f62b7c.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\",\"static/chunks/app/layout-c29e892b2aebc046.js\"],\"ErrorBoundary\"]\n1a:I[87906,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-faf4b8cce7f62b7c.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\",\"static/chunks/app/layout-c29e892b2aebc046.js\"],\"default\"]\n1b:I[87512,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-faf4b8cce7f62b7c.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\",\"static/chunks/app/layout-c29e892b2aebc046.js\"],\"\"]\n1d:I[40779,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"59793\",\"static/"])</script><script>self.__next_f.push([1,"chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-faf4b8cce7f62b7c.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\",\"static/chunks/app/layout-c29e892b2aebc046.js\"],\"GoogleAnalytics\"]\n1e:I[31635,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-faf4b8cce7f62b7c.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\",\"static/chunks/app/layout-c29e892b2aebc046.js\"],\"GoogleTagManager\"]\n20:I[25575,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"12103\",\"static/chunks/12103-257c54f0017a6619.js\",\"75588\",\"static/chunks/75588-faf4b8cce7f62b7c.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"16470\",\"static/chunks/app/global-error-d77dd3563650f7c0.js\"],\"default\"]\n10:[\"slug\",\"npm\",\"d\"]\n1c:T449,\n !function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console\u0026\u0026console.error\u0026\u0026console.error(\"Segment snippet included twice.\");else{analytics.invoked=!0;analytics.methods=[\"trackSubmit\",\"trackClick\",\"trackLink\",\"trackForm\",\"pageview\",\"identify\",\"reset\",\"group\",\"track\",\"ready\",\"alias\",\"debug\",\"page\",\"once\",\"off\",\"on\",\"addSourceMiddleware\",\"addIntegrationMiddleware\",\"setAnonymousId\",\"addDestinationMiddleware\"];analytic"])</script><script>self.__next_f.push([1,"s.factory=function(e){return function(){var t=Array.prototype.slice.call(arguments);t.unshift(e);analytics.push(t);return analytics}};for(var e=0;e\u003canalytics.methods.length;e++){var key=analytics.methods[e];analytics[key]=analytics.factory(key)}analytics.load=function(key,e){var t=document.createElement(\"script\");t.type=\"text/javascript\";t.defer=!0;t.src=\"https://segment-cdn.producthunt.com/\";var n=document.getElementsByTagName(\"script\")[0];n.parentNode.insertBefore(t,n);analytics._loadOptions=e};analytics._writeKey=\"dtyjquswuq\";analytics.SNIPPET_VERSION=\"4.15.2\";\n analytics.load(\"dtyjquswuq\");\n }}();\n21:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$Lb\",null,{\"buildId\":\"Rv_rxG9i8KJv-HSGu9Ccg\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"products\",\"npm\"],\"initialTree\":[\"\",{\"children\":[\"(main)\",{\"children\":[\"products\",{\"children\":[[\"slug\",\"npm\",\"d\"],{\"children\":[\"(layout)\",{\"children\":[\"__PAGE__\",{}]}]}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"(main)\",{\"children\":[\"products\",{\"children\":[[\"slug\",\"npm\",\"d\"],{\"children\":[\"(layout)\",{\"children\":[\"__PAGE__\",{},[[\"$Lc\",\"$Ld\",null],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d31cd169126c5461.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8b472d8ca8da25a1.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$Lf\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(main)\",\"children\",\"products\",\"children\",\"$10\",\"children\",\"(layout)\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}],\"params\":{\"slug\":\"npm\"}}]],null],null]},[null,[\"$\",\"$Lf\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(main)\",\"children\",\"products\",\"children\",\"$10\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[null,[\"$\",\"$Lf\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(main)\",\"children\",\"products\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4afdd19ce6c2ffda.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/45be9f74b83be42e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/bf9552dc979224e1.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/886a1217ff9fd009.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$Lf\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(main)\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$\",\"$L13\",null,{\"code\":404,\"data-sentry-element\":\"SystemError\",\"data-sentry-component\":\"NotFoundPage\",\"data-sentry-source-file\":\"not-found.tsx\"}],\"notFoundStyles\":[]}],\"params\":{}}]],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8f719edb11eed1a0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d5e9c100ec07c291.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0bee508d3bad07c8.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c99d6c2024146960.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"data-sentry-component\":\"RootLayout\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"property\":\"fb:app_id\",\"content\":\"1467820943460899\",\"data-sentry-element\":\"meta\",\"data-sentry-source-file\":\"layout.tsx\"}],[\"$\",\"link\",null,{\"rel\":\"search\",\"type\":\"application/opensearchdescription+xml\",\"title\":\"ProductHunt\",\"href\":\"/osd.xml\"}]]}],[\"$\",\"body\",null,{\"className\":\"theme-mirror bg-primary\",\"children\":[[\"$\",\"div\",null,{\"id\":\"root-container\",\"className\":\"light\",\"children\":[\"$\",\"$L14\",null,{\"data-sentry-element\":\"AppRouter\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[\"$\",\"$L15\",null,{\"userAgent\":\"$undefined\",\"data-sentry-element\":\"UserAgentProvider\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[\"$\",\"$L16\",null,{\"data-sentry-element\":\"NavigationProgressProvider\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[\"$\",\"$L17\",null,{\"ApolloWrapper\":\"$18\",\"serverSideRendered\":true,\"data-sentry-element\":\"ClientApp\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[\"$\",\"$L19\",null,{\"data-sentry-element\":\"ErrorBoundary\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[\"$\",\"$Lf\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]}]}]}]}],[\"$\",\"div\",null,{\"id\":\"root-portal\"}],[[\"$\",\"$L1a\",null,{}],[\"$\",\"$L1b\",null,{\"id\":\"segment\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"$1c\"},\"data-sentry-element\":\"Script\",\"data-sentry-source-file\":\"layout.tsx\"}],false,[[\"$\",\"$L1d\",null,{\"gaId\":\"G-WZ46833KH9\"}],[\"$\",\"$L1e\",null,{\"gtmId\":\"G-WZ46833KH9\"}]]],false]}]]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L1f\"],\"globalErrorComponent\":\"$20\",\"missingSlots\":\"$W21\"}]\n"])</script><script>self.__next_f.push([1,"22:I[28528,[\"95501\",\"static/chunks/c16f53c3-48451ac2b1dbb4cf.js\",\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"38997\",\"static/chunks/38997-3ec4d552be6df75b.js\",\"33531\",\"static/chunks/33531-acabdae7789b7d36.js\",\"47931\",\"static/chunks/47931-b395de54841771b6.js\",\"27310\",\"static/chunks/27310-8e2d673066adb4f0.js\",\"70324\",\"static/chunks/70324-8230e335f3ed18ba.js\",\"50125\",\"static/chunks/50125-e28270261385c894.js\",\"27450\",\"static/chunks/27450-2640cd910f08e0b7.js\",\"75588\",\"static/chunks/75588-faf4b8cce7f62b7c.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"73882\",\"static/chunks/73882-86d296e7924d8950.js\",\"3842\",\"static/chunks/3842-a8176129994dc984.js\",\"64358\",\"static/chunks/64358-3a036ca9a12b7dc5.js\",\"70219\",\"static/chunks/70219-6c6a1efdb8e29f64.js\",\"20828\",\"static/chunks/20828-0d71157315f6d814.js\",\"65241\",\"static/chunks/65241-4a57a320b91d3aa5.js\",\"29363\",\"static/chunks/29363-61fe3c712dc7fee9.js\",\"49813\",\"static/chunks/49813-723a643f50dbb004.js\",\"59416\",\"static/chunks/59416-97b259ac7ad0f3f4.js\",\"8665\",\"static/chunks/8665-55d9c87de88424b2.js\",\"3685\",\"static/chunks/3685-dcaaaf5280478dbc.js\",\"919\",\"static/chunks/app/(main)/products/%5Bslug%5D/(layout)/page-64a55217db2c2ac4.js\"],\"default\"]\n23:T784,[{\"@context\":\"http://schema.org\",\"@type\":\"WebApplication\",\"name\":\"npm\",\"description\":\"Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of JavaScript code sharing, and with more than one million packages, the largest software registry in the world. Our other tools and services take the Registry, and the work you do around it, to the next level.\",\"datePublished\":\"2020-01-26T03:13:11.265-08:00\",\"da"])</script><script>self.__next_f.push([1,"teModified\":\"2025-02-08T02:01:34.445-08:00\",\"image\":\"https://ph-files.imgix.net/103e2b4b-fdf2-435d-aa24-d901b0eb6e50.gif?auto=format\",\"screenshot\":[\"https://ph-files.imgix.net/10827b10-b9d4-4308-aa95-526ec0796092.png?auto=format\u0026fit=crop\"],\"aggregateRating\":{\"@type\":\"AggregateRating\",\"ratingCount\":70,\"ratingValue\":\"4.96\",\"worstRating\":1,\"bestRating\":5},\"operatingSystem\":\"Web\",\"offers\":{\"@type\":\"Offer\",\"price\":0,\"priceCurrency\":\"USD\"},\"applicationCategory\":\"Open Source\",\"author\":[{\"@type\":\"Person\",\"name\":\"Dinuda Yaggahavita\",\"image\":\"https://ph-avatars.imgix.net/7564949/original.jpeg?auto=format\u0026fit=crop\u0026crop=faces\u0026w=100\u0026h=100\",\"url\":\"https://www.producthunt.com/@dinuda\"},{\"@type\":\"Person\",\"name\":\"Steven Howard\",\"image\":\"https://ph-avatars.imgix.net/3549862/7809cc03-1c5d-473d-a50b-28f1a0418a06.jpeg?auto=format\u0026fit=crop\u0026crop=faces\u0026w=100\u0026h=100\",\"url\":\"https://www.producthunt.com/@stevenpaulhoward\"},{\"@type\":\"Person\",\"name\":\"Isaiah Anyimi\",\"image\":\"https://ph-avatars.imgix.net/3549876/5fdb9585-2799-4db5-85f4-c6e425d273ad.jpeg?auto=format\u0026fit=crop\u0026crop=faces\u0026w=100\u0026h=100\",\"url\":\"https://www.producthunt.com/@ianyimi\"}]},{\"@context\":\"http://schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://www.producthunt.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"npm\",\"item\":\"https://www.producthunt.com/products/npm\"}]}]d:[[\"$\",\"$L22\",null,{}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$23\"},\"data-sentry-component\":\"StructuredData\",\"data-sentry-source-file\":\"structuredData.tsx\"}]]\n"])</script><script>self.__next_f.push([1,"1f:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, minimum-scale=1\"}],[\"$\",\"meta\",\"1\",{\"name\":\"theme-color\",\"content\":\"#ffffff\"}],[\"$\",\"meta\",\"2\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"3\",{\"children\":\" npm - Product Information, Latest Updates, and Reviews 2025 | Product Hunt\"}],[\"$\",\"meta\",\"4\",{\"name\":\"description\",\"content\":\"Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of JavaScript code sharing, and with more than one million packages, the largest software registry in the world. Our other tools and services take the Registry, and the work you do around it, to the next level.\"}],[\"$\",\"link\",\"5\",{\"rel\":\"author\",\"href\":\"https://www.producthunt.com/@dinuda\"}],[\"$\",\"meta\",\"6\",{\"name\":\"author\",\"content\":\"Dinuda Yaggahavita\"}],[\"$\",\"link\",\"7\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",\"8\",{\"name\":\"fb:app_id\",\"content\":\"1467820943460899\"}],[\"$\",\"link\",\"9\",{\"rel\":\"canonical\",\"href\":\"https://www.producthunt.com/products/npm\"}],[\"$\",\"link\",\"10\",{\"rel\":\"alternate\",\"type\":\"application/atom+xml\",\"title\":\"Product Hunt - All newest Products\",\"href\":\"https://www.producthunt.com/feed\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:title\",\"content\":\" npm - Product Information, Latest Updates, and Reviews 2025 | Product Hunt\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:description\",\"content\":\"Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of JavaScript code sharing, and with more than one million packages, the largest software registry in the world. Our other tools and services take the Registry, and the work you do around it, to the next level.\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:url\",\"content\":\"https://www.producthunt.com/products/npm\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:site_name\",\"content\":\"Product Hunt\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:image\",\"content\":\"https://ph-files.imgix.net/10827b10-b9d4-4308-aa95-526ec0796092.png?auto=format\u0026fit=crop\u0026frame=1\u0026h=512\u0026w=1024\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:site\",\"content\":\"@producthunt\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:creator\",\"content\":\"@dinuda\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:title\",\"content\":\" npm - Product Information, Latest Updates, and Reviews 2025 | Product Hunt\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:description\",\"content\":\"Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of JavaScript code sharing, and with more than one million packages, the largest software registry in the world. Our other tools and services take the Registry, and the work you do around it, to the next level.\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:image\",\"content\":\"https://ph-files.imgix.net/10827b10-b9d4-4308-aa95-526ec0796092.png?auto=format\u0026fit=crop\u0026frame=1\u0026h=512\u0026w=1024\"}],[\"$\",\"link\",\"24\",{\"rel\":\"icon\",\"href\":\"https://ph-static.imgix.net/ph-favicon-brand-500.ico?auto=format\"}],[\"$\",\"link\",\"25\",{\"rel\":\"apple-touch-icon-precomposed\",\"href\":\"https://ph-static.imgix.net/ph-ios-icon.png?auto=format\"}],[\"$\",\"link\",\"26\",{\"rel\":\"chrome-webstore-item\",\"href\":\"https://producthunt.app.link/extension\"}]]\n"])</script><script>self.__next_f.push([1,"c:null\n"])</script><script>(window[Symbol.for("ApolloSSRDataTransport")] ??= []).push({"rehydrate":{":R37pmfnnkptpkq:":{"data":{"product":{"__typename":"Product","id":"111758","slug":"npm","name":"npm","description":"Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of JavaScript code sharing, and with more than one million packages, the largest software registry in the world. Our other tools and services take the Registry, and the work you do around it, to the next level.","media":[{"__typename":"Media","id":"1717434","imageUuid":"7dc96d5c-0592-4a50-aef7-846c4e0a031d.jpeg","mediaType":"video","originalHeight":150,"originalWidth":200,"metadata":{"__typename":"MediaMetadata","platform":"youtube","url":"https://www.youtube.com/watch?v=So4EHwmbT48","videoId":"So4EHwmbT48","interactiveDemoId":null,"interactiveDemoType":null}},{"__typename":"Media","id":"1717433","imageUuid":"10827b10-b9d4-4308-aa95-526ec0796092.png","mediaType":"image","originalHeight":568,"originalWidth":651,"metadata":{"__typename":"MediaMetadata","platform":null,"url":null,"videoId":null,"interactiveDemoId":null,"interactiveDemoType":null}}],"screenshots":{"__typename":"ProductScreenshotConnection","edges":[]},"targetedAd":null,"alternativesCount":46,"alternativeAssociations":{"__typename":"ProductAssociationConnection","edges":[{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"301029","associatedProduct":{"__typename":"Product","id":"116530","slug":"typeform","name":"Typeform","reviewsRating":4.88,"reviewsCount":164,"categories":[{"__typename":"ProductCategory","id":"103","title":"Survey and form builders","to":"/categories/survey-and-form-builders"}],"logoUuid":"0d00ffee-a16a-4c89-8ba6-a7249963f194.png","isNoLongerOnline":false}}},{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"147080","associatedProduct":{"__typename":"Product","id":"110596","slug":"parabola","name":"Parabola","reviewsRating":4.57,"reviewsCount":27,"categories":[{"__typename":"ProductCategory","id":"37","title":"Team collaboration software","to":"/categories/team-collaboration"},{"__typename":"ProductCategory","id":"83","title":"Data analysis tools","to":"/categories/data-analysis"},{"__typename":"ProductCategory","id":"84","title":"Data visualization tools","to":"/categories/data-visualization"},{"__typename":"ProductCategory","id":"87","title":"Automation tools","to":"/categories/automation"}],"logoUuid":"88102704-1eb1-4198-bd64-e8997409e2b1.png","isNoLongerOnline":false}}},{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"537820","associatedProduct":{"__typename":"Product","id":"450721","slug":"drata","name":"Drata","reviewsRating":4.93,"reviewsCount":161,"categories":[{"__typename":"ProductCategory","id":"87","title":"Automation tools","to":"/categories/automation"},{"__typename":"ProductCategory","id":"892","title":"Compliance software","to":"/categories/compliance-software"}],"logoUuid":"3fb11916-7ee1-48bb-bb3c-b35797644dfb.gif","isNoLongerOnline":false}}}]},"categories":[{"__typename":"ProductCategory","id":"87","title":"Automation tools","to":"/categories/automation"},{"__typename":"ProductCategory","id":"827","title":"Command line tools","to":"/categories/command-line-tools"},{"__typename":"ProductCategory","id":"1090","title":"Databases and backend frameworks","to":"/categories/databases-and-backend"}],"badges":{"__typename":"Connection","edges":[]},"isMaker":false,"isStacked":false,"isViewerTeamMember":null,"stacksCount":266,"stackers":{"__typename":"UserConnection","edges":[{"__typename":"UserEdge","node":{"__typename":"User","id":"7315255","name":"Huisong Li","username":"huisong_li","avatarUrl":"https://ph-avatars.imgix.net/7315255/28ab582e-0e55-44a0-a61c-e9c3f8f7e770.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"4858710","name":"Hidayt Rahman","username":"hidaytrahman","avatarUrl":"https://ph-avatars.imgix.net/4858710/697ec7d4-e0ab-4522-b543-b3dd225c8462.png"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"7551422","name":"Rana Akif","username":"rana_akif","avatarUrl":"https://ph-avatars.imgix.net/7551422/original.png"}}]},"postsCount":23,"posts":{"__typename":"PostConnection","edges":[{"__typename":"PostEdge","node":{"__typename":"Post","id":"487708","createdAt":"2024-09-09T00:01:00-07:00","slug":"transcript-tracer","name":"transcript-tracer","tagline":"@dinuda/transcript-tracer","shortenedUrl":"/r/p/487708","dailyRank":null,"weeklyRank":null,"monthlyRank":null,"redirectToProduct":{"__typename":"Product","id":"111758","slug":"npm"},"badges":{"__typename":"Connection","edges":[]},"thumbnailImageUuid":"59bb029c-fdde-4cc6-907e-5d27002217ab.png","hideVotesCount":false,"featuredAt":null,"disabledWhenScheduled":true,"embargoPreviewAt":null,"latestScore":8,"launchDayScore":4,"commentsCount":1,"productState":"default","hasVoted":false,"votesCount":7}},{"__typename":"PostEdge","node":{"__typename":"Post","id":"454193","createdAt":"2024-04-27T00:01:00-07:00","slug":"windmillcode-quill-emoji","name":"Windmillcode Quill Emoji","tagline":"Quill Emoji plugin for quill 2.0","shortenedUrl":"/r/p/454193","dailyRank":null,"weeklyRank":null,"monthlyRank":null,"redirectToProduct":{"__typename":"Product","id":"111758","slug":"npm"},"badges":{"__typename":"Connection","edges":[]},"thumbnailImageUuid":"075a20ad-89bc-448b-88b3-c7fe0ffe4bcd.png","hideVotesCount":false,"featuredAt":null,"disabledWhenScheduled":true,"embargoPreviewAt":null,"latestScore":2,"launchDayScore":2,"commentsCount":0,"productState":"default","hasVoted":false,"votesCount":2}},{"__typename":"PostEdge","node":{"__typename":"Post","id":"412943","createdAt":"2023-09-04T11:46:18-07:00","slug":"nmscan","name":"NMScan","tagline":"Locate node_modules folders and calculate size on disk","shortenedUrl":"/r/p/412943","dailyRank":null,"weeklyRank":null,"monthlyRank":null,"redirectToProduct":{"__typename":"Product","id":"111758","slug":"npm"},"badges":{"__typename":"Connection","edges":[]},"thumbnailImageUuid":"574e606b-9fb8-4aa3-862c-f7883e0de71a.png","hideVotesCount":false,"featuredAt":null,"disabledWhenScheduled":true,"embargoPreviewAt":null,"latestScore":3,"launchDayScore":3,"commentsCount":0,"productState":"default","hasVoted":false,"votesCount":3}}]},"reviewsCount":70,"reviewsRating":4.96,"viewerReview":null,"reviews":{"__typename":"ReviewConnection","edges":[{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"679440","body":"there is no alternative....","rating":5,"user":{"__typename":"User","id":"2952349","name":"anton tishchenko","username":"anton_tishchenko","reviewsCount":2,"selectedBylineProduct":{"__typename":"Product","id":"513632","slug":"easy-mockup-figma-plugin","name":"Easy Mockup Figma Plugin","logoUuid":"adb78612-a1d9-4bb7-9c1e-c151f3ae3d48.png","isNoLongerOnline":false},"avatarUrl":"https://ph-avatars.imgix.net/2952349/original.jpeg","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"createdAt":"2023-09-24T02:37:40-07:00","hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111758","name":"npm","slug":"npm"},"canReply":false,"url":"https://www.producthunt.com/products/npm/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"155672","body":"\u003cp\u003eIs there any plan to translate according to browser language?\u003c/p\u003e","rating":5,"user":{"__typename":"User","id":"1208466","name":"Ricardo Alamino","username":"ricalamino","reviewsCount":27,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/1208466/6ab3e007-3987-4886-88f0-284723a5543f.png","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"createdAt":"2019-04-26T08:59:02-07:00","hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111758","name":"npm","slug":"npm"},"canReply":false,"url":"https://www.producthunt.com/products/npm/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"554996","body":":)","rating":5,"user":{"__typename":"User","id":"4858710","name":"Hidayt Rahman","username":"hidaytrahman","reviewsCount":12,"selectedBylineProduct":{"__typename":"Product","id":"600340","slug":"chepo","name":"Chepo","logoUuid":"2b1ceefa-bf07-46ab-b678-60fa1f7804d4.png","isNoLongerOnline":false},"avatarUrl":"https://ph-avatars.imgix.net/4858710/697ec7d4-e0ab-4522-b543-b3dd225c8462.png","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"createdAt":"2022-11-30T09:51:13-08:00","hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111758","name":"npm","slug":"npm"},"canReply":false,"url":"https://www.producthunt.com/products/npm/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"806582","body":"Despite its advanced capabilities, the tool is intuitive and easy to navigate, which made onboarding quick and seamless","rating":5,"user":{"__typename":"User","id":"7601721","name":"Noman Zahoor","username":"noman_zahoor1","reviewsCount":65,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/7601721/original.png","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"createdAt":"2024-09-23T04:38:11-07:00","hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111758","name":"npm","slug":"npm"},"canReply":false,"url":"https://www.producthunt.com/products/npm/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"261798","body":null,"rating":null,"user":{"__typename":"User","id":"1743246","name":"Tom Medema","username":"tom4","reviewsCount":159,"selectedBylineProduct":{"__typename":"Product","id":"99510","slug":"bubbles","name":"Bubbles","logoUuid":"bca93505-dd1b-452e-89d3-1ad1ae53f598.gif","isNoLongerOnline":false},"avatarUrl":"https://ph-avatars.imgix.net/1743246/f47b2ea7-3d10-4440-a2fa-0caf008667ad.png","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"createdAt":"2020-05-22T05:03:10-07:00","hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111758","name":"npm","slug":"npm"},"canReply":false,"url":"https://www.producthunt.com/products/npm/reviews","isHidden":false}}]},"shoutoutsToCount":19,"postShoutoutsTo":{"__typename":"PostShoutoutConnection","edges":[{"__typename":"PostShoutoutEdge","node":{"__typename":"PostShoutout","id":"28051","note":"Easy, simple, and universal!","createdAt":"2024-09-05T02:36:03-07:00","url":"https://www.producthunt.com/products/npm/shoutouts/28051","makerUser":{"__typename":"User","id":"5740570","name":"Anton Koenig","username":"antonckoenig","avatarUrl":"https://ph-avatars.imgix.net/5740570/original.jpeg"},"from":{"__typename":"Product","id":"604656","name":"VideoGen","slug":"videogen","isTopProduct":false,"logoUuid":"95acedf1-574b-47dc-ba46-b6c970f16893.x-icon","isNoLongerOnline":false},"post":{"__typename":"Post","id":"486924","slug":"videogen-yc-s24","name":"VideoGen (YC S24)","isTopLaunch":false,"votesCount":1160,"redirectToProduct":{"__typename":"Product","id":"604656","slug":"videogen"},"badges":{"__typename":"Connection","edges":[{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"4609468","position":1,"period":"daily","date":"2024-09-06"}}]},"thumbnailImageUuid":"95acedf1-574b-47dc-ba46-b6c970f16893.x-icon","productState":"default"},"hasVoted":false,"votesCount":0}},{"__typename":"PostShoutoutEdge","node":{"__typename":"PostShoutout","id":"40381","note":"Super easy way to install useful packages. Codebuff is a package on npm, so it can be installed as easily as `npm i -g codebuff`! npm makes it really easy for us to push out new versions and track usage over time.","createdAt":"2024-10-13T23:56:07-07:00","url":"https://www.producthunt.com/products/npm/shoutouts/40381","makerUser":{"__typename":"User","id":"661095","name":"Brandon Chen","username":"brandon_chen1","avatarUrl":"https://ph-avatars.imgix.net/661095/original.jpeg"},"from":{"__typename":"Product","id":"617273","name":"Codebuff","slug":"codebuff","isTopProduct":false,"logoUuid":"7cdee0cb-3f0f-4def-92c0-7137df568438.png","isNoLongerOnline":false},"post":{"__typename":"Post","id":"501055","slug":"codebuff","name":"Codebuff","isTopLaunch":false,"votesCount":204,"redirectToProduct":{"__typename":"Product","id":"617273","slug":"codebuff"},"badges":{"__typename":"Connection","edges":[]},"thumbnailImageUuid":"a7c2b93c-18fa-48ee-9a9f-1f3664b17039.png","productState":"default"},"hasVoted":false,"votesCount":0}},{"__typename":"PostShoutoutEdge","node":{"__typename":"PostShoutout","id":"23573","note":"Package manager used for managing the dependencies.","createdAt":"2024-08-17T05:45:19-07:00","url":"https://www.producthunt.com/products/npm/shoutouts/23573","makerUser":{"__typename":"User","id":"7480332","name":"Yiğit Kürşad Ersoy","username":"skywarth","avatarUrl":"https://ph-avatars.imgix.net/7480332/71c068fc-b443-4d2d-a694-9bab1f834a4f.jpeg"},"from":{"__typename":"Product","id":"600210","name":"Darkest-PR","slug":"darkest-pr","isTopProduct":false,"logoUuid":"f9232c7e-40c8-44a5-abbd-39fa39dd105b.png","isNoLongerOnline":false},"post":{"__typename":"Post","id":"480852","slug":"darkest-pr","name":"Darkest-PR","isTopLaunch":false,"votesCount":100,"redirectToProduct":{"__typename":"Product","id":"600210","slug":"darkest-pr"},"badges":{"__typename":"Connection","edges":[]},"thumbnailImageUuid":"f9232c7e-40c8-44a5-abbd-39fa39dd105b.png","productState":"default"},"hasVoted":false,"votesCount":0}}]}},"viewer":{"__typename":"Viewer","id":null,"isFeaturedPostMaker":false,"recentLaunch":null}},"networkStatus":7},":R37pmfnnkptpkqH1:":{"data":{"viewer":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}}},"networkStatus":7},":R37pmfnnkptpkqH2:":{"data":undefined,"loading":false,"networkStatus":7,"called":false},":R1hr7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1hr7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R5hr7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R5hr7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R2hr7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R6hr7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R6hr7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1kb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rdlkb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R2tkb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R6tkb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R6tkb7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3tkb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3tkb7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3tkb7pmfnnkptpkqH2:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R7tkb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R7tkb7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R2kb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rdmkb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R2ukb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R6ukb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R6ukb7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3ukb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3ukb7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3ukb7pmfnnkptpkqH2:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R7ukb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R7ukb7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3kb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rdnkb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R2vkb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R6vkb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R6vkb7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3vkb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3vkb7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3vkb7pmfnnkptpkqH2:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R7vkb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R7vkb7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rsb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rsb7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rsr7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rsr7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R5b7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3db7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3db7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R5db7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R5db7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3plr7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3plr7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R7plr7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3qlr7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3qlr7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R7qlr7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3rlr7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3rlr7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R7rlr7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rtr7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rtr7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rchmb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rchmb7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R14hmb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rcimb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rcimb7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R14imb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rcjmb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rcjmb7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R14jmb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rckmb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rckmb7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R14kmb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rclmb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rclmb7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R14lmb7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rub7pmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rub7pmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"4fe62624-06d6-4d25-91d4-befd9408aeb0","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined}},"events":[{"type":"data","id":"4","result":{"data":{"product":{"__typename":"Product","id":"111758","slug":"npm","name":"npm","description":"Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of JavaScript code sharing, and with more than one million packages, the largest software registry in the world. Our other tools and services take the Registry, and the work you do around it, to the next level.","media":[{"__typename":"Media","id":"1717434","imageUuid":"7dc96d5c-0592-4a50-aef7-846c4e0a031d.jpeg","mediaType":"video","originalHeight":150,"originalWidth":200,"metadata":{"__typename":"MediaMetadata","platform":"youtube","url":"https://www.youtube.com/watch?v=So4EHwmbT48","videoId":"So4EHwmbT48","interactiveDemoId":null,"interactiveDemoType":null}},{"__typename":"Media","id":"1717433","imageUuid":"10827b10-b9d4-4308-aa95-526ec0796092.png","mediaType":"image","originalHeight":568,"originalWidth":651,"metadata":{"__typename":"MediaMetadata","platform":null,"url":null,"videoId":null,"interactiveDemoId":null,"interactiveDemoType":null}}],"screenshots":{"__typename":"ProductScreenshotConnection","edges":[]},"targetedAd":null,"alternativesCount":46,"alternativeAssociations":{"__typename":"ProductAssociationConnection","edges":[{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"301029","associatedProduct":{"__typename":"Product","id":"116530","slug":"typeform","name":"Typeform","reviewsRating":4.88,"reviewsCount":164,"categories":[{"__typename":"ProductCategory","id":"103","title":"Survey and form builders","to":"/categories/survey-and-form-builders"}],"logoUuid":"0d00ffee-a16a-4c89-8ba6-a7249963f194.png","isNoLongerOnline":false}}},{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"147080","associatedProduct":{"__typename":"Product","id":"110596","slug":"parabola","name":"Parabola","reviewsRating":4.57,"reviewsCount":27,"categories":[{"__typename":"ProductCategory","id":"37","title":"Team collaboration software","to":"/categories/team-collaboration"},{"__typename":"ProductCategory","id":"83","title":"Data analysis tools","to":"/categories/data-analysis"},{"__typename":"ProductCategory","id":"84","title":"Data visualization tools","to":"/categories/data-visualization"},{"__typename":"ProductCategory","id":"87","title":"Automation tools","to":"/categories/automation"}],"logoUuid":"88102704-1eb1-4198-bd64-e8997409e2b1.png","isNoLongerOnline":false}}},{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"537820","associatedProduct":{"__typename":"Product","id":"450721","slug":"drata","name":"Drata","reviewsRating":4.93,"reviewsCount":161,"categories":[{"__typename":"ProductCategory","id":"87","title":"Automation tools","to":"/categories/automation"},{"__typename":"ProductCategory","id":"892","title":"Compliance software","to":"/categories/compliance-software"}],"logoUuid":"3fb11916-7ee1-48bb-bb3c-b35797644dfb.gif","isNoLongerOnline":false}}}]},"categories":[{"__typename":"ProductCategory","id":"87","title":"Automation tools","to":"/categories/automation"},{"__typename":"ProductCategory","id":"827","title":"Command line tools","to":"/categories/command-line-tools"},{"__typename":"ProductCategory","id":"1090","title":"Databases and backend frameworks","to":"/categories/databases-and-backend"}],"badges":{"__typename":"Connection","edges":[]},"isMaker":false,"isStacked":false,"isViewerTeamMember":null,"stacksCount":266,"stackers":{"__typename":"UserConnection","edges":[{"__typename":"UserEdge","node":{"__typename":"User","id":"7315255","name":"Huisong Li","username":"huisong_li","avatarUrl":"https://ph-avatars.imgix.net/7315255/28ab582e-0e55-44a0-a61c-e9c3f8f7e770.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"4858710","name":"Hidayt Rahman","username":"hidaytrahman","avatarUrl":"https://ph-avatars.imgix.net/4858710/697ec7d4-e0ab-4522-b543-b3dd225c8462.png"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"7551422","name":"Rana Akif","username":"rana_akif","avatarUrl":"https://ph-avatars.imgix.net/7551422/original.png"}}]},"postsCount":23,"posts":{"__typename":"PostConnection","edges":[{"__typename":"PostEdge","node":{"__typename":"Post","id":"487708","createdAt":"2024-09-09T00:01:00-07:00","slug":"transcript-tracer","name":"transcript-tracer","tagline":"@dinuda/transcript-tracer","shortenedUrl":"/r/p/487708","dailyRank":null,"weeklyRank":null,"monthlyRank":null,"redirectToProduct":{"__typename":"Product","id":"111758","slug":"npm"},"badges":{"__typename":"Connection","edges":[]},"thumbnailImageUuid":"59bb029c-fdde-4cc6-907e-5d27002217ab.png","hideVotesCount":false,"featuredAt":null,"disabledWhenScheduled":true,"embargoPreviewAt":null,"latestScore":8,"launchDayScore":4,"commentsCount":1,"productState":"default","hasVoted":false,"votesCount":7}},{"__typename":"PostEdge","node":{"__typename":"Post","id":"454193","createdAt":"2024-04-27T00:01:00-07:00","slug":"windmillcode-quill-emoji","name":"Windmillcode Quill Emoji","tagline":"Quill Emoji plugin for quill 2.0","shortenedUrl":"/r/p/454193","dailyRank":null,"weeklyRank":null,"monthlyRank":null,"redirectToProduct":{"__typename":"Product","id":"111758","slug":"npm"},"badges":{"__typename":"Connection","edges":[]},"thumbnailImageUuid":"075a20ad-89bc-448b-88b3-c7fe0ffe4bcd.png","hideVotesCount":false,"featuredAt":null,"disabledWhenScheduled":true,"embargoPreviewAt":null,"latestScore":2,"launchDayScore":2,"commentsCount":0,"productState":"default","hasVoted":false,"votesCount":2}},{"__typename":"PostEdge","node":{"__typename":"Post","id":"412943","createdAt":"2023-09-04T11:46:18-07:00","slug":"nmscan","name":"NMScan","tagline":"Locate node_modules folders and calculate size on disk","shortenedUrl":"/r/p/412943","dailyRank":null,"weeklyRank":null,"monthlyRank":null,"redirectToProduct":{"__typename":"Product","id":"111758","slug":"npm"},"badges":{"__typename":"Connection","edges":[]},"thumbnailImageUuid":"574e606b-9fb8-4aa3-862c-f7883e0de71a.png","hideVotesCount":false,"featuredAt":null,"disabledWhenScheduled":true,"embargoPreviewAt":null,"latestScore":3,"launchDayScore":3,"commentsCount":0,"productState":"default","hasVoted":false,"votesCount":3}}]},"reviewsCount":70,"reviewsRating":4.96,"viewerReview":null,"reviews":{"__typename":"ReviewConnection","edges":[{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"679440","body":"there is no alternative....","rating":5,"user":{"__typename":"User","id":"2952349","name":"anton tishchenko","username":"anton_tishchenko","reviewsCount":2,"selectedBylineProduct":{"__typename":"Product","id":"513632","slug":"easy-mockup-figma-plugin","name":"Easy Mockup Figma Plugin","logoUuid":"adb78612-a1d9-4bb7-9c1e-c151f3ae3d48.png","isNoLongerOnline":false},"avatarUrl":"https://ph-avatars.imgix.net/2952349/original.jpeg","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"createdAt":"2023-09-24T02:37:40-07:00","hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111758","name":"npm","slug":"npm"},"canReply":false,"url":"https://www.producthunt.com/products/npm/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"155672","body":"\u003cp\u003eIs there any plan to translate according to browser language?\u003c/p\u003e","rating":5,"user":{"__typename":"User","id":"1208466","name":"Ricardo Alamino","username":"ricalamino","reviewsCount":27,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/1208466/6ab3e007-3987-4886-88f0-284723a5543f.png","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"createdAt":"2019-04-26T08:59:02-07:00","hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111758","name":"npm","slug":"npm"},"canReply":false,"url":"https://www.producthunt.com/products/npm/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"554996","body":":)","rating":5,"user":{"__typename":"User","id":"4858710","name":"Hidayt Rahman","username":"hidaytrahman","reviewsCount":12,"selectedBylineProduct":{"__typename":"Product","id":"600340","slug":"chepo","name":"Chepo","logoUuid":"2b1ceefa-bf07-46ab-b678-60fa1f7804d4.png","isNoLongerOnline":false},"avatarUrl":"https://ph-avatars.imgix.net/4858710/697ec7d4-e0ab-4522-b543-b3dd225c8462.png","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"createdAt":"2022-11-30T09:51:13-08:00","hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111758","name":"npm","slug":"npm"},"canReply":false,"url":"https://www.producthunt.com/products/npm/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"806582","body":"Despite its advanced capabilities, the tool is intuitive and easy to navigate, which made onboarding quick and seamless","rating":5,"user":{"__typename":"User","id":"7601721","name":"Noman Zahoor","username":"noman_zahoor1","reviewsCount":65,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/7601721/original.png","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"createdAt":"2024-09-23T04:38:11-07:00","hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111758","name":"npm","slug":"npm"},"canReply":false,"url":"https://www.producthunt.com/products/npm/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"261798","body":null,"rating":null,"user":{"__typename":"User","id":"1743246","name":"Tom Medema","username":"tom4","reviewsCount":159,"selectedBylineProduct":{"__typename":"Product","id":"99510","slug":"bubbles","name":"Bubbles","logoUuid":"bca93505-dd1b-452e-89d3-1ad1ae53f598.gif","isNoLongerOnline":false},"avatarUrl":"https://ph-avatars.imgix.net/1743246/f47b2ea7-3d10-4440-a2fa-0caf008667ad.png","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"createdAt":"2020-05-22T05:03:10-07:00","hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111758","name":"npm","slug":"npm"},"canReply":false,"url":"https://www.producthunt.com/products/npm/reviews","isHidden":false}}]},"shoutoutsToCount":19,"postShoutoutsTo":{"__typename":"PostShoutoutConnection","edges":[{"__typename":"PostShoutoutEdge","node":{"__typename":"PostShoutout","id":"28051","note":"Easy, simple, and universal!","createdAt":"2024-09-05T02:36:03-07:00","url":"https://www.producthunt.com/products/npm/shoutouts/28051","makerUser":{"__typename":"User","id":"5740570","name":"Anton Koenig","username":"antonckoenig","avatarUrl":"https://ph-avatars.imgix.net/5740570/original.jpeg"},"from":{"__typename":"Product","id":"604656","name":"VideoGen","slug":"videogen","isTopProduct":false,"logoUuid":"95acedf1-574b-47dc-ba46-b6c970f16893.x-icon","isNoLongerOnline":false},"post":{"__typename":"Post","id":"486924","slug":"videogen-yc-s24","name":"VideoGen (YC S24)","isTopLaunch":false,"votesCount":1160,"redirectToProduct":{"__typename":"Product","id":"604656","slug":"videogen"},"badges":{"__typename":"Connection","edges":[{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"4609468","position":1,"period":"daily","date":"2024-09-06"}}]},"thumbnailImageUuid":"95acedf1-574b-47dc-ba46-b6c970f16893.x-icon","productState":"default"},"hasVoted":false,"votesCount":0}},{"__typename":"PostShoutoutEdge","node":{"__typename":"PostShoutout","id":"40381","note":"Super easy way to install useful packages. Codebuff is a package on npm, so it can be installed as easily as `npm i -g codebuff`! npm makes it really easy for us to push out new versions and track usage over time.","createdAt":"2024-10-13T23:56:07-07:00","url":"https://www.producthunt.com/products/npm/shoutouts/40381","makerUser":{"__typename":"User","id":"661095","name":"Brandon Chen","username":"brandon_chen1","avatarUrl":"https://ph-avatars.imgix.net/661095/original.jpeg"},"from":{"__typename":"Product","id":"617273","name":"Codebuff","slug":"codebuff","isTopProduct":false,"logoUuid":"7cdee0cb-3f0f-4def-92c0-7137df568438.png","isNoLongerOnline":false},"post":{"__typename":"Post","id":"501055","slug":"codebuff","name":"Codebuff","isTopLaunch":false,"votesCount":204,"redirectToProduct":{"__typename":"Product","id":"617273","slug":"codebuff"},"badges":{"__typename":"Connection","edges":[]},"thumbnailImageUuid":"a7c2b93c-18fa-48ee-9a9f-1f3664b17039.png","productState":"default"},"hasVoted":false,"votesCount":0}},{"__typename":"PostShoutoutEdge","node":{"__typename":"PostShoutout","id":"23573","note":"Package manager used for managing the dependencies.","createdAt":"2024-08-17T05:45:19-07:00","url":"https://www.producthunt.com/products/npm/shoutouts/23573","makerUser":{"__typename":"User","id":"7480332","name":"Yiğit Kürşad Ersoy","username":"skywarth","avatarUrl":"https://ph-avatars.imgix.net/7480332/71c068fc-b443-4d2d-a694-9bab1f834a4f.jpeg"},"from":{"__typename":"Product","id":"600210","name":"Darkest-PR","slug":"darkest-pr","isTopProduct":false,"logoUuid":"f9232c7e-40c8-44a5-abbd-39fa39dd105b.png","isNoLongerOnline":false},"post":{"__typename":"Post","id":"480852","slug":"darkest-pr","name":"Darkest-PR","isTopLaunch":false,"votesCount":100,"redirectToProduct":{"__typename":"Product","id":"600210","slug":"darkest-pr"},"badges":{"__typename":"Connection","edges":[]},"thumbnailImageUuid":"f9232c7e-40c8-44a5-abbd-39fa39dd105b.png","productState":"default"},"hasVoted":false,"votesCount":0}}]}},"viewer":{"__typename":"Viewer","id":null,"isFeaturedPostMaker":false,"recentLaunch":null}}}},{"type":"complete","id":"4"}]})</script><link rel="preload" as="image" imageSrcSet="https://ph-files.imgix.net/7dc96d5c-0592-4a50-aef7-846c4e0a031d.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=391&amp;h=220&amp;fit=max&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/7dc96d5c-0592-4a50-aef7-846c4e0a031d.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=391&amp;h=220&amp;fit=max&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/7dc96d5c-0592-4a50-aef7-846c4e0a031d.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=391&amp;h=220&amp;fit=max&amp;frame=1&amp;dpr=3 3x"/><div hidden id="S:1"><section class="flex flex-col gap-2"><h2 class="text-18 font-medium text-primary" data-sentry-component="SectionTitle" data-sentry-source-file="SectionTitle.tsx">What is <!-- -->npm<!-- -->?</h2><div class="text-16 text-secondary">Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of JavaScript code sharing, and with more than one million packages, the largest software registry in the world. Our other tools and services take the Registry, and the work you do around it, to the next level.</div></section><section class="flex flex-col items-center gap-4 rounded-xl bg-gray-50 p-4 sm:flex-row" data-sentry-component="SectionCard" data-sentry-source-file="index.tsx"><div class="flex flex-1 flex-row items-center gap-4"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 28 28" class="rounded-xl border-2 border-gray-200 bg-white stroke-gray-700 p-[10px]" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M3.5 18.667V8.4c0-1.307 0-1.96.254-2.46.224-.439.58-.795 1.02-1.02.499-.253 1.152-.253 2.459-.253h13.533c1.307 0 1.96 0 2.46.254.439.224.796.58 1.02 1.02.254.499.254 1.152.254 2.459v10.266h-6.227c-.285 0-.428 0-.562.033a1.2 1.2 0 0 0-.338.14c-.117.072-.218.173-.42.374l-.073.073c-.202.202-.303.303-.42.375a1.2 1.2 0 0 1-.338.14c-.134.032-.277.032-.562.032h-3.12c-.286 0-.428 0-.563-.032a1.2 1.2 0 0 1-.337-.14c-.118-.072-.219-.173-.42-.375l-.074-.073c-.201-.201-.302-.302-.42-.375a1.2 1.2 0 0 0-.337-.14c-.134-.032-.277-.032-.563-.032zm0 0c-.645 0-1.167.522-1.167 1.166v.39c0 .722 0 1.084.08 1.38a2.33 2.33 0 0 0 1.65 1.65c.296.08.658.08 1.381.08h17.111c.724 0 1.085 0 1.382-.08a2.33 2.33 0 0 0 1.65-1.65c.08-.296.08-.658.08-1.38 0-.363 0-.543-.04-.692a1.17 1.17 0 0 0-.825-.825c-.149-.04-.33-.04-.691-.04h-.778"></path></svg><div class="flex flex-col gap-1"><h3 class="text-16 font-medium text-primary">Do you use npm?</h3></div></div><div class="flex flex-row items-center gap-4"><button type="button" data-test="product-111758-add-to-stack" class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx">I use this</button><button type="button" data-test="product-111758-stack-alternative-button" class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx">I use something else</button></div></section><section class="overflow-hidden px-4" data-sentry-component="ProductGallery" data-sentry-source-file="index.tsx"><div class="relative w-full" data-sentry-component="Gallery" data-sentry-source-file="index.tsx"><div class="relative -mx-4 overflow-hidden sm:-mx-8"><svg xmlns="http://www.w3.org/2000/svg" width="44" height="45" fill="none" viewBox="0 0 44 45" class="absolute right-6 top-1/2 z-10 -translate-y-1/2 cursor-pointer rounded-full bg-white shadow-lg transition-opacity hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-brand-500"><g filter="url(#ChevronRight_svg__a)"><path fill="#fff" fill-opacity="0.9" d="M0 22.614c0-12.15 9.85-22 22-22s22 9.85 22 22-9.85 22-22 22-22-9.85-22-22"></path><path stroke="#344054" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m19 28.614 6-6-6-6"></path></g><defs><filter id="ChevronRight_svg__a" width="60" height="60" x="-8" y="-7.386" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feGaussianBlur in="BackgroundImageFix" stdDeviation="4"></feGaussianBlur><feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur_5592_12221"></feComposite><feBlend in="SourceGraphic" in2="effect1_backgroundBlur_5592_12221" result="shape"></feBlend></filter></defs></svg><section class="flex max-w-full snap-x snap-mandatory scroll-px-4 flex-row gap-6 overflow-x-scroll px-4 sm:px-8" style="-ms-overflow-style:none;scrollbar-width:none"><div class="relative cursor-pointer" aria-label="npm gallery media"><svg xmlns="http://www.w3.org/2000/svg" width="35" height="34" fill="none" viewBox="0 0 35 34" class="absolute left-1/2 top-1/2 z-[1] -translate-x-1/2 -translate-y-1/2"><g filter="url(#PlayVideo_svg__a)"><path fill="#fff" d="m29.038 15.287-18-10.987a1.94 1.94 0 0 0-2.013-.038A1.98 1.98 0 0 0 8 6v22a1.97 1.97 0 0 0 1.025 1.738 1.94 1.94 0 0 0 2.012-.038l18-10.988a2 2 0 0 0 0-3.425z"></path></g><defs><filter id="PlayVideo_svg__a" width="30.004" height="34.002" x="4" y="-0.001" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"></feColorMatrix><feOffset></feOffset><feGaussianBlur stdDeviation="2"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.37 0"></feColorMatrix><feBlend in2="BackgroundImageFix" result="effect1_dropShadow_709_3590"></feBlend><feBlend in="SourceGraphic" in2="effect1_dropShadow_709_3590" result="shape"></feBlend></filter></defs></svg><div class="overflow-hidden rounded-xl"><img loading="eager" srcSet="https://ph-files.imgix.net/7dc96d5c-0592-4a50-aef7-846c4e0a031d.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=391&amp;h=220&amp;fit=max&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/7dc96d5c-0592-4a50-aef7-846c4e0a031d.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=391&amp;h=220&amp;fit=max&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/7dc96d5c-0592-4a50-aef7-846c4e0a031d.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=391&amp;h=220&amp;fit=max&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/7dc96d5c-0592-4a50-aef7-846c4e0a031d.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=391&amp;h=220&amp;fit=max&amp;frame=1" style="width:391px;height:220px" alt="npm gallery image" class="rounded-xl scale-100 scale-y-[1.44]"/></div></div><div class="relative cursor-pointer" aria-label="npm gallery media"><div class="overflow-hidden rounded-xl"><img loading="lazy" srcSet="https://ph-files.imgix.net/10827b10-b9d4-4308-aa95-526ec0796092.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=252&amp;h=220&amp;fit=max&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/10827b10-b9d4-4308-aa95-526ec0796092.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=252&amp;h=220&amp;fit=max&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/10827b10-b9d4-4308-aa95-526ec0796092.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=252&amp;h=220&amp;fit=max&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/10827b10-b9d4-4308-aa95-526ec0796092.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=252&amp;h=220&amp;fit=max&amp;frame=1" style="width:252px;height:220px" alt="npm gallery image" class="rounded-xl"/></div></div></section></div><div class="mt-6 px-4 sm:px-8"></div></div></section><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="TagList" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" data-sentry-element="TagIcon" data-sentry-source-file="index.tsx"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m12.25 6.417-4.43-4.43c-.303-.303-.454-.454-.63-.562a1.8 1.8 0 0 0-.506-.21c-.202-.048-.416-.048-.844-.048H3.5M1.75 5.075v1.152c0 .285 0 .428.032.562q.044.18.14.337c.072.118.173.219.375.42l4.55 4.55c.462.463.693.694.96.78.233.077.486.077.72 0 .267-.086.498-.317.96-.78l1.443-1.443c.462-.462.693-.693.78-.96a1.17 1.17 0 0 0 0-.72c-.087-.267-.318-.498-.78-.96L6.672 3.755c-.202-.202-.303-.303-.42-.375a1.2 1.2 0 0 0-.338-.14c-.134-.032-.277-.032-.562-.032H3.617c-.654 0-.98 0-1.23.128-.22.111-.398.29-.51.51-.127.249-.127.576-.127 1.229"></path></svg><a class="text-16 font-normal text-dark-gray text-primary hover:underline" target="_blank" href="/categories/automation">Automation tools</a><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><a class="text-16 font-normal text-dark-gray text-primary hover:underline" target="_blank" href="/categories/command-line-tools">Command line tools</a><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><a class="text-16 font-normal text-dark-gray text-primary hover:underline" target="_blank" href="/categories/databases-and-backend">Databases and backend frameworks</a></div><section class="flex flex-col gap-2" data-sentry-component="RecentLaunches" data-sentry-source-file="index.tsx"><h2 class="text-18 font-medium text-primary" data-sentry-component="SectionTitle" data-sentry-source-file="SectionTitle.tsx">Recent <!-- -->npm<!-- --> Launches</h2><div><section data-test="post-item-487708" class="group relative flex flex-row items-start gap-4 rounded-xl px-0 py-4 transition-all duration-300 sm:-mx-4 sm:p-4 cursor-pointer hover:sm:bg-gray-100 dark:hover:sm:bg-gray-dark-800"><a href="/products/npm#transcript-tracer" aria-label="transcript-tracer"><img loading="lazy" srcSet="https://ph-files.imgix.net/59bb029c-fdde-4cc6-907e-5d27002217ab.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/59bb029c-fdde-4cc6-907e-5d27002217ab.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/59bb029c-fdde-4cc6-907e-5d27002217ab.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/59bb029c-fdde-4cc6-907e-5d27002217ab.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="transcript-tracer" class="rounded-xl"/></a><div class="flex flex-1 flex-col"><a class="text-16 font-semibold text-dark-gray flex items-center text-primary transition-all duration-300 group-hover:sm:text-brand-500" data-test="post-name-487708" href="/products/npm#transcript-tracer">transcript-tracer<!-- --> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" class="relative hidden cursor-pointer stroke-gray-500 stroke-[1.5px] px-1 transition-all hover:sm:stroke-brand-500 group-hover:sm:inline-block" data-sentry-element="Icon" data-sentry-component="ExternalLinkButton" data-sentry-source-file="index.tsx"><path d="M12.25 5.25v-3.5m0 0h-3.5m3.5 0L7 7M5.833 1.75H4.55c-.98 0-1.47 0-1.844.19a1.75 1.75 0 0 0-.765.766c-.191.374-.191.864-.191 1.844v4.9c0 .98 0 1.47.19 1.845.169.329.436.597.766.764.374.191.864.191 1.844.191h4.9c.98 0 1.47 0 1.845-.19a1.75 1.75 0 0 0 .764-.766c.191-.374.191-.864.191-1.844V8.167"></path></svg></a><a class="text-16 font-normal text-dark-gray text-secondary" href="/products/npm#transcript-tracer">@dinuda/transcript-tracer</a><div class="mt-2 flex flex-col gap-2 sm:flex-row sm:justify-between"><p class="flex flex-row items-center gap-1 text-14 text-secondary"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg>Launched on <!-- -->September 9th, 2024</p><div class="flex-row gap-2 flex sm:hidden" data-sentry-component="PostBadges" data-sentry-source-file="index.tsx"></div></div></div><div class="flex-row gap-2 hidden h-12 items-center sm:flex" data-sentry-component="PostBadges" data-sentry-source-file="index.tsx"></div><button type="button" class="styles_reset__0clCw" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx"><div class="group/accessory flex size-12 flex-col items-center justify-center gap-1 rounded-xl border-2 border-gray-200 dark:border-gray-dark-800 bg-primary transition-all duration-300 hover:border-brand-500 dark:hover:border-brand-500" data-sentry-component="Root" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" class="stroke-brand-700 text-gray-700 group-data-[filled=true]/accessory:fill-brand-500 group-data-[filled=true]/accessory:stroke-brand-500 group-data-[filled=true]/accessory:text-brand-500 dark:[&amp;&gt;path]:stroke-gray-dark-300 size-[14px] stroke-[1.5px]" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path stroke="#344054" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12.25 6.708a4.958 4.958 0 0 1-6.74 4.629 2 2 0 0 0-.192-.068.5.5 0 0 0-.11-.014 1.4 1.4 0 0 0-.176.012l-2.987.309c-.285.03-.427.044-.511-.007a.3.3 0 0 1-.137-.204c-.015-.097.053-.223.19-.475l.953-1.766c.079-.146.118-.218.136-.288a.5.5 0 0 0 .016-.19c-.006-.072-.037-.166-.1-.353a4.958 4.958 0 1 1 9.658-1.585"></path></svg><div class="text-14 font-semibold text-dark-gray leading-none text-gray-700 dark:text-gray-dark-300" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">1</div></div></button><button type="button" data-test="vote-button" class="styles_reset__0clCw" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx"><div class="group/accessory flex size-12 flex-col items-center justify-center gap-1 rounded-xl border-2 border-gray-200 dark:border-gray-dark-800 bg-primary transition-all duration-300 hover:border-brand-500 dark:hover:border-brand-500" data-filled="false" data-sentry-component="Root" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="fill-white stroke-gray-700 stroke-[1.5px] transition-all duration-300" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.579 3.467c.71-1.067 2.132-1.067 2.842 0L12.975 8.8c.878 1.318.043 3.2-1.422 3.2H4.447c-1.464 0-2.3-1.882-1.422-3.2z"></path></svg><div class="text-14 font-semibold text-dark-gray leading-none text-gray-700 dark:text-gray-dark-300" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">8</div></div></button></section><section data-test="post-item-454193" class="group relative flex flex-row items-start gap-4 rounded-xl px-0 py-4 transition-all duration-300 sm:-mx-4 sm:p-4 cursor-pointer hover:sm:bg-gray-100 dark:hover:sm:bg-gray-dark-800"><a href="/products/npm#windmillcode-quill-emoji" aria-label="Windmillcode Quill Emoji"><img loading="lazy" srcSet="https://ph-files.imgix.net/075a20ad-89bc-448b-88b3-c7fe0ffe4bcd.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/075a20ad-89bc-448b-88b3-c7fe0ffe4bcd.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/075a20ad-89bc-448b-88b3-c7fe0ffe4bcd.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/075a20ad-89bc-448b-88b3-c7fe0ffe4bcd.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Windmillcode Quill Emoji" class="rounded-xl"/></a><div class="flex flex-1 flex-col"><a class="text-16 font-semibold text-dark-gray flex items-center text-primary transition-all duration-300 group-hover:sm:text-brand-500" data-test="post-name-454193" href="/products/npm#windmillcode-quill-emoji">Windmillcode Quill Emoji<!-- --> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" class="relative hidden cursor-pointer stroke-gray-500 stroke-[1.5px] px-1 transition-all hover:sm:stroke-brand-500 group-hover:sm:inline-block" data-sentry-element="Icon" data-sentry-component="ExternalLinkButton" data-sentry-source-file="index.tsx"><path d="M12.25 5.25v-3.5m0 0h-3.5m3.5 0L7 7M5.833 1.75H4.55c-.98 0-1.47 0-1.844.19a1.75 1.75 0 0 0-.765.766c-.191.374-.191.864-.191 1.844v4.9c0 .98 0 1.47.19 1.845.169.329.436.597.766.764.374.191.864.191 1.844.191h4.9c.98 0 1.47 0 1.845-.19a1.75 1.75 0 0 0 .764-.766c.191-.374.191-.864.191-1.844V8.167"></path></svg></a><a class="text-16 font-normal text-dark-gray text-secondary" href="/products/npm#windmillcode-quill-emoji">Quill Emoji plugin for quill 2.0</a><div class="mt-2 flex flex-col gap-2 sm:flex-row sm:justify-between"><p class="flex flex-row items-center gap-1 text-14 text-secondary"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg>Launched on <!-- -->April 27th, 2024</p><div class="flex-row gap-2 flex sm:hidden" data-sentry-component="PostBadges" data-sentry-source-file="index.tsx"></div></div></div><div class="flex-row gap-2 hidden h-12 items-center sm:flex" data-sentry-component="PostBadges" data-sentry-source-file="index.tsx"></div><button type="button" class="styles_reset__0clCw" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx"><div class="group/accessory flex size-12 flex-col items-center justify-center gap-1 rounded-xl border-2 border-gray-200 dark:border-gray-dark-800 bg-primary transition-all duration-300 hover:border-brand-500 dark:hover:border-brand-500" data-sentry-component="Root" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" class="stroke-brand-700 text-gray-700 group-data-[filled=true]/accessory:fill-brand-500 group-data-[filled=true]/accessory:stroke-brand-500 group-data-[filled=true]/accessory:text-brand-500 dark:[&amp;&gt;path]:stroke-gray-dark-300 size-[14px] stroke-[1.5px]" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path stroke="#344054" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12.25 6.708a4.958 4.958 0 0 1-6.74 4.629 2 2 0 0 0-.192-.068.5.5 0 0 0-.11-.014 1.4 1.4 0 0 0-.176.012l-2.987.309c-.285.03-.427.044-.511-.007a.3.3 0 0 1-.137-.204c-.015-.097.053-.223.19-.475l.953-1.766c.079-.146.118-.218.136-.288a.5.5 0 0 0 .016-.19c-.006-.072-.037-.166-.1-.353a4.958 4.958 0 1 1 9.658-1.585"></path></svg><div class="text-14 font-semibold text-dark-gray leading-none text-gray-700 dark:text-gray-dark-300" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">0</div></div></button><button type="button" data-test="vote-button" class="styles_reset__0clCw" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx"><div class="group/accessory flex size-12 flex-col items-center justify-center gap-1 rounded-xl border-2 border-gray-200 dark:border-gray-dark-800 bg-primary transition-all duration-300 hover:border-brand-500 dark:hover:border-brand-500" data-filled="false" data-sentry-component="Root" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="fill-white stroke-gray-700 stroke-[1.5px] transition-all duration-300" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.579 3.467c.71-1.067 2.132-1.067 2.842 0L12.975 8.8c.878 1.318.043 3.2-1.422 3.2H4.447c-1.464 0-2.3-1.882-1.422-3.2z"></path></svg><div class="text-14 font-semibold text-dark-gray leading-none text-gray-700 dark:text-gray-dark-300" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">2</div></div></button></section><section data-test="post-item-412943" class="group relative flex flex-row items-start gap-4 rounded-xl px-0 py-4 transition-all duration-300 sm:-mx-4 sm:p-4 cursor-pointer hover:sm:bg-gray-100 dark:hover:sm:bg-gray-dark-800"><a href="/products/npm#nmscan" aria-label="NMScan"><img loading="lazy" srcSet="https://ph-files.imgix.net/574e606b-9fb8-4aa3-862c-f7883e0de71a.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/574e606b-9fb8-4aa3-862c-f7883e0de71a.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/574e606b-9fb8-4aa3-862c-f7883e0de71a.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/574e606b-9fb8-4aa3-862c-f7883e0de71a.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="NMScan" class="rounded-xl"/></a><div class="flex flex-1 flex-col"><a class="text-16 font-semibold text-dark-gray flex items-center text-primary transition-all duration-300 group-hover:sm:text-brand-500" data-test="post-name-412943" href="/products/npm#nmscan">NMScan<!-- --> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" class="relative hidden cursor-pointer stroke-gray-500 stroke-[1.5px] px-1 transition-all hover:sm:stroke-brand-500 group-hover:sm:inline-block" data-sentry-element="Icon" data-sentry-component="ExternalLinkButton" data-sentry-source-file="index.tsx"><path d="M12.25 5.25v-3.5m0 0h-3.5m3.5 0L7 7M5.833 1.75H4.55c-.98 0-1.47 0-1.844.19a1.75 1.75 0 0 0-.765.766c-.191.374-.191.864-.191 1.844v4.9c0 .98 0 1.47.19 1.845.169.329.436.597.766.764.374.191.864.191 1.844.191h4.9c.98 0 1.47 0 1.845-.19a1.75 1.75 0 0 0 .764-.766c.191-.374.191-.864.191-1.844V8.167"></path></svg></a><a class="text-16 font-normal text-dark-gray text-secondary" href="/products/npm#nmscan">Locate node_modules folders and calculate size on disk</a><div class="mt-2 flex flex-col gap-2 sm:flex-row sm:justify-between"><p class="flex flex-row items-center gap-1 text-14 text-secondary"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg>Launched on <!-- -->September 4th, 2023</p><div class="flex-row gap-2 flex sm:hidden" data-sentry-component="PostBadges" data-sentry-source-file="index.tsx"></div></div></div><div class="flex-row gap-2 hidden h-12 items-center sm:flex" data-sentry-component="PostBadges" data-sentry-source-file="index.tsx"></div><button type="button" class="styles_reset__0clCw" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx"><div class="group/accessory flex size-12 flex-col items-center justify-center gap-1 rounded-xl border-2 border-gray-200 dark:border-gray-dark-800 bg-primary transition-all duration-300 hover:border-brand-500 dark:hover:border-brand-500" data-sentry-component="Root" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" class="stroke-brand-700 text-gray-700 group-data-[filled=true]/accessory:fill-brand-500 group-data-[filled=true]/accessory:stroke-brand-500 group-data-[filled=true]/accessory:text-brand-500 dark:[&amp;&gt;path]:stroke-gray-dark-300 size-[14px] stroke-[1.5px]" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path stroke="#344054" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12.25 6.708a4.958 4.958 0 0 1-6.74 4.629 2 2 0 0 0-.192-.068.5.5 0 0 0-.11-.014 1.4 1.4 0 0 0-.176.012l-2.987.309c-.285.03-.427.044-.511-.007a.3.3 0 0 1-.137-.204c-.015-.097.053-.223.19-.475l.953-1.766c.079-.146.118-.218.136-.288a.5.5 0 0 0 .016-.19c-.006-.072-.037-.166-.1-.353a4.958 4.958 0 1 1 9.658-1.585"></path></svg><div class="text-14 font-semibold text-dark-gray leading-none text-gray-700 dark:text-gray-dark-300" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">0</div></div></button><button type="button" data-test="vote-button" class="styles_reset__0clCw" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx"><div class="group/accessory flex size-12 flex-col items-center justify-center gap-1 rounded-xl border-2 border-gray-200 dark:border-gray-dark-800 bg-primary transition-all duration-300 hover:border-brand-500 dark:hover:border-brand-500" data-filled="false" data-sentry-component="Root" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="fill-white stroke-gray-700 stroke-[1.5px] transition-all duration-300" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.579 3.467c.71-1.067 2.132-1.067 2.842 0L12.975 8.8c.878 1.318.043 3.2-1.422 3.2H4.447c-1.464 0-2.3-1.882-1.422-3.2z"></path></svg><div class="text-14 font-semibold text-dark-gray leading-none text-gray-700 dark:text-gray-dark-300" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">3</div></div></button></section></div><a class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx" href="/products/npm/launches">View all npm launches</a></section><section class="flex flex-col gap-4" data-sentry-component="Alternatives" data-sentry-source-file="index.tsx"><h2 class="text-18 font-medium text-primary" data-sentry-component="SectionTitle" data-sentry-source-file="SectionTitle.tsx">npm<!-- --> Alternatives</h2><div class="flex flex-row flex-wrap gap-6"><div class="flex flex-1 flex-row gap-4 rounded-xl bg-secondary p-4"><a href="/products/typeform"><img loading="lazy" srcSet="https://ph-files.imgix.net/0d00ffee-a16a-4c89-8ba6-a7249963f194.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=32&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/0d00ffee-a16a-4c89-8ba6-a7249963f194.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=32&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/0d00ffee-a16a-4c89-8ba6-a7249963f194.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=32&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/0d00ffee-a16a-4c89-8ba6-a7249963f194.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=32&amp;fit=crop&amp;frame=1" style="width:32px;height:32px" alt="Typeform" class="rounded" data-test="Typeform-thumbnail"/></a><div><a class="truncate text-16 font-semibold text-primary hover:underline" href="/products/typeform">Typeform</a><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><div class="text-14 font-medium text-primary">164 reviews</div><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="TagList" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" data-sentry-element="TagIcon" data-sentry-source-file="index.tsx"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m12.25 6.417-4.43-4.43c-.303-.303-.454-.454-.63-.562a1.8 1.8 0 0 0-.506-.21c-.202-.048-.416-.048-.844-.048H3.5M1.75 5.075v1.152c0 .285 0 .428.032.562q.044.18.14.337c.072.118.173.219.375.42l4.55 4.55c.462.463.693.694.96.78.233.077.486.077.72 0 .267-.086.498-.317.96-.78l1.443-1.443c.462-.462.693-.693.78-.96a1.17 1.17 0 0 0 0-.72c-.087-.267-.318-.498-.78-.96L6.672 3.755c-.202-.202-.303-.303-.42-.375a1.2 1.2 0 0 0-.338-.14c-.134-.032-.277-.032-.562-.032H3.617c-.654 0-.98 0-1.23.128-.22.111-.398.29-.51.51-.127.249-.127.576-.127 1.229"></path></svg><a class="text-14 font-normal text-dark-gray text-primary hover:underline" target="_blank" href="/categories/survey-and-form-builders">Survey and form builders</a></div></div></div><div class="flex flex-1 flex-row gap-4 rounded-xl bg-secondary p-4"><a href="/products/parabola"><img loading="lazy" srcSet="https://ph-files.imgix.net/88102704-1eb1-4198-bd64-e8997409e2b1.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=32&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/88102704-1eb1-4198-bd64-e8997409e2b1.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=32&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/88102704-1eb1-4198-bd64-e8997409e2b1.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=32&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/88102704-1eb1-4198-bd64-e8997409e2b1.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=32&amp;fit=crop&amp;frame=1" style="width:32px;height:32px" alt="Parabola" class="rounded" data-test="Parabola-thumbnail"/></a><div><a class="truncate text-16 font-semibold text-primary hover:underline" href="/products/parabola">Parabola</a><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path fill="#d9e1ec" d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path><defs><clipPath id="StartHalfFilled_svg__a"><path d="M0 0h12v23H0z"></path></clipPath></defs><path fill="#f5a623" d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z" clip-path="url(#StartHalfFilled_svg__a)"></path></svg></label></div><div class="text-14 font-medium text-primary">27 reviews</div><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="TagList" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" data-sentry-element="TagIcon" data-sentry-source-file="index.tsx"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m12.25 6.417-4.43-4.43c-.303-.303-.454-.454-.63-.562a1.8 1.8 0 0 0-.506-.21c-.202-.048-.416-.048-.844-.048H3.5M1.75 5.075v1.152c0 .285 0 .428.032.562q.044.18.14.337c.072.118.173.219.375.42l4.55 4.55c.462.463.693.694.96.78.233.077.486.077.72 0 .267-.086.498-.317.96-.78l1.443-1.443c.462-.462.693-.693.78-.96a1.17 1.17 0 0 0 0-.72c-.087-.267-.318-.498-.78-.96L6.672 3.755c-.202-.202-.303-.303-.42-.375a1.2 1.2 0 0 0-.338-.14c-.134-.032-.277-.032-.562-.032H3.617c-.654 0-.98 0-1.23.128-.22.111-.398.29-.51.51-.127.249-.127.576-.127 1.229"></path></svg><a class="text-14 font-normal text-dark-gray text-primary hover:underline" target="_blank" href="/categories/team-collaboration">Team collaboration software</a></div></div></div><div class="flex flex-1 flex-row gap-4 rounded-xl bg-secondary p-4"><a href="/products/drata"><video style="width:32px;height:32px" class="rounded block" aria-label="Drata" width="32" height="32" poster="https://ph-files.imgix.net/3fb11916-7ee1-48bb-bb3c-b35797644dfb.gif?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;fm=webp&amp;w=32&amp;h=32&amp;fit=max&amp;frame=1&amp;dpr=2" muted="" loop="" disableRemotePlayback="" disablePictureInPicture="" playsInline="" preload="none"><source src="https://ph-files.imgix.net/3fb11916-7ee1-48bb-bb3c-b35797644dfb.gif?fm=mp4&amp;crop=max&amp;w=32&amp;h=32&amp;dpr=2#t=0.001" type="video/mp4"/><source src="https://ph-files.imgix.net/3fb11916-7ee1-48bb-bb3c-b35797644dfb.gif?fm=webm&amp;crop=max&amp;w=32&amp;h=32&amp;dpr=2#t=0.001" type="video/webm"/></video></a><div><a class="truncate text-16 font-semibold text-primary hover:underline" href="/products/drata">Drata</a><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><div class="text-14 font-medium text-primary">161 reviews</div><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="TagList" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" data-sentry-element="TagIcon" data-sentry-source-file="index.tsx"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m12.25 6.417-4.43-4.43c-.303-.303-.454-.454-.63-.562a1.8 1.8 0 0 0-.506-.21c-.202-.048-.416-.048-.844-.048H3.5M1.75 5.075v1.152c0 .285 0 .428.032.562q.044.18.14.337c.072.118.173.219.375.42l4.55 4.55c.462.463.693.694.96.78.233.077.486.077.72 0 .267-.086.498-.317.96-.78l1.443-1.443c.462-.462.693-.693.78-.96a1.17 1.17 0 0 0 0-.72c-.087-.267-.318-.498-.78-.96L6.672 3.755c-.202-.202-.303-.303-.42-.375a1.2 1.2 0 0 0-.338-.14c-.134-.032-.277-.032-.562-.032H3.617c-.654 0-.98 0-1.23.128-.22.111-.398.29-.51.51-.127.249-.127.576-.127 1.229"></path></svg><a class="text-14 font-normal text-dark-gray text-primary hover:underline" target="_blank" href="/categories/automation">Automation tools</a></div></div></div></div><a class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx" href="/products/npm/alternatives">View all npm alternatives</a></section><section class="flex flex-col items-center gap-4 rounded-xl bg-gray-50 p-4 sm:flex-row" data-sentry-component="SectionCard" data-sentry-source-file="index.tsx"><div class="flex flex-1 flex-row items-center gap-4"><svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none" class="rounded-xl border-2 border-gray-200 bg-white stroke-gray-700 p-[10px]" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path stroke="#344054" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M13.163 4.029c.269-.545.403-.817.586-.904a.58.58 0 0 1 .502 0c.182.087.317.36.586.904l2.55 5.168c.08.161.12.241.178.304a.6.6 0 0 0 .181.132c.078.036.166.049.344.075l5.706.834c.601.087.902.131 1.04.278a.58.58 0 0 1 .155.478c-.026.2-.244.412-.679.836l-4.127 4.02c-.129.125-.193.188-.235.263a.6.6 0 0 0-.07.213c-.01.085.006.174.036.35l.974 5.68c.103.598.154.898.058 1.075a.58.58 0 0 1-.407.295c-.199.037-.468-.104-1.005-.387l-5.102-2.683c-.159-.084-.238-.125-.322-.142a.6.6 0 0 0-.225 0c-.083.017-.163.058-.322.142l-5.101 2.683c-.538.283-.807.424-1.006.387a.58.58 0 0 1-.406-.295c-.097-.177-.045-.477.057-1.076l.974-5.678c.03-.178.046-.266.036-.35a.6.6 0 0 0-.07-.214c-.041-.075-.106-.138-.234-.263l-4.128-4.02c-.435-.424-.653-.636-.679-.836a.58.58 0 0 1 .155-.478c.139-.147.44-.19 1.04-.278l5.707-.834c.177-.026.266-.04.343-.075a.6.6 0 0 0 .182-.132c.058-.063.097-.143.177-.304z"></path></svg><div class="flex flex-col gap-1"><h3 class="text-16 font-medium text-primary">Review npm?</h3><div class="text-14 text-secondary"><div class="flex flex-col gap-2 sm:flex-row"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span>4.96<!-- -->/5 based on<!-- --> <!-- -->70 reviews</span></div></div></div></div><div class="flex flex-row items-center gap-4"><a class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx" href="/products/npm/reviews">View all reviews</a><button type="button" class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx">Leave a review</button></div></section><section class="flex flex-col gap-6" data-sentry-component="Shoutouts" data-sentry-source-file="index.tsx"><h2 class="text-18 font-medium text-primary" data-sentry-component="SectionTitle" data-sentry-source-file="SectionTitle.tsx">Maker reviews of <!-- -->npm</h2><div class="flex flex-col gap-10"><div class="flex flex-row gap-4" data-test="shoutout-28051" data-sentry-component="ShoutoutCard" data-sentry-source-file="index.tsx"><div class="relative size-12 shrink-0"><div class=""><img loading="lazy" srcSet="https://ph-files.imgix.net/95acedf1-574b-47dc-ba46-b6c970f16893.x-icon?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/95acedf1-574b-47dc-ba46-b6c970f16893.x-icon?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/95acedf1-574b-47dc-ba46-b6c970f16893.x-icon?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/95acedf1-574b-47dc-ba46-b6c970f16893.x-icon?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=crop&amp;frame=1" style="width:40px;height:40px" alt="VideoGen" class="rounded" data-test="VideoGen-thumbnail"/></div><div class="absolute bottom-0 right-0 rounded-full"><div class=""><img loading="lazy" srcSet="https://ph-avatars.imgix.net/5740570/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=24&amp;h=24&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/5740570/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=24&amp;h=24&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/5740570/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=24&amp;h=24&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/5740570/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=24&amp;h=24&amp;fit=crop&amp;frame=1" style="width:24px;height:24px" alt="Anton Koenig" class="rounded-full"/></div></div></div><div class="flex flex-1 flex-col gap-2"><div class="flex flex-row flex-wrap items-center gap-2"><div class="text-16 font-medium text-primary"><a class="hover:underline" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@antonckoenig">Anton Koenig</a></div> <span class="text-16 font-medium text-primary">used this to build</span><img loading="lazy" srcSet="https://ph-files.imgix.net/95acedf1-574b-47dc-ba46-b6c970f16893.x-icon?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/95acedf1-574b-47dc-ba46-b6c970f16893.x-icon?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/95acedf1-574b-47dc-ba46-b6c970f16893.x-icon?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/95acedf1-574b-47dc-ba46-b6c970f16893.x-icon?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1" style="width:16px;height:16px" alt="VideoGen (YC S24)"/><a class="text-14 font-medium hover:underline" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/posts/videogen-yc-s24">VideoGen</a><div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="flex items-center"><g clip-path="url(#FirstIcon_svg__a)"><g filter="url(#FirstIcon_svg__b)"><path fill="url(#FirstIcon_svg__c)" d="M8 16c-.5 0-.9-.1-1.4-.4L2 13c-.9-.5-1.4-1.4-1.4-2.4V5.4c0-1 .5-1.9 1.4-2.4L6.6.4c.8-.5 1.9-.5 2.7 0L14 3c.9.5 1.4 1.4 1.4 2.4v5.2c0 1-.5 1.9-1.4 2.4l-4.6 2.6c-.5.3-.9.4-1.4.4M8 1c-.3 0-.6.1-.9.2L2.5 3.9c-.5.3-.9.9-.9 1.5v5.2c0 .6.3 1.2.9 1.5l4.6 2.6c.5.3 1.2.3 1.7 0l4.6-2.6c.5-.3.9-.9.9-1.5V5.4c0-.6-.3-1.2-.9-1.5L8.9 1.2C8.6 1.1 8.3 1 8 1"></path><path stroke="#7D662C" stroke-opacity="0.24" stroke-width="0.167" d="M6.643 15.528c.487.293.872.389 1.357.389s.87-.096 1.357-.389h.002l4.6-2.6c.873-.486 1.358-1.357 1.358-2.328V5.4c0-.971-.485-1.842-1.357-2.327zm0 0H6.64l-4.6-2.6A2.61 2.61 0 0 1 .682 10.6V5.4c0-.971.485-1.843 1.357-2.327h.001l4.6-2.6.003-.002a2.53 2.53 0 0 1 2.612 0l.004.002 4.7 2.6zm.43-14.407-.008.003-.007.004-4.6 2.7c-.522.313-.941.938-.941 1.572v5.2c0 .626.313 1.257.944 1.574l4.597 2.598a1.8 1.8 0 0 0 1.784 0l4.599-2.6h.002c.52-.313.94-.938.94-1.572V5.4c0-.626-.313-1.257-.943-1.573L8.943 1.128l-.008-.004-.009-.003-.006-.002C8.624 1.02 8.314.917 8 .917s-.624.103-.92.202z"></path></g><g filter="url(#FirstIcon_svg__d)"><path fill="url(#FirstIcon_svg__e)" d="M3.324 5.813A3 3 0 0 1 6.318 3h3.364a3 3 0 0 1 2.994 2.813l.21 3.366a3 3 0 0 1-1.45 2.76l-1.893 1.135a3 3 0 0 1-3.086 0l-1.893-1.135a3 3 0 0 1-1.45-2.76z"></path><path stroke="#7D662C" stroke-opacity="0.24" stroke-width="0.167" d="M3.407 5.818a2.917 2.917 0 0 1 2.911-2.735h3.364a2.917 2.917 0 0 1 2.91 2.735l.211 3.366a2.92 2.92 0 0 1-1.41 2.683L9.5 13.002a2.92 2.92 0 0 1-3.002 0l-1.892-1.135a2.92 2.92 0 0 1-1.41-2.683z"></path></g><path fill="#fff" d="M7.5 6.2H6.3v-.8c1 0 1.3-.2 1.6-.9h.8v7.3H7.5z"></path></g><defs><radialGradient id="FirstIcon_svg__c" cx="0" cy="0" r="1" gradientTransform="matrix(11.1949 0 0 12.5379 8 11.06)" gradientUnits="userSpaceOnUse"><stop stop-color="#C49A32"></stop><stop offset="0.589" stop-color="#E4C16C"></stop><stop offset="1" stop-color="#DDD1A4"></stop></radialGradient><radialGradient id="FirstIcon_svg__e" cx="0" cy="0" r="1" gradientTransform="matrix(7.5641 0 0 8.63333 8 10.598)" gradientUnits="userSpaceOnUse"><stop stop-color="#C49A32"></stop><stop offset="0.589" stop-color="#E4C16C"></stop><stop offset="1" stop-color="#DDD1A4"></stop></radialGradient><filter id="FirstIcon_svg__b" width="20.267" height="21.442" x="-2.133" y="-2.708" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"></feColorMatrix><feOffset></feOffset><feGaussianBlur stdDeviation="1.367"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix values="0 0 0 0 1 0 0 0 0 0.804086 0 0 0 0 0.300309 0 0 0 0.21 0"></feColorMatrix><feBlend in2="BackgroundImageFix" result="effect1_dropShadow_2598_5594"></feBlend><feBlend in="SourceGraphic" in2="effect1_dropShadow_2598_5594" result="shape"></feBlend></filter><filter id="FirstIcon_svg__d" width="15.251" height="15.968" x="0.375" y="0.267" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"></feColorMatrix><feOffset></feOffset><feGaussianBlur stdDeviation="1.367"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix values="0 0 0 0 1 0 0 0 0 0.804086 0 0 0 0 0.300309 0 0 0 0.21 0"></feColorMatrix><feBlend in2="BackgroundImageFix" result="effect1_dropShadow_2598_5594"></feBlend><feBlend in="SourceGraphic" in2="effect1_dropShadow_2598_5594" result="shape"></feBlend></filter><clipPath id="FirstIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg></div><div class="text-14 font-normal text-gray-500">(<!-- -->1,160 points<!-- -->)</div></div><div class="text-16 text-tertiary">Easy, simple, and universal!</div><div class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="action-bar-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span></button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2024-09-05T02:36:03-07:00" title="Thursday, September 5th 2024, 9:36:03 AM">6mo ago</time></div></div></div></div><div class="flex flex-row gap-4" data-test="shoutout-40381" data-sentry-component="ShoutoutCard" data-sentry-source-file="index.tsx"><div class="relative size-12 shrink-0"><div class=""><img loading="lazy" srcSet="https://ph-files.imgix.net/7cdee0cb-3f0f-4def-92c0-7137df568438.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/7cdee0cb-3f0f-4def-92c0-7137df568438.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/7cdee0cb-3f0f-4def-92c0-7137df568438.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/7cdee0cb-3f0f-4def-92c0-7137df568438.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=crop&amp;frame=1" style="width:40px;height:40px" alt="Codebuff" class="rounded" data-test="Codebuff-thumbnail"/></div><div class="absolute bottom-0 right-0 rounded-full"><div class=""><img loading="lazy" srcSet="https://ph-avatars.imgix.net/661095/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=24&amp;h=24&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/661095/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=24&amp;h=24&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/661095/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=24&amp;h=24&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/661095/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=24&amp;h=24&amp;fit=crop&amp;frame=1" style="width:24px;height:24px" alt="Brandon Chen" class="rounded-full"/></div></div></div><div class="flex flex-1 flex-col gap-2"><div class="flex flex-row flex-wrap items-center gap-2"><div class="text-16 font-medium text-primary"><a class="hover:underline" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@brandon_chen1">Brandon Chen</a></div> <span class="text-16 font-medium text-primary">used this to build</span><img loading="lazy" srcSet="https://ph-files.imgix.net/a7c2b93c-18fa-48ee-9a9f-1f3664b17039.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/a7c2b93c-18fa-48ee-9a9f-1f3664b17039.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/a7c2b93c-18fa-48ee-9a9f-1f3664b17039.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/a7c2b93c-18fa-48ee-9a9f-1f3664b17039.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1" style="width:16px;height:16px" alt="Codebuff"/><a class="text-14 font-medium hover:underline" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/posts/codebuff">Codebuff</a><div class="text-14 font-normal text-gray-500">(<!-- -->204 points<!-- -->)</div></div><div class="text-16 text-tertiary">Super easy way to install useful packages. Codebuff is a package on npm, so it can be installed as easily as `npm i -g codebuff`! npm makes it really easy for us to push out new versions and track usage over time.</div><div class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="action-bar-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span></button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2024-10-13T23:56:07-07:00" title="Monday, October 14th 2024, 6:56:07 AM">4mo ago</time></div></div></div></div><div class="flex flex-row gap-4" data-test="shoutout-23573" data-sentry-component="ShoutoutCard" data-sentry-source-file="index.tsx"><div class="relative size-12 shrink-0"><div class=""><img loading="lazy" srcSet="https://ph-files.imgix.net/f9232c7e-40c8-44a5-abbd-39fa39dd105b.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/f9232c7e-40c8-44a5-abbd-39fa39dd105b.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/f9232c7e-40c8-44a5-abbd-39fa39dd105b.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/f9232c7e-40c8-44a5-abbd-39fa39dd105b.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=crop&amp;frame=1" style="width:40px;height:40px" alt="Darkest-PR" class="rounded" data-test="Darkest-PR-thumbnail"/></div><div class="absolute bottom-0 right-0 rounded-full"><div class=""><img loading="lazy" srcSet="https://ph-avatars.imgix.net/7480332/71c068fc-b443-4d2d-a694-9bab1f834a4f.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=24&amp;h=24&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/7480332/71c068fc-b443-4d2d-a694-9bab1f834a4f.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=24&amp;h=24&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/7480332/71c068fc-b443-4d2d-a694-9bab1f834a4f.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=24&amp;h=24&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/7480332/71c068fc-b443-4d2d-a694-9bab1f834a4f.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=24&amp;h=24&amp;fit=crop&amp;frame=1" style="width:24px;height:24px" alt="Yiğit Kürşad Ersoy" class="rounded-full"/></div></div></div><div class="flex flex-1 flex-col gap-2"><div class="flex flex-row flex-wrap items-center gap-2"><div class="text-16 font-medium text-primary"><a class="hover:underline" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@skywarth">Yiğit Kürşad Ersoy</a></div> <span class="text-16 font-medium text-primary">used this to build</span><img loading="lazy" srcSet="https://ph-files.imgix.net/f9232c7e-40c8-44a5-abbd-39fa39dd105b.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/f9232c7e-40c8-44a5-abbd-39fa39dd105b.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/f9232c7e-40c8-44a5-abbd-39fa39dd105b.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/f9232c7e-40c8-44a5-abbd-39fa39dd105b.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1" style="width:16px;height:16px" alt="Darkest-PR"/><a class="text-14 font-medium hover:underline" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/posts/darkest-pr">Darkest-PR</a><div class="text-14 font-normal text-gray-500">(<!-- -->100 points<!-- -->)</div></div><div class="text-16 text-tertiary">Package manager used for managing the dependencies.</div><div class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="action-bar-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span></button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2024-08-17T05:45:19-07:00" title="Saturday, August 17th 2024, 12:45:19 PM">6mo ago</time></div></div></div></div></div><a class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx" href="/products/npm/shoutouts">View all npm reviews</a></section><section class="flex flex-col gap-6" data-sentry-component="Reviews" data-sentry-source-file="index.tsx"><h2 class="text-18 font-medium text-primary" data-sentry-component="SectionTitle" data-sentry-source-file="SectionTitle.tsx">Reviews</h2><div class="flex flex-col gap-10"><div class="flex flex-row gap-4" data-sentry-component="ReviewItem" data-sentry-source-file="index.tsx"><div class="relative shrink-0"><div class=""><a data-test="user-image-link-2952349" aria-label="anton tishchenko" class="block rounded-full" data-sentry-element="Link" data-sentry-component="UserImageLink" data-sentry-source-file="index.tsx" href="/@anton_tishchenko"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/2952349/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/2952349/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/2952349/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/2952349/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="anton tishchenko" class="rounded-full"/></a></div></div><div class="flex flex-1 flex-col gap-1"><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="UserSpotlight" data-sentry-source-file="index.tsx"><div class=""><a class="text-16 font-medium text-primary" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@anton_tishchenko">anton tishchenko</a></div><div class=""><a class="flex items-center gap-1" target="_blank" data-sentry-element="Link" data-sentry-component="CompanyCallout" data-sentry-source-file="index.tsx" href="/products/easy-mockup-figma-plugin"><img loading="lazy" srcSet="https://ph-files.imgix.net/adb78612-a1d9-4bb7-9c1e-c151f3ae3d48.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/adb78612-a1d9-4bb7-9c1e-c151f3ae3d48.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/adb78612-a1d9-4bb7-9c1e-c151f3ae3d48.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/adb78612-a1d9-4bb7-9c1e-c151f3ae3d48.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1" style="width:16px;height:16px" alt="Easy Mockup Figma Plugin" class="rounded" data-test="Easy Mockup Figma Plugin-thumbnail"/><p class="hidden text-14 font-semibold text-gray-700 sm:block">Easy Mockup Figma Plugin</p></a></div></div><div class="flex flex-row items-center gap-1"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><span class="text-14 text-secondary">2 reviews</span></div><div class="styles_htmlText__eYPgj text-16 font-normal text-dark-gray styles_format__8NeQe mb-2 text-tertiary">there is no alternative....</div><div data-test="review-679440-actionbar" class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="review-679440-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span></button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2023-09-24T02:37:40-07:00" title="Sunday, September 24th 2023, 9:37:40 AM">1yr ago</time></div><a href="#" class="flex items-center" data-test="review-menu-button" data-sentry-element="ContentToggle" data-sentry-source-file="index.tsx" data-sentry-component="ContentToggle"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="4" viewBox="0 0 15 4" data-sentry-element="ThreeDotsMenuIcon" data-sentry-source-file="index.tsx"><g fill="#9B9B9B" fill-rule="evenodd"><circle cx="1.5" cy="1.5" r="1.5"></circle><circle cx="7.5" cy="1.5" r="1.5"></circle><circle cx="13.5" cy="1.5" r="1.5"></circle></g></svg></a></div></div></div><div class="flex flex-row gap-4" data-sentry-component="ReviewItem" data-sentry-source-file="index.tsx"><div class="relative shrink-0"><div class=""><a data-test="user-image-link-1208466" aria-label="Ricardo Alamino" class="block rounded-full" data-sentry-element="Link" data-sentry-component="UserImageLink" data-sentry-source-file="index.tsx" href="/@ricalamino"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/1208466/6ab3e007-3987-4886-88f0-284723a5543f.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/1208466/6ab3e007-3987-4886-88f0-284723a5543f.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/1208466/6ab3e007-3987-4886-88f0-284723a5543f.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/1208466/6ab3e007-3987-4886-88f0-284723a5543f.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Ricardo Alamino" class="rounded-full"/></a></div></div><div class="flex flex-1 flex-col gap-1"><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="UserSpotlight" data-sentry-source-file="index.tsx"><div class=""><a class="text-16 font-medium text-primary" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@ricalamino">Ricardo Alamino</a></div></div><div class="flex flex-row items-center gap-1"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><span class="text-14 text-secondary">27 reviews</span></div><div class="styles_htmlText__eYPgj text-16 font-normal text-dark-gray styles_format__8NeQe mb-2 text-tertiary"><p>Is there any plan to translate according to browser language?</p></div><div data-test="review-155672-actionbar" class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="review-155672-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span></button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2019-04-26T08:59:02-07:00" title="Friday, April 26th 2019, 3:59:02 PM">6yr ago</time></div><a href="#" class="flex items-center" data-test="review-menu-button" data-sentry-element="ContentToggle" data-sentry-source-file="index.tsx" data-sentry-component="ContentToggle"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="4" viewBox="0 0 15 4" data-sentry-element="ThreeDotsMenuIcon" data-sentry-source-file="index.tsx"><g fill="#9B9B9B" fill-rule="evenodd"><circle cx="1.5" cy="1.5" r="1.5"></circle><circle cx="7.5" cy="1.5" r="1.5"></circle><circle cx="13.5" cy="1.5" r="1.5"></circle></g></svg></a></div></div></div><div class="flex flex-row gap-4" data-sentry-component="ReviewItem" data-sentry-source-file="index.tsx"><div class="relative shrink-0"><div class=""><a data-test="user-image-link-4858710" aria-label="Hidayt Rahman" class="block rounded-full" data-sentry-element="Link" data-sentry-component="UserImageLink" data-sentry-source-file="index.tsx" href="/@hidaytrahman"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/4858710/697ec7d4-e0ab-4522-b543-b3dd225c8462.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/4858710/697ec7d4-e0ab-4522-b543-b3dd225c8462.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/4858710/697ec7d4-e0ab-4522-b543-b3dd225c8462.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/4858710/697ec7d4-e0ab-4522-b543-b3dd225c8462.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Hidayt Rahman" class="rounded-full"/></a></div></div><div class="flex flex-1 flex-col gap-1"><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="UserSpotlight" data-sentry-source-file="index.tsx"><div class=""><a class="text-16 font-medium text-primary" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@hidaytrahman">Hidayt Rahman</a></div><div class=""><a class="flex items-center gap-1" target="_blank" data-sentry-element="Link" data-sentry-component="CompanyCallout" data-sentry-source-file="index.tsx" href="/products/chepo"><img loading="lazy" srcSet="https://ph-files.imgix.net/2b1ceefa-bf07-46ab-b678-60fa1f7804d4.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/2b1ceefa-bf07-46ab-b678-60fa1f7804d4.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/2b1ceefa-bf07-46ab-b678-60fa1f7804d4.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/2b1ceefa-bf07-46ab-b678-60fa1f7804d4.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1" style="width:16px;height:16px" alt="Chepo" class="rounded" data-test="Chepo-thumbnail"/><p class="hidden text-14 font-semibold text-gray-700 sm:block">Chepo</p></a></div></div><div class="flex flex-row items-center gap-1"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><span class="text-14 text-secondary">12 reviews</span></div><div class="styles_htmlText__eYPgj text-16 font-normal text-dark-gray styles_format__8NeQe mb-2 text-tertiary">:)</div><div data-test="review-554996-actionbar" class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="review-554996-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span></button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2022-11-30T09:51:13-08:00" title="Wednesday, November 30th 2022, 5:51:13 PM">2yr ago</time></div><a href="#" class="flex items-center" data-test="review-menu-button" data-sentry-element="ContentToggle" data-sentry-source-file="index.tsx" data-sentry-component="ContentToggle"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="4" viewBox="0 0 15 4" data-sentry-element="ThreeDotsMenuIcon" data-sentry-source-file="index.tsx"><g fill="#9B9B9B" fill-rule="evenodd"><circle cx="1.5" cy="1.5" r="1.5"></circle><circle cx="7.5" cy="1.5" r="1.5"></circle><circle cx="13.5" cy="1.5" r="1.5"></circle></g></svg></a></div></div></div><div class="flex flex-row gap-4" data-sentry-component="ReviewItem" data-sentry-source-file="index.tsx"><div class="relative shrink-0"><div class=""><a data-test="user-image-link-7601721" aria-label="Noman Zahoor" class="block rounded-full" data-sentry-element="Link" data-sentry-component="UserImageLink" data-sentry-source-file="index.tsx" href="/@noman_zahoor1"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/7601721/original.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/7601721/original.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/7601721/original.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/7601721/original.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Noman Zahoor" class="rounded-full"/></a></div></div><div class="flex flex-1 flex-col gap-1"><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="UserSpotlight" data-sentry-source-file="index.tsx"><div class=""><a class="text-16 font-medium text-primary" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@noman_zahoor1">Noman Zahoor</a></div></div><div class="flex flex-row items-center gap-1"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><span class="text-14 text-secondary">65 reviews</span></div><div class="styles_htmlText__eYPgj text-16 font-normal text-dark-gray styles_format__8NeQe mb-2 text-tertiary">Despite its advanced capabilities, the tool is intuitive and easy to navigate, which made onboarding quick and seamless</div><div data-test="review-806582-actionbar" class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="review-806582-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span></button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2024-09-23T04:38:11-07:00" title="Monday, September 23rd 2024, 11:38:11 AM">5mo ago</time></div><a href="#" class="flex items-center" data-test="review-menu-button" data-sentry-element="ContentToggle" data-sentry-source-file="index.tsx" data-sentry-component="ContentToggle"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="4" viewBox="0 0 15 4" data-sentry-element="ThreeDotsMenuIcon" data-sentry-source-file="index.tsx"><g fill="#9B9B9B" fill-rule="evenodd"><circle cx="1.5" cy="1.5" r="1.5"></circle><circle cx="7.5" cy="1.5" r="1.5"></circle><circle cx="13.5" cy="1.5" r="1.5"></circle></g></svg></a></div></div></div><div class="flex flex-row gap-4" data-sentry-component="ReviewItem" data-sentry-source-file="index.tsx"><div class="relative shrink-0"><div class=""><a data-test="user-image-link-1743246" aria-label="Tom Medema" class="block rounded-full" data-sentry-element="Link" data-sentry-component="UserImageLink" data-sentry-source-file="index.tsx" href="/@tom4"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/1743246/f47b2ea7-3d10-4440-a2fa-0caf008667ad.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/1743246/f47b2ea7-3d10-4440-a2fa-0caf008667ad.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/1743246/f47b2ea7-3d10-4440-a2fa-0caf008667ad.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/1743246/f47b2ea7-3d10-4440-a2fa-0caf008667ad.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Tom Medema" class="rounded-full"/></a></div></div><div class="flex flex-1 flex-col gap-1"><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="UserSpotlight" data-sentry-source-file="index.tsx"><div class=""><a class="text-16 font-medium text-primary" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@tom4">Tom Medema</a></div><div class=""><a class="flex items-center gap-1" target="_blank" data-sentry-element="Link" data-sentry-component="CompanyCallout" data-sentry-source-file="index.tsx" href="/products/bubbles"><video style="width:16px;height:16px" class="rounded block" aria-label="Bubbles" width="16" height="16" poster="https://ph-files.imgix.net/bca93505-dd1b-452e-89d3-1ad1ae53f598.gif?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;fm=webp&amp;w=16&amp;h=16&amp;fit=max&amp;frame=1&amp;dpr=2" muted="" loop="" disableRemotePlayback="" disablePictureInPicture="" playsInline="" preload="none"><source src="https://ph-files.imgix.net/bca93505-dd1b-452e-89d3-1ad1ae53f598.gif?fm=mp4&amp;crop=max&amp;w=16&amp;h=16&amp;dpr=2#t=0.001" type="video/mp4"/><source src="https://ph-files.imgix.net/bca93505-dd1b-452e-89d3-1ad1ae53f598.gif?fm=webm&amp;crop=max&amp;w=16&amp;h=16&amp;dpr=2#t=0.001" type="video/webm"/></video><p class="hidden text-14 font-semibold text-gray-700 sm:block">Bubbles</p></a></div></div><div class="flex flex-row items-center gap-1"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><span class="text-14 text-secondary">159 reviews</span></div><div class="styles_htmlText__eYPgj text-16 font-normal text-dark-gray styles_format__8NeQe mb-2 text-tertiary"></div><div data-test="review-261798-actionbar" class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="review-261798-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span></button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2020-05-22T05:03:10-07:00" title="Friday, May 22nd 2020, 12:03:10 PM">4yr ago</time></div><a href="#" class="flex items-center" data-test="review-menu-button" data-sentry-element="ContentToggle" data-sentry-source-file="index.tsx" data-sentry-component="ContentToggle"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="4" viewBox="0 0 15 4" data-sentry-element="ThreeDotsMenuIcon" data-sentry-source-file="index.tsx"><g fill="#9B9B9B" fill-rule="evenodd"><circle cx="1.5" cy="1.5" r="1.5"></circle><circle cx="7.5" cy="1.5" r="1.5"></circle><circle cx="13.5" cy="1.5" r="1.5"></circle></g></svg></a></div></div></div></div><a class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx" href="/products/npm/reviews">View all</a></section></div><script>$RS=function(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS("S:1","P:1")</script><script>$RC=function(b,c,e){c=document.getElementById(c);c.parentNode.removeChild(c);var a=document.getElementById(b);if(a){b=a.previousSibling;if(e)b.data="$!",a.setAttribute("data-dgst",e);else{e=b.parentNode;a=b.nextSibling;var f=0;do{if(a&&8===a.nodeType){var d=a.data;if("/$"===d)if(0===f)break;else f--;else"$"!==d&&"$?"!==d&&"$!"!==d||f++}d=a.nextSibling;e.removeChild(a);a=d}while(a);for(;c.firstChild;)e.insertBefore(c.firstChild,a);b.data="$"}b._reactRetry&&b._reactRetry()}};$RC("B:0","S:0")</script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10