์ด๋ถ ๋ธ๋ก๊ทธ์์๋ ์ฐธ๊ณ ๊ฐ๋ฅ
supabase ์ด๊ธฐ ์ค์ ํ๊ธฐ feat. typescript
next์ typescriptํ๊ฒฝ์์ supabase์ด๊ธฐ์ค์ ํ๋ ๊ณผ์ ์ ๋จ๊ฒจ๋ด ๋๋ค. 1. ์ค์น ๋จผ์ ํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค.
velog.io
+
๊ทผ๋ฐ
https://velog.io/@sanghyeon/NextJS-TypeScript-Supabase-%EC%84%A4%EC%A0%95
NextJS + TypeScript + Supabase ์ค์
NextJS ํ๋ก์ ํธ์ supabase type ์ ์ฉํ๊ธฐ
velog.io
์ ๋ธ๋ก๊ทธ๋ด์ฉ์ฒ๋ผ ๊ธด ๋ช ๋ น์ด ์์ด๋
supabase ๋์๋ณด๋ - API Docs ์์ - Tables and Views ์ Introduction ์ Generate and download types ๋ฅผ ํตํด
๋ฐ๋ก .ts ํ์ผ๋ก ๋ค์ด๋ฐ์ ์๋ ์๋ค !!
์ด ๋ฐฉ๋ฒ์ด ํจ์ฌ ๊ฐ๋จํ ๋ฏ
(์์ ์์ )
https://supabase.com/docs/guides/api/rest/generating-types
Generating TypeScript Types | Supabase Docs
How to generate types for your API and Supabase libraries.
supabase.com
npm i supabase --save-dev
yarn add -D supabase
npx supabase login
yarn supabase login
access tokens
https://supabase.com/dashboard/account/tokens
Access Tokens | Supabase
Personal access tokens can be used with our Management API or CLI.
supabase.com
ide terminal : supabase login
ํ ํฐ ์ ๋ ฅ
npx supabase gen types typescript --project-id <ํ๋ก์ ํธ ID> --schema public > <๊ฒฝ๋ก>
yarn supabase gen types typescript --project-id <ํ๋ก์ ํธ ID> --schema public > <๊ฒฝ๋ก>
// <>๊น์ง ์ ์ผ๋ฉด ์๋ฉ๋๋ค..! public ๋ค์ > ๊บฝ์๋ ์ง์ง ๋ค์ด๊ฐ๋ ๊ฑฐ์์ค
๊ทธ๋ฆฌ๊ณ ์ด ๋ช
๋ น์ด๊ฐ ๊ธฐ๋๊น
package.json ์ script ์ ๋ฑ๋กํด๋๊ณ ์ฌ์ฉํ๋๊ฒ ์ข์ ๋ฏํ๋ค
์๋๋ ์์
"scripts": {
"gen-types": "supabase gen types typescript --project-id <ํ๋ก์ ํธ ID> --schema public > <๊ฒฝ๋ก>
}
( <ํ๋ก์ ํธ id> , <๊ฒฝ๋ก> ์ ๋ง๊ฒ ์ ๋ ฅ
๋ง์ฝ schema public ์ด ์๋๋ผ๋ฉด public๋ ๋ณ๊ฒฝํด์ค์ผ ํ๋ ๊ฑฐ ๊ฐ๋ค
<๊ฒฝ๋ก> ๋ types/supabase/posts-type.ts ์ฒ๋ผ ํด๋๋ช ~ ํ์ผ๋ช ๊น์ง ์ํ๋ ๊ฒฝ๋ก๋ฅผ ์ ์ด์ฃผ๋ฉด ์์์ ํด๋น ํ์ผ์ด ์์ฑ๋๋ฉด์ ๋ด ํ๋ก์ ํธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ํ์ ๋ค์ด ์์ฑ๋๋ค.)
ํ๋ก์ ํธ id : supabase ๋์๋ณด๋์์ Project Settings - General settings์ Referene ID
ํน์ ํ๋ก์ ํธ ๋์๋ณด๋ ํ๋ฉด์์ url ํ์ธ๊ฐ๋ฅ : https://supabase.com/dashboard/project/<ํ๋ก์ ํธ ID>