Skip to main content

Introducing exports Module in TypeScript SDKs

· 2 min read

The TypeScript SDK module export changes announced earlier are now live across all generated SDKs. These updates align with modern TypeScript best practices and improve cross-environment compatibility.

What’s New

  • New exports field in package.json for clear ESM/CommonJS resolution and typings.
  • Updated internal imports to use the .js extension per TypeScript guidance.

For full technical details and examples, see the earlier pre-release notice: Pre-Release Notice: TypeScript module export changes.

Availability

Effective today (December 31, 2025), newly generated TypeScript SDKs include these changes. Regenerate your SDK to apply these changes.

Impact & Guidance

note

If the TypeScript's best practices of the import patterns are being followed, no action is required.

Most users require no changes. Only the following 2 edge cases need updates where older import patterns are being followed.

  • Node.js ESM default imports: prefer namespace or named imports.
// Replace
import sdk from @company/some-sdk;
const client = new sdk.Client();

// With
import { Client } from "@company/some-sdk";
const client = new Client();
  • CommonJS deep imports (e.g., into dist): import from the package root.
// Replace
const { Client } = require("@company/some-sdk/dist/cjs/index");

// With
const { Client } = require("@company/some-sdk");

Action Required

  • Inform your SDK users: Notify SDK users of this change in your next SDK release Changelog.
  • Audit internal integrations: Review internal integrations using your TypeScript SDK for non-standard import patterns and update them accordingly.

If you have questions or run into issues, contact your APIMatic representative or email support@apimatic.io.