Iceberg.js is a small, framework-agnostic JavaScript and TypeScript client specifically designed for interacting with Apache Iceberg REST Catalogs. It provides a thin HTTP wrapper over the official REST API, making it generic enough to work with any Iceberg REST Catalog implementation without vendor lock-in. The current stable version is `0.8.1`. The project maintains an active release cadence, with multiple minor versions released within short intervals, indicating ongoing development towards a stable 1.0.0. Key differentiators include first-class TypeScript support for strong typing, reliance on the native `fetch` API for universal compatibility (Node.js 20+ and modern browsers), and a focused scope on catalog operations, deliberately excluding data reading or Parquet file support.
npm install iceberg-jsVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to initialize the IcebergRestCatalog client, create a new namespace, and then define and create a new table within that namespace, including schema and basic properties.
Review calls to catalog methods and their error handling; update parsing logic to conform to the new API response and error shapes.
Re-evaluate type usage, especially for schema definitions and data types, to ensure compatibility with the updated `IcebergType` definitions.
Be aware of this limitation; for data plane operations, you will need to use a separate data processing engine (e.g., Spark, Flink, Trino) that integrates with Iceberg.
Ensure your Node.js development and production environments are running version 20.0.0 or newer.
Thoroughly verify that `baseUrl` points to the correct catalog endpoint, `catalogName` is specified accurately for multi-catalog setups, and the `auth` object contains valid credentials or configuration.
Upgrade your Node.js runtime to version 20.0.0 or higher. Alternatively, provide a custom `fetch` implementation in the `IcebergRestCatalog` constructor options if you cannot upgrade Node.js.
Use ESM `import { IcebergRestCatalog } from 'iceberg-js'` and ensure your project is configured for ESM (e.g., `"type": "module"` in `package.json`).Verify your `auth` configuration in the `IcebergRestCatalog` constructor. Ensure the token is correct, not expired, and has the necessary permissions on the Iceberg REST Catalog.
Double-check the `baseUrl` in your `IcebergRestCatalog` options. If applicable, ensure `catalogName` is set correctly and matches your server's configuration.
No dependency data recorded yet.