@makeitdev/shared
TypeScript icon, indicating that this package has built-in type declarations

1.1.13 • Public • Published

@makeit/shared

A shared library for makeitdev. Provides utility functions commonly used between client and server sides.

Installation

npm install @makeit/shared

Structure

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

Environment 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_secret

Where 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('user@example.com')
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 release

Deployment Process

  1. After code changes, run npm run release
  2. Automatically runs npm version patch
  3. Creates Git tag and pushes
  4. GitHub Actions automatically deploys to npm

License

MIT

Package Sidebar

Install

npm i @makeitdev/shared

Weekly Downloads

315

Version

1.1.13

License

MIT

Unpacked Size

106 kB

Total Files

50

Last publish

Collaborators

  • ronpark