npm.io
0.2.377 • Published 3d ago

@swype-org/react-sdk

Licence
MIT
Version
0.2.377
Deps
14
Size
13.9 MB
Vulns
0
Weekly
0

@swype-org/react-sdk

Deploy

Blink React SDK — drop-in payment widget and hooks for integrating Blink payments.

npm releases and production API

Published versions on npm are released as part of the production deploy workflow (after core-api is deployed to production). Pushing SDK changes to main alone does not publish a new npm version.

Pin a specific version in your app (for example "@swype-org/react-sdk": "0.1.x") instead of relying on floating latest in production.

Browser globals

The SDK automatically polyfills the Buffer global on import. The embedded smart-wallet provider used by the one-tap setup and signing flows references the Node Buffer global at runtime; without a polyfill, browser bundles fail with An internal error was received. Details: Buffer is not defined.

The polyfill is a no-op if the host application already defines Buffer (e.g. via its own vite-plugin-node-polyfills or manual assignment), so it never overwrites a host-provided polyfill.

When the host needs its own polyfill

ES module hoisting means the SDK polyfill only runs when the SDK module graph first loads. If the host application imports another Buffer-using library (for example @solana/kit, @solana/spl-token, bs58, or tweetnacl) outside of the SDK's import graph, that library's top-level code can run before the SDK polyfill and crash with ReferenceError: Buffer is not defined.

In that case the host must polyfill Buffer itself, before any other import. The pattern is:

// src/polyfills.ts
import { Buffer } from 'buffer';
if (typeof globalThis.Buffer === 'undefined') {
  globalThis.Buffer = Buffer;
}

// src/main.tsx — must be the FIRST import
import './polyfills';
import React from 'react';
// ...

Local development

To use the package from a git checkout without waiting for npm:

npm install file:../path/to/swype-sdk

Or link the monorepo package with your package manager’s workspace or npm link flow.

Keywords