jose-cjs
v6.2.3
Published
jose with dual ESM+CJS support (fork of panva/jose)
Maintainers
Readme
jose-cjs
A fork of panva/jose v6 with dual ESM + CommonJS support.
The original jose v6 is ESM-only. This package adds full CJS support via bundled .cjs files, while keeping the original ESM tree-shakeable exports intact.
Install
npm install jose-cjsUsage
CommonJS (require)
// Full package
const jose = require('jose-cjs');
const { SignJWT, jwtVerify, generateKeyPair } = require('jose-cjs');
// Sub-path imports also work
const { jwtVerify } = require('jose-cjs/jwt/verify');
const { SignJWT } = require('jose-cjs/jwt/sign');ESM (import)
import * as jose from 'jose-cjs';
import { SignJWT } from 'jose-cjs/jwt/sign';
import { jwtVerify } from 'jose-cjs/jwt/verify';Differences from jose
| Feature | jose v6 | jose-cjs |
|---|---|---|
| ESM support | ✅ | ✅ |
| CJS (require) | ❌ (Node 20.19+/22.12+ only) | ✅ (all Node.js versions) |
| Tree-shakeable ESM | ✅ | ✅ |
| Sub-path exports | ✅ | ✅ |
| TypeScript types | ✅ | ✅ |
Rebuilding from source
git clone https://github.com/panva/jose
cd jose
npm install
npm run build # compiles TypeScript → ESM
node tools/build-cjs.mjs # compiles ESM → CJS ← added by this forkLicense
MIT — same as the original panva/jose.
