An open-source link shortener built with Vercel Edge Functions and Upstash Redis.

Overview

Dub

An open-source link shortener built with Vercel Edge Functions and Upstash Redis.

Introduction · Deploy Your Own · Contributing


Introduction

Dub is an open-source link shortener built with Vercel Edge Functions and Upstash Redis.

Deploy Your Own

Deploy with Vercel

Contributing

  • Open an issue if you believe you've encountered a bug.
  • Make a pull request to add new features/make quality-of-life improvements/fix bugs.

Author

License

The MIT License.

Comments
  • feat: add QR code modal

    feat: add QR code modal

    Adds a QR button to link cards, allowing you to generate QR codes out of it. This also involved adding and modifying the source code for https://github.com/zpao/qrcode.react, since I needed to use some of it's internal functions to generate the codes to be available to download.

    hacktoberfest-accepted 
    opened by Snazzah 10
  • Error when deploying with Vercel

    Error when deploying with Vercel

    Hiya, I'm attempting to deploy my own instance with the provided 'Deploy with Vercel' button, but after entering my environment variables, it's just returning an error of Invalid request: should be object..

    I've followed the instructions from the .env.example and my Planetscale SQL tables are setup using the prisma/schema.prisma. image

    Thanks!

    opened by IzMichael 7
  • My all links got wiped out after sometime

    My all links got wiped out after sometime

    Hi there! I have been using Dub for over a month now and for some reason all my links got wiped out the other day. They redirected to the homepage

    For example this link https://dub.sh/QAmwGY5 doesn't work anymore.

    opened by Muzzthecoder 7
  • feat: add Referrals section

    feat: add Referrals section

    ~~This adds UTM parameter tracking to links, mainly coming from this commit on Stub.~~ This also adds a Referrals section to show tracked referrers. This should work, although I haven't tested it.

    closes #60

    hacktoberfest-accepted 
    opened by Snazzah 7
  • BlurImage is too big + reduce screen real estate for link cards

    BlurImage is too big + reduce screen real estate for link cards

    blur is too big and bugs here and there, as you can see in the second link’s image

    CleanShot 2022-10-15 at 20 57 32

    also, wouldn’t it be better to add like a dropdown with cats instead of these big buttons? i know those have a confirmation modal, but maybe for a user who has lots of links it’s easier to browse through them by removing that space

    h/t to @smonolo for the feedback!

    enhancement 
    opened by steven-tey 6
  • Create password-protected links

    Create password-protected links

    It would be nice if there was an option to password-protect my link. As soon as the user clicks on the link, he is redirected to a page where he is asked to enter a password. Once he confirms the password, he is redirected to the original link.

    enhancement 
    opened by harel-tussi 6
  • Sign up isn't sending an email

    Sign up isn't sending an email

    Hiya, apologies if this isn't the right place for this.

    I'm trying to sign up on the app.dub.sh/register page, but I'm not receiving an email despite seeing the "Email sent" message. image

    I've tried to sign up with two different emails, one @outlook.com and one with a custom domain, and neither have worked. I tried this yesterday as well as today, and still not received any email.

    opened by IzMichael 5
  • Popup box disappear when you interact with it

    Popup box disappear when you interact with it

    Every time I interact with the project creation and popup, it disappears. (Below is a screen recording of what's happening). The browser I'm using is Arc, however I also run into the same problem using Safari. Please let me know if you want anymore information, and I'd be happy to help! :D

    https://user-images.githubusercontent.com/77097223/193403190-f5dd89a1-5e8f-472e-b81b-4c617b65f34d.mov

    opened by developedbytoby 5
  • [feature suggestion] wizard to create multiple links targeting same url

    [feature suggestion] wizard to create multiple links targeting same url

    as a marketer, I sometimes want to generate multiple links for a campaign targeting a single page, but across different platform.

    Instead of having to use the new link form n times I'd rather select my platforms in a multi select and fill the target url in a second step. That would in turn create n links.

    enhancement 
    opened by jbtheard 4
  • Added Prettier and VSCode Config files

    Added Prettier and VSCode Config files

    Continuation of #55 and #62.

    Added only Prettier and VSCode configuration files without husky and precommit

    What needs to be done:

    Install prettier and import sort dep

    yarn add -D prettier @trivago/prettier-plugin-sort-imports
    
    hacktoberfest-accepted 
    opened by max-programming 4
  • feat: add cursor-pointer to question-circles

    feat: add cursor-pointer to question-circles

    closes #57

    However, while debugging on iPad screens, I noticed that tooltips don't work. No modal pops out when you click on it. I'm not sure what the root cause of this issue is -- but I am able to reproduce this on my iPad, so there is definitely some weird thing happening.

    p.s - a hacktoberfest-accepted label would be great! :)

    opened by ynbh 4
  • Vercel setup of Dub Error

    Vercel setup of Dub Error

    [01:01:05.952] Cloning github.com/love2wind/dub (Branch: main, Commit: a40b188) [01:01:05.960] Skipping build cache since Vercel CLI used --force option [01:01:06.430] Cloning completed: 477.253ms [01:01:06.909] Running "vercel build" [01:01:07.636] Vercel CLI 28.9.0 [01:01:08.147] Installing dependencies... [01:01:08.637] yarn install v1.22.17 [01:01:08.739] [1/4] Resolving packages... [01:01:09.206] [2/4] Fetching packages... [01:01:44.192] [3/4] Linking dependencies... [01:01:44.206] warning " > [email protected]" has unmet peer dependency "prop-types@^15.8.1". [01:01:44.207] warning "mailing-core > mjml-react > [email protected]" has incorrect peer dependency "react@^17.0.2". [01:01:44.208] warning "react-hot-toast > [email protected]" has unmet peer dependency "csstype@^3.0.10". [01:01:44.209] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "konva@>=2.6". [01:01:44.210] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "react-konva@^16.8.0 || ^17.0.0". [01:01:44.210] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "react-native@>=0.58". [01:01:44.210] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "@react-three/fiber@>=6.0". [01:01:44.211] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "three@>=0.126". [01:01:44.213] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "react-zdog@>=1.0". [01:01:44.213] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "zdog@>=1.0". [01:01:44.213] warning " > @trivago/[email protected]" has unmet peer dependency "@vue/[email protected]". [01:01:44.247] warning Workspaces can only be enabled in private projects. [01:02:00.608] [4/4] Building fresh packages... [01:02:08.443] $ prisma generate || true [01:02:09.959] Prisma schema loaded from prisma/schema.prisma [01:02:11.488] [01:02:11.489] ✔ Generated Prisma Client (4.6.1 | library) to ./node_modules/@prisma/client in 264ms [01:02:11.489] You can now start using Prisma Client in your code. Reference: https://pris.ly/d/client [01:02:11.489] [01:02:11.489] import { PrismaClient } from '@prisma/client' [01:02:11.490] const prisma = new PrismaClient() [01:02:11.490] [01:02:11.535] Done in 62.91s. [01:02:11.584] Detected Next.js version: 13.0.5 [01:02:11.587] Running "yarn run build" [01:02:11.974] yarn run v1.22.17 [01:02:12.019] $ prisma generate [01:02:13.558] Prisma schema loaded from prisma/schema.prisma [01:02:15.164] [01:02:15.164] ✔ Generated Prisma Client (4.6.1 | library) to ./node_modules/@prisma/client in 317ms [01:02:15.164] You can now start using Prisma Client in your code. Reference: https://pris.ly/d/client [01:02:15.164] [01:02:15.165] import { PrismaClient } from '@prisma/client' [01:02:15.165] const prisma = new PrismaClient() [01:02:15.165] [01:02:16.227] ┌─────────────────────────────────────────────────────────┐ [01:02:16.227] │ Update available 4.6.1 -> 4.8.0 │ [01:02:16.228] │ Run the following to update │ [01:02:16.228] │ yarn add --dev prisma@latest │ [01:02:16.228] │ yarn add @prisma/client@latest │ [01:02:16.228] └─────────────────────────────────────────────────────────┘ [01:02:16.243] $ next build [01:02:16.802] Attention: Next.js now collects completely anonymous telemetry regarding usage. [01:02:16.802] This information is used to shape Next.js' roadmap and prioritize features. [01:02:16.802] You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL: [01:02:16.803] https://nextjs.org/telemetry [01:02:16.803] [01:02:16.972] info - Linting and checking validity of types... [01:02:29.444] info - Creating an optimized production build... [01:02:29.507] warn - You are using an experimental edge runtime, the API might change. [01:03:16.570] warn - Compiled with warnings [01:03:16.571] [01:03:16.571] ./node_modules/@upstash/redis/esm/platforms/nodejs.js [01:03:16.571] A Node.js API is used (process.version at line: 26) which is not supported in the Edge Runtime. [01:03:16.571] Learn more: https://nextjs.org/docs/api-reference/edge-runtime [01:03:16.571] [01:03:16.572] Import trace for requested module: [01:03:16.572] ./node_modules/@upstash/redis/esm/platforms/nodejs.js [01:03:16.572] ./lib/upstash.ts [01:03:16.572] [01:03:16.572] info - Collecting page data... [01:03:24.471] info - Generating static pages (0/19) [01:03:24.631] info - Generating static pages (4/19) [01:03:24.671] info - Generating static pages (9/19) [01:03:24.725] info - Generating static pages (14/19) [01:03:24.765] (node:1358) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time [01:03:24.767] (Use node --trace-warnings ... to show where the warning was created) [01:03:24.843] [01:03:24.843] Error occurred prerendering page "/metatags". Read more: https://nextjs.org/docs/messages/prerender-error [01:03:24.843] TypeError: Cannot read properties of undefined (reading 'entities') [01:03:24.844] at getExternalUrls (/vercel/path0/.next/server/chunks/5298.js:491:36) [01:03:24.844] at getTweet (/vercel/path0/.next/server/chunks/5298.js:504:23) [01:03:24.845] at process.processTicksAndRejections (node:internal/process/task_queues:95:5) [01:03:24.845] at async Promise.all (index 0) [01:03:24.845] at async getStaticProps (/vercel/path0/.next/server/pages/metatags.js:274:20) [01:03:24.846] at async renderToHTML (/vercel/path0/node_modules/next/dist/server/render.js:384:20) [01:03:24.846] at async /vercel/path0/node_modules/next/dist/export/worker.js:248:32 [01:03:24.847] at async Span.traceAsyncFn (/vercel/path0/node_modules/next/dist/trace/trace.js:79:20) [01:03:25.677] [01:03:25.677] Error occurred prerendering page "/". Read more: https://nextjs.org/docs/messages/prerender-error [01:03:25.677] Error: [01:03:25.677] Invalid prisma.user.count() invocation: [01:03:25.677] [01:03:25.677] [01:03:25.678] The table (not available) does not exist in the current database. [01:03:25.678] at RequestHandler.handleRequestError (/vercel/path0/node_modules/@prisma/client/runtime/index.js:34310:13) [01:03:25.678] at RequestHandler.request (/vercel/path0/node_modules/@prisma/client/runtime/index.js:34293:12) [01:03:25.678] at async PrismaClient._request (/vercel/path0/node_modules/@prisma/client/runtime/index.js:35273:16) [01:03:25.678] at async getStaticProps (/vercel/path0/.next/server/pages/index.js:1790:23) [01:03:25.679] at async renderToHTML (/vercel/path0/node_modules/next/dist/server/render.js:384:20) [01:03:25.679] at async /vercel/path0/node_modules/next/dist/export/worker.js:248:32 [01:03:25.679] at async Span.traceAsyncFn (/vercel/path0/node_modules/next/dist/trace/trace.js:79:20) [01:03:25.679] info - Generating static pages (19/19) [01:03:25.683] [01:03:25.683] > Build error occurred [01:03:25.688] Error: Export encountered errors on following paths: [01:03:25.688] / [01:03:25.688] /metatags [01:03:25.688] at /vercel/path0/node_modules/next/dist/export/index.js:408:19 [01:03:25.688] at process.processTicksAndRejections (node:internal/process/task_queues:95:5) [01:03:25.689] at async Span.traceAsyncFn (/vercel/path0/node_modules/next/dist/trace/trace.js:79:20) [01:03:25.690] at async /vercel/path0/node_modules/next/dist/build/index.js:1334:21 [01:03:25.690] at async Span.traceAsyncFn (/vercel/path0/node_modules/next/dist/trace/trace.js:79:20) [01:03:25.690] at async /vercel/path0/node_modules/next/dist/build/index.js:1194:17 [01:03:25.691] at async Span.traceAsyncFn (/vercel/path0/node_modules/next/dist/trace/trace.js:79:20) [01:03:25.691] at async Object.build [as default] (/vercel/path0/node_modules/next/dist/build/index.js:65:29) [01:03:25.755] error Command failed with exit code 1. [01:03:25.755] info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. [01:03:25.778] Error: Command "yarn run build" exited with 1

    opened by love2wind 0
  • fix: small improvement in WebGL support check

    fix: small improvement in WebGL support check

    Narrow down the type to remove the any.

    Context: I ended up finding this implementation to check for WebGL support but I found this small improvement.

    opened by danieljpgo 1
  • Unable to deploy using Vercel

    Unable to deploy using Vercel

    So I was not able to deploy directly, and after a bit of searching through the issues pages, saw that getTweet function is to be blamed , tried removing it and that lead to a million other issues, so I jusr added a new environment variable for Twitter_Bearer_Token. That fixed the intial issue but now there is some issue with the function that gets twitter media data below I have attached both the build logs.

    Direct build from dub repo:

    [20:58:13.438] Cloning github.com/abc/abc (Branch: main, Commit: f29850d)
    [20:58:13.755] Previous build cache not available
    [20:58:14.005] Cloning completed: 566.765ms
    [20:58:14.878] Vercel CLI 28.6.0
    [20:58:15.176] Installing dependencies...
    [20:58:15.500] yarn install v1.22.17
    [20:58:15.558] [1/4] Resolving packages...
    [20:58:15.779] [2/4] Fetching packages...
    [20:58:32.078] [3/4] Linking dependencies...
    [20:58:32.084] warning " > [email protected]" has unmet peer dependency "prop-types@^15.8.1".
    [20:58:32.084] warning "mailing-core > mjml-react > [email protected]" has incorrect peer dependency "react@^17.0.2".
    [20:58:32.085] warning "react-hot-toast > [email protected]" has unmet peer dependency "csstype@^3.0.10".
    [20:58:32.086] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "konva@>=2.6".
    [20:58:32.086] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "react-konva@^16.8.0 || ^17.0.0".
    [20:58:32.087] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "react-native@>=0.58".
    [20:58:32.087] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "@react-three/fiber@>=6.0".
    [20:58:32.087] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "three@>=0.126".
    [20:58:32.087] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "react-zdog@>=1.0".
    [20:58:32.088] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "zdog@>=1.0".
    [20:58:32.088] warning " > @trivago/[email protected]" has unmet peer dependency "@vue/[email protected]".
    [20:58:32.103] warning Workspaces can only be enabled in private projects.
    [20:58:46.995] [4/4] Building fresh packages...
    [20:58:50.987] $ prisma generate || true
    [20:58:51.674] Prisma schema loaded from prisma/schema.prisma
    [20:58:52.469] 
    [20:58:52.469] ✔ Generated Prisma Client (4.6.1 | library) to ./node_modules/@prisma/client in 169ms
    [20:58:52.471] You can now start using Prisma Client in your code. Reference: https://pris.ly/d/client
    [20:58:52.471] ```
    [20:58:52.472] import { PrismaClient } from '@prisma/client'
    [20:58:52.472] const prisma = new PrismaClient()
    [20:58:52.472] ```
    [20:58:52.502] Done in 37.01s.
    [20:58:52.537] Detected Next.js version: 13.0.5
    [20:58:52.538] Running "yarn run build"
    [20:58:52.784] yarn run v1.22.17
    [20:58:52.811] $ prisma generate
    [20:58:53.490] Prisma schema loaded from prisma/schema.prisma
    [20:58:54.276] 
    [20:58:54.276] ✔ Generated Prisma Client (4.6.1 | library) to ./node_modules/@prisma/client in 159ms
    [20:58:54.277] You can now start using Prisma Client in your code. Reference: https://pris.ly/d/client
    [20:58:54.277] ```
    [20:58:54.277] import { PrismaClient } from '@prisma/client'
    [20:58:54.277] const prisma = new PrismaClient()
    [20:58:54.277] ```
    [20:58:54.352] ┌─────────────────────────────────────────────────────────┐
    [20:58:54.352] │  Update available 4.6.1 -> 4.7.1                        │
    [20:58:54.352] │  Run the following to update                            │
    [20:58:54.353] │    yarn add --dev prisma@latest                         │
    [20:58:54.353] │    yarn add @prisma/client@latest                       │
    [20:58:54.353] └─────────────────────────────────────────────────────────┘
    [20:58:54.367] $ next build
    [20:58:54.777] Attention: Next.js now collects completely anonymous telemetry regarding usage.
    [20:58:54.777] This information is used to shape Next.js' roadmap and prioritize features.
    [20:58:54.777] You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
    [20:58:54.777] https://nextjs.org/telemetry
    [20:58:54.777] 
    [20:58:54.898] info  - Linting and checking validity of types...
    [20:59:02.345] info  - Creating an optimized production build...
    [20:59:02.392] warn  - You are using an experimental edge runtime, the API might change.
    [20:59:30.052] warn  - Compiled with warnings
    [20:59:30.052] 
    [20:59:30.052] ./node_modules/@upstash/redis/esm/platforms/nodejs.js
    [20:59:30.052] A Node.js API is used (process.version at line: 26) which is not supported in the Edge Runtime.
    [20:59:30.052] Learn more: https://nextjs.org/docs/api-reference/edge-runtime
    [20:59:30.053] 
    [20:59:30.053] Import trace for requested module:
    [20:59:30.053] ./node_modules/@upstash/redis/esm/platforms/nodejs.js
    [20:59:30.053] ./lib/upstash.ts
    [20:59:30.053] 
    [20:59:30.053] info  - Collecting page data...
    [20:59:34.666] info  - Generating static pages (0/19)
    [20:59:34.767] info  - Generating static pages (4/19)
    [20:59:34.805] info  - Generating static pages (9/19)
    [20:59:34.894] (node:1130) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time
    [20:59:34.894] (Use `node --trace-warnings ...` to show where the warning was created)
    [20:59:34.924] info  - Generating static pages (14/19)
    [20:59:34.961] 
    [20:59:34.962] Error occurred prerendering page "/metatags". Read more: https://nextjs.org/docs/messages/prerender-error
    [20:59:34.962] TypeError: Cannot read properties of undefined (reading 'entities')
    [20:59:34.962]     at getExternalUrls (/vercel/path0/.next/server/chunks/5298.js:491:36)
    [20:59:34.962]     at getTweet (/vercel/path0/.next/server/chunks/5298.js:504:23)
    [20:59:34.963]     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    [20:59:34.963]     at async Promise.all (index 0)
    [20:59:34.963]     at async getStaticProps (/vercel/path0/.next/server/pages/metatags.js:274:20)
    [20:59:34.963]     at async renderToHTML (/vercel/path0/node_modules/next/dist/server/render.js:384:20)
    [20:59:34.963]     at async /vercel/path0/node_modules/next/dist/export/worker.js:248:32
    [20:59:34.964]     at async Span.traceAsyncFn (/vercel/path0/node_modules/next/dist/trace/trace.js:79:20)
    [20:59:37.048] (node:1137) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time
    [20:59:37.049] (Use `node --trace-warnings ...` to show where the warning was created)
    [20:59:37.198] 
    [20:59:37.201] Error occurred prerendering page "/". Read more: https://nextjs.org/docs/messages/prerender-error
    [20:59:37.202] TypeError: Cannot read properties of undefined (reading 'entities')
    [20:59:37.202]     at getExternalUrls (/vercel/path0/.next/server/chunks/5298.js:491:36)
    [20:59:37.202]     at getTweet (/vercel/path0/.next/server/chunks/5298.js:504:23)
    [20:59:37.202]     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    [20:59:37.209]     at async Promise.all (index 5)
    [20:59:37.209]     at async getStaticProps (/vercel/path0/.next/server/pages/index.js:1800:20)
    [20:59:37.209]     at async renderToHTML (/vercel/path0/node_modules/next/dist/server/render.js:384:20)
    [20:59:37.209]     at async /vercel/path0/node_modules/next/dist/export/worker.js:248:32
    [20:59:37.209]     at async Span.traceAsyncFn (/vercel/path0/node_modules/next/dist/trace/trace.js:79:20)
    [20:59:37.210] 
    [20:59:37.210] > Build error occurred
    [20:59:37.210] Error: Export encountered errors on following paths:
    [20:59:37.210] 	/
    [20:59:37.211] 	/metatags
    [20:59:37.211]     at /vercel/path0/node_modules/next/dist/export/index.js:408:19
    [20:59:37.211]     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    [20:59:37.211]     at async Span.traceAsyncFn (/vercel/path0/node_modules/next/dist/trace/trace.js:79:20)
    [20:59:37.211]     at async /vercel/path0/node_modules/next/dist/build/index.js:1334:21
    [20:59:37.212]     at async Span.traceAsyncFn (/vercel/path0/node_modules/next/dist/trace/trace.js:79:20)
    [20:59:37.212]     at async /vercel/path0/node_modules/next/dist/build/index.js:1194:17
    [20:59:37.212]     at async Span.traceAsyncFn (/vercel/path0/node_modules/next/dist/trace/trace.js:79:20)
    [20:59:37.212]     at async Object.build [as default] (/vercel/path0/node_modules/next/dist/build/index.js:65:29)
    [20:59:37.212] info  - Generating static pages (19/19)
    [20:59:37.263] error Command failed with exit code 1.
    [20:59:37.263] info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
    [20:59:37.286] Error: Command "yarn run build" exited with 1
    

    After trying to fix the repo

    [21:23:01.557] Cloning github.com/abc/abc (Branch: main, Commit: fa4a2eb)
    [21:23:01.862] Previous build cache not available
    [21:23:02.626] Cloning completed: 1.069s
    [21:23:03.113] Running "vercel build"
    [21:23:03.773] Vercel CLI 28.6.0
    [21:23:05.058] Installing dependencies...
    [21:23:05.489] yarn install v1.22.17
    [21:23:05.584] [1/4] Resolving packages...
    [21:23:06.033] [2/4] Fetching packages...
    [21:23:38.087] [3/4] Linking dependencies...
    [21:23:38.101] warning " > [email protected]" has unmet peer dependency "prop-types@^15.8.1".
    [21:23:38.102] warning "mailing-core > mjml-react > [email protected]" has incorrect peer dependency "react@^17.0.2".
    [21:23:38.104] warning "react-hot-toast > [email protected]" has unmet peer dependency "csstype@^3.0.10".
    [21:23:38.105] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "konva@>=2.6".
    [21:23:38.105] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "react-konva@^16.8.0 || ^17.0.0".
    [21:23:38.106] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "react-native@>=0.58".
    [21:23:38.106] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "@react-three/fiber@>=6.0".
    [21:23:38.107] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "three@>=0.126".
    [21:23:38.107] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "react-zdog@>=1.0".
    [21:23:38.107] warning "react-spring > @react-spring/[email protected]" has unmet peer dependency "zdog@>=1.0".
    [21:23:38.109] warning " > @trivago/[email protected]" has unmet peer dependency "@vue/[email protected]".
    [21:23:38.138] warning Workspaces can only be enabled in private projects.
    [21:23:55.016] [4/4] Building fresh packages...
    [21:24:03.239] $ prisma generate || true
    [21:24:05.535] Prisma schema loaded from prisma/schema.prisma
    [21:24:07.070] 
    [21:24:07.070] ✔ Generated Prisma Client (4.6.1 | library) to ./node_modules/@prisma/client in 255ms
    [21:24:07.071] You can now start using Prisma Client in your code. Reference: https://pris.ly/d/client
    [21:24:07.071] ```
    [21:24:07.071] import { PrismaClient } from '@prisma/client'
    [21:24:07.072] const prisma = new PrismaClient()
    [21:24:07.072] ```
    [21:24:07.108] Done in 61.63s.
    [21:24:07.149] Detected Next.js version: 13.0.5
    [21:24:07.152] Running "yarn run build"
    [21:24:07.493] yarn run v1.22.17
    [21:24:07.542] $ prisma generate
    [21:24:09.831] Prisma schema loaded from prisma/schema.prisma
    [21:24:11.323] 
    [21:24:11.323] ✔ Generated Prisma Client (4.6.1 | library) to ./node_modules/@prisma/client in 247ms
    [21:24:11.324] You can now start using Prisma Client in your code. Reference: https://pris.ly/d/client
    [21:24:11.324] ```
    [21:24:11.324] import { PrismaClient } from '@prisma/client'
    [21:24:11.324] const prisma = new PrismaClient()
    [21:24:11.324] ```
    [21:24:11.427] ┌─────────────────────────────────────────────────────────┐
    [21:24:11.428] │  Update available 4.6.1 -> 4.7.1                        │
    [21:24:11.428] │  Run the following to update                            │
    [21:24:11.428] │    yarn add --dev prisma@latest                         │
    [21:24:11.429] │    yarn add @prisma/client@latest                       │
    [21:24:11.429] └─────────────────────────────────────────────────────────┘
    [21:24:11.451] $ next build
    [21:24:12.028] Attention: Next.js now collects completely anonymous telemetry regarding usage.
    [21:24:12.029] This information is used to shape Next.js' roadmap and prioritize features.
    [21:24:12.029] You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
    [21:24:12.029] https://nextjs.org/telemetry
    [21:24:12.030] 
    [21:24:12.171] info  - Linting and checking validity of types...
    [21:24:25.987] info  - Creating an optimized production build...
    [21:24:26.060] warn  - You are using an experimental edge runtime, the API might change.
    [21:25:13.220] warn  - Compiled with warnings
    [21:25:13.220] 
    [21:25:13.221] ./node_modules/@upstash/redis/esm/platforms/nodejs.js
    [21:25:13.221] A Node.js API is used (process.version at line: 26) which is not supported in the Edge Runtime.
    [21:25:13.221] Learn more: https://nextjs.org/docs/api-reference/edge-runtime
    [21:25:13.221] 
    [21:25:13.221] Import trace for requested module:
    [21:25:13.222] ./node_modules/@upstash/redis/esm/platforms/nodejs.js
    [21:25:13.222] ./lib/upstash.ts
    [21:25:13.222] 
    [21:25:13.222] info  - Collecting page data...
    [21:25:20.757] info  - Generating static pages (0/19)
    [21:25:20.926] info  - Generating static pages (4/19)
    [21:25:20.966] info  - Generating static pages (9/19)
    [21:25:20.976] TypeError: Cannot read properties of null (reading 'id')
    [21:25:20.976]     at /vercel/path0/.next/server/pages/metatags.js:264:43
    [21:25:20.977]     at Array.map (<anonymous>)
    [21:25:20.977]     at Metatags (/vercel/path0/.next/server/pages/metatags.js:263:42)
    [21:25:20.978]     at Wc (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:68:44)
    [21:25:20.978]     at Zc (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:70:253)
    [21:25:20.979]     at Z (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
    [21:25:20.979]     at $c (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
    [21:25:20.979]     at Zc (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:145)
    [21:25:20.980]     at Z (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
    [21:25:20.980]     at $c (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
    [21:25:20.981] 
    [21:25:20.982] Error occurred prerendering page "/metatags". Read more: https://nextjs.org/docs/messages/prerender-error
    [21:25:20.982] TypeError: Cannot read properties of null (reading 'id')
    [21:25:20.983]     at /vercel/path0/.next/server/pages/metatags.js:264:43
    [21:25:20.983]     at Array.map (<anonymous>)
    [21:25:20.983]     at Metatags (/vercel/path0/.next/server/pages/metatags.js:263:42)
    [21:25:20.984]     at Wc (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:68:44)
    [21:25:20.984]     at Zc (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:70:253)
    [21:25:20.984]     at Z (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
    [21:25:20.985]     at $c (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
    [21:25:20.985]     at Zc (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:145)
    [21:25:20.986]     at Z (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
    [21:25:20.986]     at $c (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
    [21:25:20.999] info  - Generating static pages (14/19)
    [21:25:23.109] TypeError: Cannot read properties of null (reading 'id')
    [21:25:23.109]     at /vercel/path0/.next/server/pages/index.js:1464:35
    [21:25:23.109]     at Array.map (<anonymous>)
    [21:25:23.110]     at Testimonials (/vercel/path0/.next/server/pages/index.js:1463:34)
    [21:25:23.110]     at Wc (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:68:44)
    [21:25:23.111]     at Zc (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:70:253)
    [21:25:23.114]     at Z (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
    [21:25:23.114]     at $c (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
    [21:25:23.115]     at bd (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:77:404)
    [21:25:23.115]     at Z (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:217)
    [21:25:23.115]     at $c (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
    [21:25:23.115] 
    [21:25:23.115] Error occurred prerendering page "/". Read more: https://nextjs.org/docs/messages/prerender-error
    [21:25:23.115] TypeError: Cannot read properties of null (reading 'id')
    [21:25:23.116]     at /vercel/path0/.next/server/pages/index.js:1464:35
    [21:25:23.116]     at Array.map (<anonymous>)
    [21:25:23.116]     at Testimonials (/vercel/path0/.next/server/pages/index.js:1463:34)
    [21:25:23.116]     at Wc (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:68:44)
    [21:25:23.116]     at Zc (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:70:253)
    [21:25:23.116]     at Z (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
    [21:25:23.116]     at $c (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
    [21:25:23.117]     at bd (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:77:404)
    [21:25:23.117]     at Z (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:217)
    [21:25:23.117]     at $c (/vercel/path0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
    [21:25:23.117] 
    [21:25:23.117] > Build error occurred
    [21:25:23.117] info  - Generating static pages (19/19)
    [21:25:23.120] Error: Export encountered errors on following paths:
    [21:25:23.120] 	/
    [21:25:23.121] 	/metatags
    [21:25:23.121]     at /vercel/path0/node_modules/next/dist/export/index.js:408:19
    [21:25:23.121]     at runMicrotasks (<anonymous>)
    [21:25:23.122]     at processTicksAndRejections (node:internal/process/task_queues:96:5)
    [21:25:23.122]     at async Span.traceAsyncFn (/vercel/path0/node_modules/next/dist/trace/trace.js:79:20)
    [21:25:23.122]     at async /vercel/path0/node_modules/next/dist/build/index.js:1334:21
    [21:25:23.123]     at async Span.traceAsyncFn (/vercel/path0/node_modules/next/dist/trace/trace.js:79:20)
    [21:25:23.123]     at async /vercel/path0/node_modules/next/dist/build/index.js:1194:17
    [21:25:23.123]     at async Span.traceAsyncFn (/vercel/path0/node_modules/next/dist/trace/trace.js:79:20)
    [21:25:23.124]     at async Object.build [as default] (/vercel/path0/node_modules/next/dist/build/index.js:65:29)
    [21:25:23.188] error Command failed with exit code 1.
    [21:25:23.189] info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
    [21:25:23.210] Error: Command "yarn run build" exited with 1
    
    opened by smallify-click 0
  • Hashes are stripped from url before sharing

    Hashes are stripped from url before sharing

    Hi there!

    I noticed that hashes are stripped from the url when sharing. I can imagine why you might do this, only downside is this prevents me from sharing TypeScript Playground links like this one: https://www.typescriptlang.org/play?#code/BIUwNmD2AEAmCuAjIA

    The TypeScript playground encodes the content of the playground in the hash. And since they can get quite long, for me it feels like a great use case to use Dub for this 😅

    Let me know if you need more detail.

    opened by JeroenReumkens 1
  • Prisma fails

    Prisma fails

    I use mysql on rails app.

    [22:13:02.160] [4/4] Building fresh packages... [22:13:09.963] $ prisma generate || true [22:13:11.500] Prisma schema loaded from prisma/schema.prisma [22:13:12.969] [22:13:12.970] ✔ Generated Prisma Client (4.6.1 | library) to ./shared/prisma-client in 276ms [22:13:12.970] You can now start using Prisma Client in your code. Reference: https://pris.ly/d/client [22:13:12.970] [22:13:12.971] import { PrismaClient } from './shared/prisma-client' [22:13:12.971] const prisma = new PrismaClient() [22:13:12.971] [22:13:13.021] Done in 64.28s. [22:13:13.060] Detected Next.js version: 13.0.5 [22:13:13.063] Running "yarn run build" [22:13:13.410] yarn run v1.22.17 [22:13:13.456] $ prisma generate [22:13:15.006] Prisma schema loaded from prisma/schema.prisma [22:13:16.479] [22:13:16.479] ✔ Generated Prisma Client (4.6.1 | library) to ./shared/prisma-client in 274ms [22:13:16.480] You can now start using Prisma Client in your code. Reference: https://pris.ly/d/client [22:13:16.480] [22:13:16.480] import { PrismaClient } from './shared/prisma-client' [22:13:16.481] const prisma = new PrismaClient() [22:13:16.481] [22:13:17.898] $ next build] [22:13:18.621] info - Checking validity of types... [22:13:30.870] info - Creating an optimized production build... [22:13:30.937] warn - You are using an experimental edge runtime, the API might change. [22:13:33.219] warn - The @next/font/google font Inter has no selected subsets. Please specify subsets in the function call or in your next.config.js, otherwise no fonts will be preloaded. Read more: https://nextjs.org/docs/messages/google-fonts-missing-subsets [22:14:16.602] warn - Compiled with warnings [22:14:16.603] [22:14:16.603] ./node_modules/@upstash/redis/esm/platforms/nodejs.js [22:14:16.603] A Node.js API is used (process.version at line: 26) which is not supported in the Edge Runtime. [22:14:16.603] Learn more: https://nextjs.org/docs/api-reference/edge-runtime [22:14:16.604] [22:14:16.604] Import trace for requested module: [22:14:16.604] ./node_modules/@upstash/redis/esm/platforms/nodejs.js [22:14:16.604] ./lib/upstash.ts [22:14:16.604] [22:14:16.605] info - Collecting page data... [22:14:17.286] Error: @prisma/client did not initialize yet. Please run "prisma generate" and try to import it again. [22:14:17.287] In case this error is unexpected for you, please report it in https://github.com/prisma/prisma/issues [22:14:17.287] at new PrismaClient (/vercel/path0/node_modules/.prisma/client/index.js:3:11) [22:14:17.288] at 9744 (/vercel/path0/.next/server/pages/_proxy/[domain]/[key].js:21:33) [22:14:17.288] at webpack_require (/vercel/path0/.next/server/webpack-runtime.js:25:42) [22:14:17.289] at /vercel/path0/.next/server/pages/_proxy/[domain]/[key].js:45:69 [22:14:17.289] at webpack_require.a (/vercel/path0/.next/server/webpack-runtime.js:89:13) [22:14:17.290] at 938 (/vercel/path0/.next/server/pages/_proxy/[domain]/[key].js:31:21) [22:14:17.290] at webpack_require (/vercel/path0/.next/server/webpack-runtime.js:25:42) [22:14:17.291] at webpack_exec (/vercel/path0/.next/server/pages/_proxy/[domain]/[key].js:294:39) [22:14:17.291] at /vercel/path0/.next/server/pages/_proxy/[domain]/[key].js:295:77 [22:14:17.292] at webpack_require.X (/vercel/path0/.next/server/webpack-runtime.js:177:21) [22:14:17.295] [22:14:17.296] > Build error occurred [22:14:17.301] Error: Failed to collect page data for /_proxy/[domain]/[key] [22:14:17.302] at /vercel/path0/node_modules/next/dist/build/utils.js:959:15 [22:14:17.302] at process.processTicksAndRejections (node:internal/process/task_queues:95:5) { [22:14:17.302] type: 'Error' [22:14:17.303] } [22:14:17.401] error Command failed with exit code 1. [22:14:17.402] info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. [22:14:17.440] Error: Command "yarn run build" exited with 1

    opened by skybird-dev 0
Owner
Steven Tey
DevRel ▲@vercel
Steven Tey
Serverless URL Shortener made with Next.js + Redis.

linki: a place for your links linki is a url shortener made with next.js and redis! built with simplicity in mind, it's all in one page. deploy your o

Jack Reiker 12 Sep 15, 2022
Airtable + Cloudflare Workers URL Shortener 🌤

tableflare Airtable + Cloudflare Workers URL Shortener ?? Quick Start Airtable Generate your Airtable API key from your account dashboard: https://air

Griko Nibras 10 Oct 16, 2022
Kue is a priority job queue backed by redis, built for node.js.

Kue Kue is no longer maintained Please see e.g. Bull as an alternative. Thank you! Kue is a priority job queue backed by redis, built for node.js. PRO

Automattic 9.4k Dec 20, 2022
Redis-backed task queue engine with advanced task control and eventual consistency

idoit Redis-backed task queue engine with advanced task control and eventual consistency. Task grouping, chaining, iterators for huge ranges. Postpone

Nodeca 65 Dec 15, 2022
A fast, robust and extensible distributed task/job queue for Node.js, powered by Redis.

Conveyor MQ A fast, robust and extensible distributed task/job queue for Node.js, powered by Redis. Introduction Conveyor MQ is a general purpose, dis

Conveyor MQ 45 Dec 15, 2022
A simple Node.js APIBAN client for downloading banned IPs and inserting them into a redis set

apiban-redis A simple Node.js APIBAN client for downloading banned IPs and inserting them into a redis set. Installation This utility can be run as a

jambonz 4 Apr 5, 2022
Cache is easy to use data caching Node.js package. It supports Memcached, Redis, and In-Memory caching engines.

Cache Cache NPM implements wrapper over multiple caching engines - Memcached, Redis and In-memory (use with single threaded process in development mod

PLG Works 49 Oct 24, 2022
A simple, fast, robust job/task queue for Node.js, backed by Redis.

A simple, fast, robust job/task queue for Node.js, backed by Redis. Simple: ~1000 LOC, and minimal dependencies. Fast: maximizes throughput by minimiz

Bee Queue 3.1k Jan 5, 2023
Redis Simple Message Queue

Redis Simple Message Queue A lightweight message queue for Node.js that requires no dedicated queue server. Just a Redis server. tl;dr: If you run a R

Patrick Liess 1.6k Dec 27, 2022
BullMQ - Premium Message Queue for NodeJS based on Redis

The fastest, most reliable, Redis-based distributed queue for Node. Carefully written for rock solid stability and atomicity. Read the documentation F

Taskforce.sh Inc. 3.1k Dec 30, 2022
Nodejs Background jobs using redis.

node-resque: The best background jobs in node. Distributed delayed jobs in nodejs. Resque is a background job system backed by Redis (version 2.6.0 an

Actionhero 1.2k Jan 3, 2023
A simple high-performance Redis message queue for Node.js.

RedisSMQ - Yet another simple Redis message queue A simple high-performance Redis message queue for Node.js. For more details about RedisSMQ design se

null 501 Dec 30, 2022
egg.js(jwt) + mysql(sequelize) + redis + docker + docker-compose + nginx + vue + element-ui 全栈获取省市区数据(统计局数据)【工具】项目,实现在docker环境中一键部署

Egg-spider Preview 线上预览地址 (https://ronaldoxzb.com/) admin admin Project description [后端]egg.js(jwt) + mysql(sequelize) + redis + docker + docker-compo

null 11 Sep 29, 2022
Serve read-only Redis data over a HTTP API with auth

Redis data exposer This was created for Cliptok and not intended for use outside of it. Use at your own peril. This application will serve an API that

Erisa A 10 May 28, 2022
This project demonstrates how you can use the multi-model capabilities of Redis to create a real-time stock watchlist application.

Introduction This project demonstrates how you can use Redis Stack to create a real-time stock watchlist application. It uses several different featur

Redis Developer 43 Jan 2, 2023
Full type-safe Redis PubSub with Zod

redis-pubsub Full type-safe Redis PubSub system with async iterators Features Type-safety with Zod Out-of-the-box support for Date/Map/Set/BigInt seri

null 12 Dec 21, 2022
🪦 Redis Key Value store backed by IPFS

?? RipDB ?? A snappy, decentralized JSON store perfect for fast moving web3 builders. Redis + IPFS = RIP = ?? Install With a Package Manager (browser

Zac Denham 42 Dec 13, 2022
Job queues and scheduled jobs for Node.js, Beanstalkd and/or Iron.io.

Ironium Job queues and scheduled jobs for Node.js backed by Beanstalk/IronMQ/SQS. The Why You've got a workload that runs outside the Web app's reques

Assaf Arkin 71 Dec 14, 2022
Bree is the best job scheduler for Node.js and JavaScript with cron, dates, ms, later, and human-friendly support.

The best job scheduler for Node.js and JavaScript with cron, dates, ms, later, and human-friendly support. Works in Node v10+ and browsers, uses workers to spawn sandboxed processes, and supports async/await, retries, throttling, concurrency, and graceful shutdown. Simple, fast, and lightweight. Made for @ForwardEmail and @ladjs.

Bree - The Best Node.js and JavaScript Job Scheduler 2.5k Dec 30, 2022