A shared library for makeitdev. Provides utility functions commonly used between client and server sides.
npm install @makeit/shared
src/
├── index.ts # Main entry point
├── client/ # Client-side utilities
│ ├── index.ts
│ ├── contexts/
│ │ └── supabaseAuth.tsx
│ ├── hooks/
│ │ └── supabaseAuth.ts
│ └── utils/
│ ├── supabase.ts
│ └── utils.ts
└── server/ # Server-side utilities
├── index.ts
└── utils/
├── accountLinking.ts
├── auth.ts
├── middleware.ts
├── profile.ts
├── roles.ts
├── signup.ts
├── supabase.ts
└── utils.ts
The following environment variables are required for the server-side utilities:
# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
# Required for JWT verification in getVerifiedUserFast()
SUPABASE_JWT_SECRET=your_supabase_jwt_secret
- SUPABASE_URL & ANON_KEY: Found in your Supabase project dashboard under Settings > API
- SERVICE_ROLE_KEY: Found in the same location, but keep this secret (server-only)
- JWT_SECRET: Found under Settings > API > JWT Settings
import { formatDate, validateEmail } from '@makeit/shared'
import { formatDate, formatCurrency } from '@makeit/shared/client'
const date = formatDate(new Date())
const price = formatCurrency(1000000)
import { validateEmail, generateSlug } from '@makeit/shared/server'
const isValidEmail = validateEmail('user@example.com')
const slug = generateSlug('안녕하세요! Hello World!')
# Install dependencies
npm install
# Development mode (file change detection)
npm run dev
# Build
npm run build
# Release (version update + tag creation + push)
npm run release
- After code changes, run
npm run release
- Automatically runs
npm version patch
- Creates Git tag and pushes
- GitHub Actions automatically deploys to npm
MIT