Giter Club home page Giter Club logo

cua's Introduction

❗️❗️❗️❗️NOTE This repo is no longer actively maintained. ❗️❗️❗️❗️

🌌 create-universal-app (CUA)

newdemo.mp4

🌌 What is this?

create-universal-app (CUA) is an opinionated template for creating full-stack universal (mobile + web codeshare) apps with built-in auth for both mobile and web using Expo (mobile), NextJS (web), tRPC, Prisma, Tamagui (UI + styling), and Clerk (mobile + web auth). A demo is live at https://cua-demo.vercel.app/.

Here's a 20 minute Youtube tutorial going over everything if that's more of your style!

You can also run npx create-t3-universal-app to start your project (by albbus). Add one of the following flags if you want a specific variation of CUA:

  • --with-supabase
  • --with-drizzle-pg
  • --with-drizzle-sql

If you have any question while using this, feel free to join our 👾Discord👾, we are all pretty active in there!

This repo is made on top of:

🌟 How it works

Folder Structure

  • apps
    • next
    • expo
  • packages
    • ui (your reusable components with tamagui)
    • db (db schema & prisma stuff)
    • app
      • features (⭐️ all of your native frontend code will go here ⭐️)
      • navigation (unifying web + mobile navigation)
      • provider (unifying providers)
      • utils (your utils like auth & tRPC)
    • api (all of your tRPC & backend code)

In a bit more detail

Your frontend code will be in React Native, meaning that you're going to write Views instead of divs. Since we are using Tamagui in particular, we're gonna write Stacks instead Views.

  • apps/expo and apps/next are practically empty folders that are simply referencing your packages/app folder.
  • If you're familiar with React Native, it's going to feel as if you're writing a React Native app, that just happens to also run really well on the web (with SSR and all of those goodies).
  • Your code will get rendered as HTML/CSS on the NextJS side and normal React Native on the native side.

Your backend code is gonna be in packages/api. NextJS is going to run this code in a serverless environment, if you're a little confused about how that works here's a good video by Theo that talks about NextJS as a backend framework.

  • Your backend and frontend will communicate with tRPC.
  • Your backend and your DB will communicate with Prisma (ORM).
  • Mobile auth is done with Clerk Expo, and web auth is done with Clerk React and Clerk Next.

Note: you don't need to understand how everything works in detail before you can start using this template. As someone that wants to know how every bolt and nut works, I often get "blocked" by my own perfectionism, so I'm just throwing this out there in case you're feeling the same about something.

💭 Behind the decisions

Why Tamagui for UI & styling?

What is Tamagui?

TLDR: it's for making things look pretty on both web and mobile while being really really fast and easy to work with. In more detail, Tamagui has 3 things:

  • Compiler: their unique way of turning your "style related code" into pure CSS faster. Most important thing here is probably the tree flattening thing they do.
  • Core: a small set of components they built aimed to replace View and Text that you use in React Native, with some advantages.
  • UI: a set of UI components that the Tama team built using Core.

Check out their docs for more informations.

Why not Nativewind & Tailwind?

What I like about Tamagui is that it's simultaneously Tailwind and DaisyUI that's built from the ground up designed for universal apps with its own compiler and core components.

Feel free to use Nativewind & Tailwind instead of Tamagui, you should be able to set things up fairly easily (and if you do please contribute to this template creating a branch with the Nativewind installation).

Why Clerk for auth?

On a high level, clerk promises an overall user management solution instead of just authentication with things like the User Profile, Banning and Device management built-in. In practice, they have a very similar Expo/Next library with built in Hooks that are very nice to use! I've personally had an great time using Clerk compared to other solutions like Firebase or Supabase.

Practical things

  • Really nice hooks & components (SignedIn/SignedOut) that work for both Expo and NextJS.
  • SDKs for all 3 platforms: Expo frontend, NextJS frontend, NextJS serverside.
  • Fantastic support and help from their team on Discord(from personal experience).

Downsides

  • Doesn't do SMS unless you pay: big negative for mobile but makes up for it with easy oauth.
  • Premium plan expensive compared to the alternatives.
  • Double edged sword of being a startup.

Which DB?

I recommend you either spin up a Postgres instance on Railway or use Supabase, you can bring your own as it doesn't matter too much.

🔨 How to use this?

1. Set up project

  • yarn install to install packages and build the project.
  • Set up your environment variables properly by duplicating the .env.example file, removing .example, and entering your environment variables.
    • CLERK_SECRET_KEY & NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: sign up on clerk to get your API keys
    • DATABASE_URL (optional): spin up a Postgres instance with Railway or Supabase (we're using SQLlite by default now, so you don't have to do this unless you're ready for production!)
  • yarn db-push to push our Prisma schema to our DB.

2. Start up your project

  • yarn web to start a web dev server.
  • yarn native to run on iOS or Android. PS: for this to work, you'll need your web app running on localhost:3000, remember that your NextJS app is also your backend!
  • yarn studio to start up your Prisma Studio. PS: the tRPC example query will show an example_entry that you can delete along with the connected example_user.
  • yarn dev to start up all packages and applications simultaneously.

3. Adding a new screen

To automate the process explained below you can use the VSCode extension t3-cua-tools, also available on the marketplace. It will create the files and add the necessary imports and navigation code for you.

  • Create new screens in packages/app/features/.
  • For smaller components feel free to put them in packages/ui/.
  • For new routes add a new routeName.ts in packages/api/src/router/ and make sure to merge it in the index.ts app router.
  • When you add a new page or screen, you'll need to add the page into both Expo and NextJS:
    • Expo
      • Go to apps/expo/app/ and create a new routeName.tsx that's importing your element from /app/features/screenName/.
    • Next
      • Go to apps/next/pages/, create a new folder with the name being your route and an index.tsx that's importing your element from /app/features/screenName/.

Deploying to Vercel

After you have created a new project on Vercel and linked it with your Github repo you'll have to enter your environment variables:

  • NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
  • CLERK_SECRET_KEY
  • DATABASE_URL

Screenshot 2023-01-14 at 12 06 17 AM

(ignore the install command one now)

FAQ

  1. Where should I install the packages? If it contains native code you must install it into the /expo folder.

  2. How do I know if it contains native code? In general if it involves some interactions with the phone OS like the APIs to interact with storage, camera, gyro, notification, etc. it involves native code!

cua's People

Contributors

adamjq avatar akritw avatar albbus-stack avatar albertdbio avatar alitnk avatar asliwinski avatar chen-rn avatar ebg1223 avatar la55u avatar roguealexander avatar timothymiller avatar tomek20225 avatar vidundergunder avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cua's Issues

Asking for help - removing tamagui [FEATURE]

Is your feature request related to a problem? Please describe.
When i delete everything about tamagui, i get an error.
I am providing error at the bottom.
Do you have any clue? I just wanted to use nativewind :D

Am i missing something about next 13? But, i ONLY deleted tamagui related settings and wiped out ui folder. It doesn't make sense...

I can provide a repo too, if you consider helping me :(
Thanks in advance!
(btw, i was convinced about tamagui by you, however it looks so "verbose" in code and i didnt want to leave tailwind and use a bleeding edge technology... pls change my mind)

nextjs:dev: wait  - compiling...
nextjs:dev: error - ../../node_modules/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js
nextjs:dev: Module parse failed: Unexpected token (12:12)
nextjs:dev: You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
nextjs:dev: |
nextjs:dev: | import EventEmitter from '../vendor/emitter/EventEmitter';
nextjs:dev: > import type {IEventEmitter} from '../vendor/emitter/EventEmitter';
nextjs:dev: |
nextjs:dev: | // FIXME: use typed events
nextjs:dev:
nextjs:dev: Import trace for requested module:
nextjs:dev: ../../node_modules/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js
nextjs:dev: ../../node_modules/expo-modules-core/build/SyntheticPlatformEmitter.js
nextjs:dev: ../../node_modules/expo-modules-core/build/index.js
nextjs:dev: ../../node_modules/expo-constants/build/Constants.js
nextjs:dev: ../../packages/app/utils/trpc.tsx
nextjs:dev: ../../packages/app/provider/trpc/index.tsx
nextjs:dev: ../../packages/app/provider/index.tsx

.env not working in root

I started from an existing nextjs web app, migrated everything to CUA (basically just putting my nextJS app insice apps/web). For some reason the environment variables are undefined, but it does work if I move .env inside apps/web. Still that feels wrong and I want to share the env variables across both apps but I think I may be missing some configurations somewhere.

[BUG] Cannot access 'setup' before initialization

Describe the bug
Getting this error when creating the project using npx create-t3-universal-app

% npx create-t3-universal-app my-cua 
  _   ____    ___ _   _  _   
 | |_|__ /   / __| | | |/_\ 
 |  _||_ \  | (__| |_| / _ \
  \__|___/   \___|\___/_/ \_\

file:///Users/simonreggiani/.npm/_npx/b8472a8042a9c157/node_modules/create-t3-universal-app/bin/index.js:50
  setup(folderArg);
  ^

ReferenceError: Cannot access 'setup' before initialization
    at file:///Users/simonreggiani/.npm/_npx/b8472a8042a9c157/node_modules/create-t3-universal-app/bin/index.js:50:3
    at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:526:24)
    at async loadESM (node:internal/process/esm_loader:91:5)
    at async handleMainPromise (node:internal/modules/run_main:65:12)

To Reproduce
Steps to reproduce the behavior:

  1. run npx create-t3-universal-app my-cua

Expected behavior
The project is created

[BUG] Login provider logos not found

Describe the bug

The hosted login provider logos are not up anymore, we should migrate to local logos to avoid this issue in the future.

Screenshot

IMG_20230730_113350.jpg

IMG_20230730_113644.jpg

[BUG] npx create-t3-universal-app error out

Describe the bug
A clear and concise description of what the bug is.

Running npx create-t3-universal-app error out

To Reproduce
Steps to reproduce the behavior:

  1. Run npx create-t3-universal-app
npx create-t3-universal-app universal-app-test
Need to install the following packages:
  [email protected]
Ok to proceed? (y) y
  _   ____    ___ _   _  _
 | |_|__ /   / __| | | |/_\
 |  _||_ \  | (__| |_| / _ \
  \__|___/   \___|\___/_/ \_\

file:///Users/pencilcheck/.npm/_npx/b8472a8042a9c157/node_modules/create-t3-universal-app/bin/index.js:50
  setup(folderArg);
  ^

ReferenceError: Cannot access 'setup' before initialization
    at file:///Users/pencilcheck/.npm/_npx/b8472a8042a9c157/node_modules/create-t3-universal-app/bin/index.js:50:3
    at ModuleJob.run (node:internal/modules/esm/module_job:194:25)

Node.js v18.16.0

Expected behavior
A clear and concise description of what you expected to happen.

Work

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

signup with clerk and gmail auth strategy doesnt work

Discussed in #65

Originally posted by hitesh97 March 20, 2023
Hi Chen,

Amazing work of setting up this repo and mono-repo as well as the video 👍

I followed all the steps and created the setup word by word.

When I try to sign-up with gmail strategy using clerk, it seems to redirect me to
http://localhost:3000/signup/sso-oauth/oauth_google Infinitely!

can you please let me know, if there is something I am missing? does clerk needs a redirect URL to be setup somewhere?
or is there anything in the nextjs router missing something?

i.e Sign-up => SignIn => not authenticated => Sign Up => sign In ....etc...etc..

Hope you can help as I would like to work on this set up for my pet project!

thanks for. amazing work anyways!

`Network request failed` on mobile app

I'm launching the app in Android Studio and the app opens and seems to work at first for a second, but then it switches to just showing Network request failed in the corner of the screen. The terminal says WARN [TRPCClientError: Network request failed]. No issues with the web version.
Any idea what the issue could be?

[BUG] Clerk pageProps doesn't allow builds on vercel to work properly

Describe the bug
I haven't investigated too much about why this is happening, but no matter what I was doing, the project runs fine locally, but I just couldn't get builds to work on vercel or if I run yarn build.

To Reproduce
Steps to reproduce the behavior:

  1. Pull down a fresh template/clone/project
  2. yarn
  3. setup postgres, clerk, etc and connect all ENV vars
  4. yarn build OR deploy to vercel
  5. check localhost:3000 or vercel, you'll get an internal error
  6. Undo code written in PR #51 done by @roguealexander
  7. It works

Expected behavior
A clear and concise description of what you expected to happen.
I expect the page to render without an internal server error

Screenshots
If applicable, add screenshots to help explain your problem.
I believe the demo project is likely the same. I'm sure if you undo PR #51 cua-demo.vercel.app will render again.

Desktop (please complete the following information):

  • haven't checked

Smartphone (please complete the following information):

  • haven't checked

Type Error with my/ui

Getting a type error on imports from my/ui, specifically in tamagui.config.ts

Any idea how to make that go?

Screenshot 2023-01-24 at 6 48 52 PM

[BUG] Yarn install failing to install myapp-monorepo

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. yarn install

The following error log results:

This file contains the result of Yarn building a package (myapp-monorepo@workspace:.)

Script name: postinstall

built @my/ui in 7386 ms
Error: request to https://binaries.prisma.sh/all_commits/ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5/windows/query_engine.dll.node.gz.sha256 failed, reason: getaddrinfo ENOTFOUND 1981

From management

Currently the template doesn't have a way to deal with forms yet.
I was thinking about something like react-hook-form

There is already someone who is integrating it with Tamagui and expo here:
https://github.com/dohomi/tamagui-kitchen-sink

I wonder if we can integrate something like this here.

[BUG] Prisma cannot read env var when using `directUrl` with postgresql

Describe the bug
When using directUrl in prisma datasource, prisma complains that the connection url is empty.

To Reproduce
Steps to reproduce the behavior:

  1. Use a pooling URL for DATABASE_URL (postgresql://user:[email protected]:6543/postgres?pgbouncer=true)
  2. Create a DIRECT_URL in .env (postgresql://user:[email protected]:5432/postgres)
  3. Add DIRECT_URL to turbo.json
  4. Setup schema.prisma as below:
datasource db {
  provider  = "postgresql"
  url       = env("DATABASE_URL")
  directUrl = env("DIRECT_URL")
  shadowDatabaseUrl = env("DIRECT_URL")
}
  1. Run yarn db-push

Log:

root@proj-794877866d-d8trj:/src# yarn db-push
• Packages in scope: @my/api, @my/db, @my/ui, app, expo-app, nextjs
• Running db-push in 6 packages
• Remote caching disabled
@my/db:db-push: cache bypass, force executing 52d000672fac80cc
@my/db:db-push: Prisma schema loaded from prisma/schema.prisma
@my/db:db-push: Datasource "db": PostgreSQL database
@my/db:db-push: 
@my/db:db-push: Error: Connection url is empty. See https://www.prisma.io/docs/reference/database-reference/connection-urls
@my/db:db-push: ERROR: command finished with error: command (/src/packages/db) yarn run db-push exited (1)
command (/src/packages/db) yarn run db-push exited (1)

Expected behavior
Database is populated

[feature-request] Tauri example

I'm no fan of fedora wearing weirdos, but now that Tamagui Studio is a thing (that uses Tauri under the hood), it would be nice to see the desktop as yet another supported platform by create-universal-app.

[BUG] getServerSideProps can't be used in Production

Describe the bug
Hey there, thanks a lot for this boilerplate. It looks great.
One issue is that I've not been able to use getServerSideProps when deploying on Vercel.

To Reproduce
Steps to reproduce the behavior:

  1. Start new project
  2. Deploy to Vercel

Expected behavior
You'd expect to see the Home screen. Instead, you see a 500 error.
Removing the getServerSideProps in pages/index.tsx (and follow instructions here will fix the issue.
But adding getServerSideProps anywhere else in the app will brake the project the same way. This is not reproducible locally.

API issue when deployed to vercel

My app runs great locally, but when I deploy it to Vercel it seems like my Next API routes are not working correctly as I see errors in the Vercel Edge Logs that say:

Unhandled rejection: Error: Cannot find module '/vercel/path0/node_modules/react-native-web/dist/cjs/exports/createElement'
"MODULE_NOT_FOUND","requireStack":["/var/task/apps/nextjs/.next/server/pages/_app.js..."

(I'll put the full error text below).
It seems like it's trying to load RNW on the backend possibly (server/pages/_app)?

I'm a bit at a loss as to how to debug this or figure out what is going on as it only happens deployed and I can't get any of my own logs to show up from the API whatsoever.

It's not just TRPC routes as I have a "manually" defined API route as well that is giving me the same/similar behavior when i hit it from Postman.

My plan is to work on a minimum reproduction next (basically just going to try to clone down a fresh starter and deploy it mostly as-is with supabase). I will report back after that.

If anyone has any advice as to where I might look or anything I might try, it would be appreciated!

Normal API route:

2023-02-28T22:10:34.516Z	8f6c199e-d464-476b-94f4-1eb35abb036d	ERROR	Unhandled Promise Rejection 	{"errorType":"Runtime.UnhandledPromiseRejection","errorMessage":"Error: Cannot find module '/vercel/path0/node_modules/react-native-web/dist/cjs/exports/createElement'\nRequire stack:\n- /var/task/apps/nextjs/.next/server/pages/_app.js\n- /var/task/node_modules/next/dist/server/require.js\n- /var/task/node_modules/next/dist/server/next-server.js\n- /var/task/apps/nextjs/___next_launcher.cjs","reason":{"errorType":"Error","errorMessage":"Cannot find module '/vercel/path0/node_modules/react-native-web/dist/cjs/exports/createElement'\nRequire stack:\n- /var/task/apps/nextjs/.next/server/pages/_app.js\n- /var/task/node_modules/next/dist/server/require.js\n- /var/task/node_modules/next/dist/server/next-server.js\n- /var/task/apps/nextjs/___next_launcher.cjs","code":"MODULE_NOT_FOUND","requireStack":["/var/task/apps/nextjs/.next/server/pages/_app.js","/var/task/node_modules/next/dist/server/require.js","/var/task/node_modules/next/dist/server/next-server.js","/var/task/apps/nextjs/___next_launcher.cjs"],"stack":["Error: Cannot find module '/vercel/path0/node_modules/react-native-web/dist/cjs/exports/createElement'","Require stack:","- /var/task/apps/nextjs/.next/server/pages/_app.js","- /var/task/node_modules/next/dist/server/require.js","- /var/task/node_modules/next/dist/server/next-server.js","- /var/task/apps/nextjs/___next_launcher.cjs","    at Module._resolveFilename (node:internal/modules/cjs/loader:1039:15)","    at mod._resolveFilename (/var/task/node_modules/next/dist/build/webpack/require-hook.js:23:32)","    at Module._load (node:internal/modules/cjs/loader:885:27)","    at Module.require (node:internal/modules/cjs/loader:1105:19)","    at require (node:internal/modules/cjs/helpers:103:18)","    at 33330 (/var/task/apps/nextjs/.next/server/pages/_app.js:1399:18)","    at __webpack_require__ (/var/task/apps/nextjs/.next/server/webpack-runtime.js:25:42)","    at 44514 (/var/task/apps/nextjs/.next/server/chunks/943.js:9428:45)","    at __webpack_require__ (/var/task/apps/nextjs/.next/server/webpack-runtime.js:25:42)","    at 59858 (/var/task/apps/nextjs/.next/server/chunks/878.js:508:70)"]},"promise":{},"stack":["Runtime.UnhandledPromiseRejection: Error: Cannot find module '/vercel/path0/node_modules/react-native-web/dist/cjs/exports/createElement'","Require stack:","- /var/task/apps/nextjs/.next/server/pages/_app.js","- /var/task/node_modules/next/dist/server/require.js","- /var/task/node_modules/next/dist/server/next-server.js","- /var/task/apps/nextjs/___next_launcher.cjs","    at process.<anonymous> (file:///var/runtime/index.mjs:1188:17)","    at process.emit (node:events:525:35)","    at emit (node:internal/process/promises:149:20)","    at processPromiseRejections (node:internal/process/promises:283:27)","    at process.processTicksAndRejections (node:internal/process/task_queues:96:32)"]}
Unknown application error occurred
Runtime.Unknown

TRPC route:

/cjs/exports/createElement'\nRequire stack:\n- /var/task/apps/nextjs/.next/server/pages/_app.js\n- /var/task/node_modules/next/dist/server/require.js\n- /var/task/node_modules/next/dist/server/next-server.js\n- /var/task/apps/nextjs/___next_launcher.cjs","code":"MODULE_NOT_FOUND","requireStack":["/var/task/apps/nextjs/.next/server/pages/_app.js","/var/task/node_modules/next/dist/server/require.js","/var/task/node_modules/next/dist/server/next-server.js","/var/task/apps/nextjs/___next_launcher.cjs"],"stack":["Error: Cannot find module '/vercel/path0/node_modules/react-native-web/dist/cjs/exports/createElement'","Require stack:","- /var/task/apps/nextjs/.next/server/pages/_app.js","- /var/task/node_modules/next/dist/server/require.js","- /var/task/node_modules/next/dist/server/next-server.js","- /var/task/apps/nextjs/___next_launcher.cjs","    at Module._resolveFilename (node:internal/modules/cjs/loader:1039:15)","    at mod._resolveFilename (/var/task/node_modules/next/dist/build/webpack/require-hook.js:23:32)","    at Module._load (node:internal/modules/cjs/loader:885:27)","    at Module.require (node:internal/modules/cjs/loader:1105:19)","    at require (node:internal/modules/cjs/helpers:103:18)","    at 33330 (/var/task/apps/nextjs/.next/server/pages/_app.js:1399:18)","    at __webpack_require__ (/var/task/apps/nextjs/.next/server/webpack-runtime.js:25:42)","    at 44514 (/var/task/apps/nextjs/.next/server/chunks/943.js:9428:45)","    at __webpack_require__ (/var/task/apps/nextjs/.next/server/webpack-runtime.js:25:42)","    at 59858 (/var/task/apps/nextjs/.next/server/chunks/878.js:508:70)"]},"promise":{},"stack":["Runtime.UnhandledPromiseRejection: Error: Cannot find module '/vercel/path0/node_modules/react-native-web/dist/cjs/exports/createElement'","Require stack:","- /var/task/apps/nextjs/.next/server/pages/_app.js","- /var/task/node_modules/next/dist/server/require.js","- /var/task/node_modules/next/dist/server/next-server.js","- /var/task/apps/nextjs/___next_launcher.cjs","    at process.<anonymous> (file:///var/runtime/index.mjs:1188:17)","    at process.emit (node:events:525:35)","    at emit (node:internal/process/promises:149:20)","    at processPromiseRejections (node:internal/process/promises:283:27)","    at process.processTicksAndRejections (node:internal/process/task_queues:96:32)"]}
2023-02-28T21:57:48.566Z	undefined	ERROR	Unhandled rejection: Error: Cannot find module '/vercel/path0/node_modules/react-native-web/dist/cjs/exports/createElement'
Require stack:
- /var/task/apps/nextjs/.next/server/pages/_app.js
- /var/task/node_modules/next/dist/server/require.js
- /var/task/node_modules/next/dist/server/next-server.js
- /var/task/apps/nextjs/___next_launcher.cjs
    at Module._resolveFilename (node:internal/modules/cjs/loader:1039:15)
    at mod._resolveFilename (/var/task/node_modules/next/dist/build/webpack/require-hook.js:23:32)
    at Module._load (node:internal/modules/cjs/loader:885:27)
    at Module.require (node:internal/modules/cjs/loader:1105:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at 33330 (/var/task/apps/nextjs/.next/server/pages/_app.js:1399:18)
    at __webpack_require__ (/var/task/apps/nextjs/.next/server/webpack-runtime.js:25:42)
    at 44514 (/var/task/apps/nextjs/.next/server/chunks/943.js:9428:45)
    at __webpack_require__ (/var/task/apps/nextjs/.next/server/webpack-runtime.js:25:42)
    at 59858 (/var/task/apps/nextjs/.next/server/chunks/878.js:508:70) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/var/task/apps/nextjs/.next/server/pages/_app.js',
    '/var/task/node_modules/next/dist/server/require.js',
    '/var/task/node_modules/next/dist/server/next-server.js',
    '/var/task/apps/nextjs/___next_launcher.cjs'
  ]
}

Update Clerk to use Transfers

Hey Chen!

James, for Clerk, I saw you are still using sign-in / sign-up. Separately I updated the original t3-turbo-and-clerk to use transfer to make it seamless for users. Not sure if you are interested in updating to this?

For example:

const SignInWithOAuth = () => {
  const { isLoaded, signIn, setSession } = useSignIn();
  const { signUp } = useSignUp();
  if (!isLoaded) return null;

  const handleSignInWithDiscordPress = async () => {
    try {
      const redirectUrl = AuthSession.makeRedirectUri({
        path: "/oauth-native-callback",
      });

      await signIn.create({
        strategy: "oauth_discord",
        redirectUrl,
      });

      const {
        firstFactorVerification: { externalVerificationRedirectURL },
      } = signIn;

      if (!externalVerificationRedirectURL)
        throw "Something went wrong during the OAuth flow. Try again.";

      const authResult = await AuthSession.startAsync({
        authUrl: externalVerificationRedirectURL.toString(),
        returnUrl: redirectUrl,
      });

      if (authResult.type !== "success") {
        throw "Something went wrong during the OAuth flow. Try again.";
      }

      // Get the rotatingTokenNonce from the redirect URL parameters
      const { rotating_token_nonce: rotatingTokenNonce } = authResult.params;

      await signIn.reload({ rotatingTokenNonce });

      const { createdSessionId } = signIn;

      if (createdSessionId) {
        // If we have a createdSessionId, then auth was successful
        await setSession(createdSessionId);
      } else {
        // If we have no createdSessionId, then this is a first time sign-in, so
        // we should process this as a signUp instead
        // Throw if we're not in the right state for creating a new user
        if (
          !signUp ||
          signIn.firstFactorVerification.status !== "transferable"
        ) {
          throw "Something went wrong during the Sign up OAuth flow. Please ensure that all sign up requirements are met.";
        }

        console.log(
          "Didn't have an account transferring, following through with new account sign up",
        );

        // Create user
        await signUp.create({ transfer: true });
        await signUp.reload({
          rotatingTokenNonce: authResult.params.rotating_token_nonce,
        });
        await setSession(signUp.createdSessionId);
      }
    } catch (err) {
      console.log(JSON.stringify(err, null, 2));
      console.log("error signing in", err);
    }
  };

Running react native on ios failing

When trying to run yarn native and then pressing i for iOS, I get the following error:

iOS Bundling failed 14290ms
error: Error: While resolving module `next/router`, the Haste package `next` was found. However the module `router` could not be found within the package. Indeed, none of these files exist:

  * `/Users/bjoern/projects/farmer-assistant-2/apps/next/router(.native|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx|.ios.js|.native.js|.js|.ios.jsx|.native.jsx|.jsx|.ios.json|.native.json|.json)`
  * `/Users/bjoern/projects/farmer-assistant-2/apps/next/router/index(.native|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx|.ios.js|.native.js|.js|.ios.jsx|.native.jsx|.jsx|.ios.json|.native.json|.json)`
    at resolveHasteName (/Users/bjoern/projects/farmer-assistant-2/node_modules/metro-resolver/src/resolve.js:198:9)
    at Object.resolve (/Users/bjoern/projects/farmer-assistant-2/node_modules/metro-resolver/src/resolve.js:68:20)
    at ModuleResolver.resolveDependency (/Users/bjoern/projects/farmer-assistant-2/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:126:31)
    at DependencyGraph.resolveDependency (/Users/bjoern/projects/farmer-assistant-2/node_modules/metro/src/node-haste/DependencyGraph.js:264:43)
    at Object.resolve (/Users/bjoern/projects/farmer-assistant-2/node_modules/metro/src/lib/transformHelpers.js:170:21)
    at resolveDependencies (/Users/bjoern/projects/farmer-assistant-2/node_modules/metro/src/DeltaBundler/graphOperations.js:466:33)
    at processModule (/Users/bjoern/projects/farmer-assistant-2/node_modules/metro/src/DeltaBundler/graphOperations.js:232:31)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async addDependency (/Users/bjoern/projects/farmer-assistant-2/node_modules/metro/src/DeltaBundler/graphOperations.js:361:18)
    at async Promise.all (index 2)

Demo site gives prisma error

https://cua-demo.vercel.app/

after a few seconds on the page, it gives:

Invalid `prisma.entry.findMany()` invocation: error: Error validating datasource `db`: the URL must start with the protocol `file:`. --> schema.prisma:9 | 8 | provider = "sqlite" // Change this to "postgresql" when you want to use PostgreSQL 9 | url = env("DATABASE_URL") | Validation Error Count: 1

[BUG] Email Signup gives a 401 error on the user.create tRPC call

First off, I really appreciate the project. This was very close to the tech stack I settled on after some digging around.

Describe the bug
Signing up a user with Email Signup gives a 401 error on the user.create tRPC call. The user signup completes in Clerk but the user isn't saved in the database.

User signup via an OAuth provider works and the user is saved in both Clerk and the DB, which appears to be due to this line.

This bug relates to #5

Note - I've only tested this for Web signup with NextJS. It hasn't been tested with Expo.

To Reproduce
Steps to reproduce the behaviour:

  1. Start local database e.g. npx supabase start or equivalent
  2. Run yarn studio and open Prisma studio
  3. Run yarn web
  4. Click on Sign Up
  5. Sign up new user with Email/Password option
  6. Enter verification code
  7. Check Clerk dashboard and see user exists
  8. Check database via Prisma studio and see no user

Expected behavior
tRPC call returns with 200 code. The user is created in the database and Clerk.

Screenshots

user-create-error

Desktop

  • OS: MacOS (Apple Silicon)
  • Browser: chrome

Additional Info

I've set up Prisma with Supabase and am testing against a local version of Supabase with Docker.

[BUG] Cannot compile ios for production

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Follow the original setup and startup steps
  2. cd apps/expo
  3. npx expo run:ios (you should see the app in the simulator)
    a. if the above fails, it did for me with trigger this error Invalid `RNGestureHandler.podspec` file: undefined method `exists?' for File:Class.
    b. yarn up react-native-gesture-handler
    c. yarn up [email protected] (you should see the app in the simulator)
  4. Take note that the app shows just fine
  5. Stop expo
  6. npx expo run:ios --configuration Release (for me, the simulator screen is blank)

Expected behavior
The app should display exactly as it would if you were to run npx expo run:ios and work the same as well. I tried the same steps written above using the next-expo-solito starter with tamagui and it worked as expected.

If someone has successfully built for ios with eas using CUA, some pointers would be greatly appreciated. I've been trying to figure it out for the past 2 days and finally narrowed it down to something about the way CUA is structured (possibly).

Screenshots
npx expo run:ios
image

npx expo run:ios --configuration Release
image

If applicable, add screenshots to help explain your problem.

System:
OS: macOS 13.2.1
CPU: (8) arm64 Apple M1 Pro
Memory: 230.95 MB / 16.00 GB
Shell: 5.8.1 - /bin/zsh
Binaries:
Node: 16.15.0 - ~/.nvm/versions/node/v16.15.0/bin/node
Yarn: 3.3.1 - ~/Library/pnpm/yarn
npm: 8.5.5 - ~/.nvm/versions/node/v16.15.0/bin/npm
Browsers:
Brave Browser: 110.1.48.171
Chrome: 109.0.5414.119
Firefox Developer Edition: 101.0
Safari: 16.3
npmPackages:
@babel/runtime: ^7.18.9 => 7.20.7
@manypkg/cli: ^0.19.1 => 0.19.2
dotenv: ^16.0.3 => 16.0.3
dotenv-cli: ^6.0.0 => 6.0.0
eslint: ^8.21.0 => 8.32.0
lerna-update-wizard: ^1.1.2 => 1.1.2
prettier: ^2.7.1 => 2.8.3
turbo: ^1.4.2 => 1.7.0
typescript: ^4.9.4 => 4.9.4

[BUG] unmatched route in expo

Describe the bug
after executing yarn native, it shows unmatched route. for web, it runs fine.
the URL: exp://{url}/--/

To Reproduce

  1. Run 'yarn native'
  2. See error

Expected behavior
main screen

Screenshots
If applicable, add screenshots to help explain your problem.

Smartphone (please complete the following information):

  • Device: oneplus 7
  • OS: android 13
  • Version: latest

[BUG] OAuth is looping on SignUp when Logged On

Describe the bug
When I try to Sign Up when I'm already logged in, I get into login cycle:

To Reproduce
Steps to reproduce the behavior:

  1. Replicate this repo
  2. Sign Up via anything
  3. Sign Up again while logged in
  4. See error

Expected behavior
Either I get into main page logged in or I am redirected to SignUp.

Screenshots

Desktop (please complete the following information):

  • OS: [e.g. iOS] Fedora 37
  • Browser [e.g. chrome, safari] Firefox
  • Version [e.g. 22] 110.0

question: what is entries?

first off, awesome work, very cool

what is entry? in the schema -- it doesn't seem to be used anywhere

for me, it's always empty, and never gets written to the db

[BUG] AuthSession.startAsync no longer supported in expo-auth-session

Describe the bug
I am not able to work around the OAuth Signin/signup as the startAsync method is not supported anymore by Expo AuthSession.

To Reproduce
Steps to reproduce the behavior:

  1. Upgrade Expo and expo-auth-session to latest version
  2. Sign In with any OAuth provider
  3. See error

Expected behavior
Login/Signup should work as expected.

Screenshots
Screenshot 2023-07-07 at 9 38 45 PM

Screenshot 2023-07-07 at 9 42 08 PM

Able to repro on iOS simulator and device.

Cannot build nextjs app/deploy to vercel.

Cannot build Next app atm, even locally.
➤ YN0000: Error occurred prerendering page "/user/[id]". Read more: https://nextjs.org/docs/messages/prerender-error

Looking into it right now!

[BUG] After login on demo page getting prisma error

Describe the bug
A clear and concise description of what the bug is.

sign up in https://cua-demo.vercel.app/
after sign up error shows up

Invalid `prisma.entry.findMany()` invocation: error: Error validating datasource `db`: the URL must start with the protocol `file:`. --> schema.prisma:9 | 8 | provider = "sqlite" // Change this to "postgresql" when you want to use PostgreSQL 9 | url = env("DATABASE_URL") | Validation Error Count: 1

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Mac Monterrey
  • Browser: Edge

Rename client's `trpc` util to `api`

Since this got merged, create-t3-app creates a api.ts file instead of trpc.ts for the client, allowing us to write api.bla.useQuery() instead of trpc.bla.useQuery(). I'm not aware if there are any other changes as well though.

I could make a PR for this but I guess it really depends if we're trying to keep CUA updated with CT3A or not.

[BUG] Error after upgrading tamagui

Describe the bug
After running tamagui upgrade, yarn web or yarn dev starts to throw error:

nextjs:dev: Error: No parent manager given
nextjs:dev:     at new ThemeManager (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/helpers/ThemeManager.js:46:15)
nextjs:dev:     at createState (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/hooks/useTheme.js:195:15)
nextjs:dev:     at useReducer (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5079:57)
nextjs:dev:     at Object.useState (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5017:10)
nextjs:dev:     at useState (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react/cjs/react.development.js:1622:21)
nextjs:dev:     at useChangeThemeEffect (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/hooks/useTheme.js:155:65)
nextjs:dev:     at useThemeWithState (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/hooks/useTheme.js:53:24)
nextjs:dev:     at eval (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/createComponent.js:186:62)
nextjs:dev:     at renderWithHooks (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5658:16)
nextjs:dev:     at renderForwardRef (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5842:18)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6005:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderIndeterminateComponent (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5971:9)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderIndeterminateComponent (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderNode (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6259:12)
nextjs:dev:     at renderChildrenArray (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6211:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6141:7)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderContextProvider (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderContextProvider (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderIndeterminateComponent (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs:dev:     at renderMemo (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5868:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6011:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderNode (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6259:12)
nextjs:dev:     at renderChildrenArray (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6211:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6141:7)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderContextProvider (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev: Trace
nextjs:dev:     at new ThemeManager (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/helpers/ThemeManager.js:45:17)
nextjs:dev:     at createState (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/hooks/useTheme.js:195:15)
nextjs:dev:     at useReducer (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5079:57)
nextjs:dev:     at Object.useState (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5017:10)
nextjs:dev:     at useState (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react/cjs/react.development.js:1622:21)
nextjs:dev:     at useChangeThemeEffect (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/hooks/useTheme.js:155:65)
nextjs:dev:     at useThemeWithState (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/hooks/useTheme.js:53:24)
nextjs:dev:     at eval (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/createComponent.js:186:62)
nextjs:dev:     at renderWithHooks (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5658:16)
nextjs:dev:     at renderForwardRef (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5842:18)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6005:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderIndeterminateComponent (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5971:9)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderIndeterminateComponent (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderNode (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6259:12)
nextjs:dev:     at renderChildrenArray (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6211:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6141:7)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderContextProvider (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderContextProvider (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderIndeterminateComponent (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs:dev:     at renderMemo (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5868:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6011:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderNode (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6259:12)
nextjs:dev:     at renderChildrenArray (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6211:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6141:7)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderContextProvider (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev: Error: No parent manager given
nextjs:dev:     at new ThemeManager (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/helpers/ThemeManager.js:46:15)
nextjs:dev:     at createState (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/hooks/useTheme.js:195:15)
nextjs:dev:     at useReducer (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5079:57)
nextjs:dev:     at Object.useState (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5017:10)
nextjs:dev:     at useState (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react/cjs/react.development.js:1622:21)
nextjs:dev:     at useChangeThemeEffect (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/hooks/useTheme.js:155:65)
nextjs:dev:     at useThemeWithState (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/hooks/useTheme.js:53:24)
nextjs:dev:     at eval (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/createComponent.js:186:62)
nextjs:dev:     at renderWithHooks (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5658:16)
nextjs:dev:     at renderForwardRef (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5842:18)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6005:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderIndeterminateComponent (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5971:9)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderIndeterminateComponent (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderNode (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6259:12)
nextjs:dev:     at renderChildrenArray (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6211:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6141:7)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderContextProvider (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderContextProvider (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderIndeterminateComponent (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs:dev:     at renderMemo (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5868:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6011:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderNode (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6259:12)
nextjs:dev:     at renderChildrenArray (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6211:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6141:7)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderContextProvider (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev: error - ../node_modules/@tamagui/web/dist/cjs/helpers/ThemeManager.js (46:0) @ new ThemeManager
nextjs:dev: error - Error: No parent manager given
nextjs:dev:     at new ThemeManager (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/helpers/ThemeManager.js:46:15)
nextjs:dev:     at createState (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/hooks/useTheme.js:195:15)
nextjs:dev:     at useReducer (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5079:57)
nextjs:dev:     at Object.useState (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5017:10)
nextjs:dev:     at useState (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react/cjs/react.development.js:1622:21)
nextjs:dev:     at useChangeThemeEffect (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/hooks/useTheme.js:155:65)
nextjs:dev:     at useThemeWithState (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/hooks/useTheme.js:53:24)
nextjs:dev:     at eval (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/createComponent.js:186:62)
nextjs:dev:     at renderWithHooks (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5658:16)
nextjs:dev:     at renderForwardRef (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5842:18)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6005:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderIndeterminateComponent (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5971:9)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderIndeterminateComponent (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderNode (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6259:12)
nextjs:dev:     at renderChildrenArray (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6211:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6141:7)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderContextProvider (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderContextProvider (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderIndeterminateComponent (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs:dev:     at renderMemo (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5868:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6011:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderNode (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6259:12)
nextjs:dev:     at renderChildrenArray (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6211:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6141:7)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderContextProvider (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14) {
nextjs:dev:   page: '/'
nextjs:dev: }
nextjs:dev: null
nextjs:dev: error - ../node_modules/@tamagui/web/dist/cjs/helpers/ThemeManager.js (46:0) @ new ThemeManager
nextjs:dev: error - Error: No parent manager given
nextjs:dev:     at new ThemeManager (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/helpers/ThemeManager.js:46:15)
nextjs:dev:     at createState (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/hooks/useTheme.js:195:15)
nextjs:dev:     at useReducer (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5079:57)
nextjs:dev:     at Object.useState (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5017:10)
nextjs:dev:     at useState (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react/cjs/react.development.js:1622:21)
nextjs:dev:     at useChangeThemeEffect (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/hooks/useTheme.js:155:65)
nextjs:dev:     at useThemeWithState (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/hooks/useTheme.js:53:24)
nextjs:dev:     at eval (webpack-internal:///../../node_modules/@tamagui/web/dist/cjs/createComponent.js:186:62)
nextjs:dev:     at renderWithHooks (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5658:16)
nextjs:dev:     at renderForwardRef (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5842:18)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6005:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderIndeterminateComponent (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5971:9)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderIndeterminateComponent (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderNode (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6259:12)
nextjs:dev:     at renderChildrenArray (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6211:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6141:7)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderContextProvider (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderContextProvider (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderIndeterminateComponent (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs:dev:     at renderMemo (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5868:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6011:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderNode (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6259:12)
nextjs:dev:     at renderChildrenArray (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6211:7)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6141:7)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs:dev:     at renderContextProvider (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs:dev:     at renderElement (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs:dev:     at renderNodeDestructiveImpl (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs:dev:     at renderNodeDestructive (/Users/prsingh/Workspace/experiments/astroeasy-cua/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14) {
nextjs:dev:   page: '/'
nextjs:dev: }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.