
Security News
Open VSX Begins Implementing Pre-Publish Security Checks After Repeated Supply Chain Incidents
Following multiple malicious extension incidents, Open VSX outlines new safeguards designed to catch risky uploads earlier.
A powerful, type-safe SDK for interacting with the Recal calendar API. Build sophisticated calendar integrations with support for Google and Microsoft calendar providers.
# Using npm
npm install recal-sdk
# Using yarn
yarn add recal-sdk
# Using bun
bun add recal-sdk
import { RecalClient } from 'recal-sdk'
// Initialize the client with token from .env file (RECAL_TOKEN)
const recal = new RecalClient()
// Or manually provide the token
const recal = new RecalClient({
token: "recal_xyz"
})
Security Note: This SDK is designed for server-side use. Never expose your API token in client-side code.
The SDK is organized into logical service modules:
calendar - Calendar management and busy queriesevents - Event creation, updates, and queriesscheduling - Availability and booking managementusers - User profile and settingsorganizations - Team and organization managementoauth - Calendar provider authenticationRECAL_TOKEN (required) - Your Recal API token (must start with "recal_")RECAL_URL (optional) - API base URL (defaults to https://api.recal.dev)// Using environment variables
// Set RECAL_TOKEN in your .env file
const recal = new RecalClient()
// Or provide explicitly
const recal = new RecalClient({
token: "recal_xyz",
url: "https://api.recal.dev" // optional
})
# Clone the repository
git clone https://github.com/recal-dev/recal-sdk-js.git
cd recal-sdk-js
# Install dependencies
bun install
# Run tests
bun test
# Build the SDK
bun run build
src/
├── client/ # Auto-generated HeyAPI SDK (DO NOT EDIT)
│ ├── client.gen.ts # HTTP client
│ ├── sdk.gen.ts # Generated SDK functions
│ ├── types.gen.ts # Generated TypeScript types
│ ├── zod.gen.ts # Zod validation schemas
│ └── core/ # Core utilities
├── services/ # Service wrapper implementations
│ ├── calendar.service.ts
│ ├── events.service.ts
│ ├── oauth.service.ts
│ ├── organizations.service.ts
│ ├── scheduling.service.ts
│ └── users.service.ts
├── utils/ # Helper utilities
│ ├── functionize.ts # Lazy evaluation helper
│ └── response.ts # Response unwrapper
├── errors.ts # Custom error classes
├── index.ts # Main exports
├── recal.ts # Recal client class
└── types.ts # Type re-exports
Note: All files in
client/with*.gen.tssuffix are auto-generated from the OpenAPI specification and should not be edited manually. Usebun run generateto regenerate them.
This SDK uses HeyAPI's OpenAPI TypeScript generator to create type-safe client code from the Recal API OpenAPI specification.
# Regenerate client code from OpenAPI spec
bun run generate
The generation process:
*.gen.ts files in src/client/When to regenerate:
This project uses Biome for formatting and linting:
# Format code
bun run format:fix
# Lint code
bun run lint:fix
# Run all checks
bun run check:fix
The SDK includes comprehensive integration tests for all services.
Required Environment Variables:
RECAL_TOKEN=recal_xxx # Required for all tests
RECAL_URL=https://api.recal.dev # Optional, defaults to production
# Optional (for OAuth integration tests)
GOOGLE_ACCESS_TOKEN=xxx
GOOGLE_REFRESH_TOKEN=xxx
Run Tests:
# Run all tests
bun test
# Run specific test file
bun test tests/integrations/users.test.ts
# Run with coverage
bun test --coverage
Note: Tests without OAuth tokens will skip OAuth-dependent tests automatically.
We welcome contributions! Here's how to get started:
git checkout -b feature/amazing-feature)bun test && bun run check:fix)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)*.gen.ts files (auto-generated)Found a bug or have a feature request? Please open an issue with:
This SDK is licensed under the MIT License. See the LICENSE file for details.
See CHANGELOG.md for a list of changes in each version.
Built with ❤️ by the Recal team
FAQs
Recal SDK
We found that recal-sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Following multiple malicious extension incidents, Open VSX outlines new safeguards designed to catch risky uploads earlier.

Research
/Security News
Threat actors compromised four oorzc Open VSX extensions with more than 22,000 downloads, pushing malicious versions that install a staged loader, evade Russian-locale systems, pull C2 from Solana memos, and steal macOS credentials and wallets.

Security News
Lodash 4.17.23 marks a security reset, with maintainers rebuilding governance and infrastructure to support long-term, sustainable maintenance.