@makeitdev/shared
v1.1.20
Published
Shared utilities and types for RightProps applications
Maintainers
Readme
@makeit/shared
A shared library for makeitdev. Provides utility functions commonly used between client and server sides.
Installation
npm install @makeit/sharedStructure
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.tsEnvironment Variables
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_secretWhere to find these values:
- 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
Usage
Using the entire package
import { formatDate, validateEmail } from '@makeit/shared'Using from client-side
import { formatDate, formatCurrency } from '@makeit/shared/client'
const date = formatDate(new Date())
const price = formatCurrency(1000000)Using from server-side
import { validateEmail, generateSlug } from '@makeit/shared/server'
const isValidEmail = validateEmail('[email protected]')
const slug = generateSlug('안녕하세요! Hello World!')Development
Local Development
# Install dependencies
npm install
# Development mode (file change detection)
npm run dev
# Build
npm run build
# Release (version update + tag creation + push)
npm run releaseDeployment Process
- After code changes, run
npm run release - Automatically runs
npm version patch - Creates Git tag and pushes
- GitHub Actions automatically deploys to npm
License
MIT