https://github.com/kitze/tired-of-webdev
https://github.com/kitze/tired-of-webdev
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/kitze/tired-of-webdev
- Owner: kitze
- Created: 2022-12-07T06:11:26.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-12-07T20:36:22.000Z (over 3 years ago)
- Last Synced: 2024-12-29T13:18:33.527Z (over 1 year ago)
- Size: 15.6 KB
- Stars: 27
- Watchers: 3
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Some reasons why I'm tired of webdev. Please don't add your reasons, I have enough already.
If you think there's a fix for something, please open a PR and tell me how. Thank you.
## WebStorm
### Imports
Fuck auto imports in WebStorm, seriously. I want my editor to import things on the fly. I have the option "import on the fly" checked but it doesn't work.
- Sometimes it imports things twice (super frustrating)
- Auto-import {Box} from "ink" even though in 13948138413 files I import it from @mantine-ui/core
- Not suggesting auto-imports for components like the Text component
- If I'm using Vertical from the same library in 19384813 files, just import it from the same frickin library and don't ask me where to import it from!!!
- When working with Blitz and Prisma
- auto imports from "db" don't work at all
- returns from resolvers show yellow squiggly lines (FML)
- Importing an icon from react-icons gets imported from react-icons/all instead of the correct import (like react-icons/fa) and it breaks the app
## React
- You either have a 300 line component, or you have 2 choices: prop drilling for 30 levels, or add context and properly type the context. Ugh. Especially typing the context is a PITA.
## Prisma
- After running a db:migrate
- I have to restart the dev server and studio
- I have to go to the generated types so my editor (WebStorm) can pick up the type changes
- Enums cannot be imported on the client side as values, only as types. At least in a Blitz app. Prisma says
## Blitz
In retrospect, going with blitz was not a smart idea. trpc + next-auth is the way to go
- Scaffolds are useful, but not that clever
- my model has id string, but blitz scaffolds 10 files that use number as id, painful to refactor)
- the scaffold is bad
- I haaaaaaate creating files for every mutation, query, etc. while keeping a structure that makes blitz happy
- I hate that blitz forces certain file structure, trpc doesn't
- Not really Blitz fault, but the boilerplate comes with their own form logic
- Oh you want to quickly use a form? Better remember the syntax for these 2 lines (FML)
```
export function TodoForm>(props: FormProps) {
return key={props.initialValues?.toString()} {...props} formCtx={ctx}>
```
## react-hook-form
So annoying. Everything about it is annoying I honestly don't even know why I'm using it.
- Banging my head against the wall because of "caching" issues. I'm navigating from one page to another page in Next.js, why does a form keep old values ??? It doesn't make any sense.
## Blitz/Next
Not sure who's fault it is, figure it out.
- When my page fully reloads, I want to punch a wall. Everything should hot reload. All the time. Always.