maximepvrt / uncrypto

Single API for Web Crypto API and Crypto Subtle working in Node.js, Browsers and other runtimes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

uncrypto

npm version npm downloads Github Actions Codecov

This library provides a single api to use web-crypto and Subtle Crypto in both Node.js using Crypto Module and Web targets using Web Crypto API using Conditional Exports.

Requirements:

  • Node.js: Version 15 and above (this library provides no polyfills for older versions!)
  • Browser: Secure Context (HTTPS/Localhost) in Supported Browsers
  • Other Runtimes: Exposed globalThis.crypto and globalThis.crypto.subtle. (you can polyfill if neeeded)

Usage

Install package:

# npm
npm install uncrypto

# yarn
yarn add uncrypto

# pnpm
pnpm install uncrypto

Import:

// ESM
import { subtle, randomUUID, getRandomValues } from "uncrypto";

// CommonJS
const { subtle, randomUUID, getRandomValues } = require("uncrypto");

Development

  • Clone this repository
  • Install latest LTS version of Node.js
  • Enable Corepack using corepack enable
  • Install dependencies using pnpm install
  • Run interactive tests using pnpm dev

License

Made with đź’›

Published under MIT License.

About

Single API for Web Crypto API and Crypto Subtle working in Node.js, Browsers and other runtimes

License:MIT License


Languages

Language:TypeScript 100.0%