0.2.4 • Published 5 months ago

geckoterm v0.2.4

Weekly downloads
-
License
MIT
Repository
-
Last release
5 months ago

npm latest package Build Status License npm downloads Follow on Twitter

CoinGecko Terminal / TS SDK

OpenAPI + TypeScript + Type Safe API

Summary

This package provides a type-safe SDK for interacting with the CoinGecko Terminal API. The main feature is a strongly typed API client generated using OpenAPI 3 specs. The repository is open source and hosted at In This GitHub Repository.

Check out the Changelog to see what changed in the latest releases.

Important Note: This SDK only Support ESM (ECMAScript Modules).

Quick Start

Install the SDK

You can install the CoinGecko Terminal SDK using Bun:

bun add geckoterm

Use the SDK

Here's an example of how to use the SDK to fetch the available networks:

import { getNetworks, setGeckotermAPIConfg } from 'geckoterm'

// Set the config for the client with the Base URL and API key
setGeckotermAPIConfg({
  baseUrl: 'https://api.geckoterminal.com/api/v2',
  // Replace with your API key / if you have one
  headers: {
    Authorization: `Bearer ${process.env.GECKOTERM_API_KEY}`,
  },
})

// Use the internal method to call the API
const response = await getNetworks({
  query: {
    page: 1,
  },
})

// Log the response
console.log('API response data:', response.data)

Install dependencies for Contributions

Prerequisites

Before running the SDK, ensure you have the following dependencies installed:

  • Bun (optional, but recommended): Used for runtime and testing.

You can install the required dependencies as follows:

Install Bun (for testing primitives, not required for the SDK itself)

# Supported on macOS, Linux, and WSL
curl -fsSL https://bun.sh/install | bash

# Upgrade Bun occasionally
bun upgrade

Compile API Client

To generate the TypeScript client from the OpenAPI spec, run the following commands:

# Step 1: Install dependencies
bun install

# Step 2: Compile the API client
bun run compile:api

The compile:api command performs the following steps:

  • Uses the @hey-api/openapi-ts Generator CLI to generate the TypeScript API client from the OpenAPI 3 spec.
  • Formats the generated code using Prettier.

How to make a release

For the Maintainer: Add NPM_TOKEN to the GitHub Secrets.

  1. Open a Pull Request with your changes.
  2. Merge the PR into the main branch.
  3. Checkout the main branch locally:
    git checkout main
  4. Pull the latest changes:
    git pull
  5. Run the release command:
    bun release: '' | alpha | beta -- --release-as minor | major
  6. Verify everything looks good (e.g., in CHANGELOG.md).
  7. Follow the instructions provided by the release log.
  8. Done!

Summary

This SDK provides a type-safe interface for interacting with the CoinGecko Terminal API. It uses OpenAPI to generate a fully typed API client, making it easier to work with the API in TypeScript.

Check out the GitHub repository for more information.