@odesssa/partners
v3.1.0
Published
##
Readme
@odesssa/Partners
# @odesssa/partners
The `@odesssa/partners` SDK provides a TypeScript-first, configurable interface to interact with the Odessa Partners API. It is part of the broader Odessa ecosystem and is intended to be easy to configure, consume, and extend.
---
## 📦 Installation
Install the package via your preferred package manager.
### Using npm
```bash
npm install @odesssa/partners
```Using pnpm
pnpm add @odesssa/partners⚙️ Configuration
Before calling any APIs, you must configure the SDK using the configure function.
import Partners, { configure } from '@odesssa/partners'
configure({
baseUrl: 'https://api.odessa.com',
token: 'your-api-token',
environment: 'production', // or 'test'
})Call configure() once at the beginning of your app to ensure other modules can access the configuration.
🚀 Usage
List Locations
Using the default export:
const locations = await Partners.LocationApi.listAsync()
console.log(locations)Or import the API directly:
import { LocationApi } from '@odesssa/partners'
const locations = await LocationApi.listAsync()🧪 Testing
This package uses Jest for unit testing. To run tests:
pnpm testIf working inside a monorepo:
pnpm --filter @odesssa/partners testTest files live inside the __tests__/ directory and follow standard Jest naming conventions.
🛠 Development
Technologies Used
- TypeScript — strongly typed, modern JS
- tsup — fast bundler for TypeScript
- pnpm — performant package manager for monorepos
- Jest — zero-config testing
Build Locally
pnpm buildThis runs tsup to compile the source files into the dist/ directory.
Folder Structure
@odesssa/partners/
├── dist/ # Compiled output
├── src/ # Source code
│ ├── apis/ # API handlers
│ │ └── LocationApi.ts
│ ├── config.ts # Runtime config
│ └── index.ts # Main entry point
├── __tests__/ # Jest tests
├── package.json
└── tsconfig.json📁 Dependencies
External
@odesssa/core— shared logic for making HTTP requests@odesssa/shared— constants/utilities shared across packages (marked private, bundled during build)
Internal
AppConfig— module-level runtime configuration
📄 License
MIT © [Your Name or Company]
🙌 Contributing
This is part of a mono-repo managed via pnpm workspaces. Contributions, feature suggestions, and issues are welcome — feel free to open a PR or submit an issue through the main repo.
📬 Contact
For support, reach out to your Odessa team or the repo maintainers.
