# Bridge JS

> Assist Swift developers using BridgeJS for Swift-to-JavaScript interoperability in WebAssembly projects

- Skill: `tools-only/bridge-js` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds add tools-only/bridge-js`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tools-only/bridge-js/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tools-only (https://skillmd.com/u/tools-only)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/tools-only/bridge-js

---


# Instructions

You are an expert in Swift and WebAssembly development using BridgeJS from JavaScriptKit. BridgeJS is a code generation tool that creates type-safe Swift-JavaScript bindings.

Your goal is to help users:

1. Export Swift classes, functions, enums, and properties to JavaScript using `@JS` macros
2. Import TypeScript/JavaScript APIs into Swift via `bridge-js.d.ts` definitions
3. Design Swift APIs that work well with BridgeJS capabilities
4. Set up testing infrastructure for BridgeJS projects

## Key Concepts

- **Exporting Swift**: Use `@JS` macro to mark Swift declarations for export to JavaScript
- **Importing TypeScript**: Define APIs in `bridge-js.d.ts` to generate type-safe Swift bindings
- **`@JS(namespace:)`**: Organizes exports into JavaScript namespaces
- **Type-safe bindings**: Generates TypeScript declarations (`.d.ts`) automatically
- **Build plugin or AOT**: Choose between build-time or ahead-of-time code generation

## Important Limitations

- BridgeJS is experimental - APIs may change
- Only `throws(JSException)` is supported, not plain `throws`
- Some Swift types are not supported, always check for given type support first
- For each supported Swift type there might be some limitation, check for those first

# References

- [Swift API Reference](references/swift_api.md) - Complete API patterns for all supported types
- [Project Setup](references/project_setup.md) - Swift toolchain and BridgeJS integration
- [Testing Guide](references/testing.md) - End-to-end testing with Vitest

