Releases: zemzemi/CryptoBox
Releases · zemzemi/CryptoBox
v1.0.1 - Bundler Compatibility Fix
🐛 Bug Fixes
Fixed compatibility issues with Next.js, Vite, Webpack, and other modern bundlers by switching from TypeScript compiler to tsup.
Affected Frameworks (v1.0.0)
This fix resolves "Module not found" errors in:
- ✅ Next.js (App Router & Pages Router)
- ✅ Vite (React, Vue, Svelte projects)
- ✅ Create React App (Webpack)
- ✅ Angular (Webpack)
- ✅ Parcel, Turbopack, Rollup
What Changed
- ✅ Migrated build system from
tsctotsup(esbuild-based) - ✅ Resolved path alias issues (
@core,@crypto,@storage) - ✅ Generated correct ESM (
.js) and CommonJS (.cjs) outputs - ✅ Package now works seamlessly in all JavaScript projects with bundlers
Technical Details
Before (v1.0.0):
// Compiled output had unresolved aliases
import { X } from '@core/constants'; // ❌ Module not foundAfter (v1.0.1):
// Properly resolved to relative paths
import { X } from './core/constants.js'; // ✅ Works everywhereBreaking Changes
None - This is a bug fix release. All APIs remain unchanged.
Installation
npm install @azemzemi/[email protected]Verification
Test in your project:
import { createSecureLocalStorage } from '@azemzemi/cryptobox';
const storage = createSecureLocalStorage();
await storage.setSecure('token', { jwt: 'xxx' }, 'password');
const token = await storage.getSecure('token', 'password');Links
Full Changelog: v1.0.0...v1.0.1
v1.0.0 - Initial Release
🎉 CryptoBox v1.0.0 - Initial Release
Zero-dependency encryption library for JavaScript & TypeScript.
✨ Features
- 🔒 AES-256-GCM Encryption - Military-grade authenticated encryption
- 📦 Zero Dependencies - No supply chain vulnerabilities
- 🎯 Type-Safe - Full TypeScript support with strict typing
- ⚡ Simple API - 3 lines to encrypt localStorage
- 🌐 Universal - Works in Browser, Node.js, Deno, and Bun
🔧 Core Functionality
- AES-256-GCM authenticated encryption via Web Crypto API
- PBKDF2-HMAC-SHA256 key derivation (100,000 iterations)
- Random salt and IV per operation
- Timing-attack protection with constant-time comparisons
- Device fingerprinting for passwordless authentication
- Secure base64 encoding (supports all bytes 0-255)
📊 Quality Metrics
- ✅ 93.93% test coverage (77 unit tests)
- ✅ 0 vulnerabilities (npm audit)
- ✅ 0 ESLint warnings
- ✅ 100% TypeScript with strict mode
- ✅ CI/CD with GitHub Actions
📦 Installation
npm install @azemzemi/cryptobox🚀 Quick Start
import { createSecureLocalStorage } from '@azemzemi/cryptobox';
const storage = createSecureLocalStorage();
await storage.setSecure('user', { id: 123 }, 'password');
const user = await storage.getSecure('user', 'password');📚 Documentation
🙏 Thank You
Thank you for using CryptoBox! If you find it useful, please ⭐ star the repo and consider sponsoring.