cXpher (v2.2.3, active) is a JavaScript/TypeScript toolchain combining package management, bundling, encryption, and native binary compilation. It outputs single native executables for Linux, macOS, Windows across x64/x86/ARM64/ARM32 with multi-layer runtime protection: AES encryption of source, per-build randomized keys, debugger detection, and zero-disk source delivery. Unlike pkg, nexe, or Bun's --compile, cXpher does not embed plaintext or trivially-decompiled bytecode; it uses strong symmetric crypto and runtime hardening. It also functions as a full package manager with dependency resolution, content-addressable store, and parallel installs. Release cadence is regular with active maintenance.
npm install cxpherNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Demonstrates compiling a TypeScript entry point into an encrypted native binary with per-build key from environment variable.
Use dynamic import (import()) or switch project to ESM.
Replace --bundle with --compile in CLI commands.
Specify --platform flag or set CXPHER_PLATFORM env var to target a different architecture.
Ensure key is 32 bytes (use crypto.randomBytes(32) or derive with scrypt).
Remove ~/.cxpher/store references; rely on lockfile in project root.
Switch to ESM: add "type": "module" to package.json, or use dynamic import: const cXpher = await import('cxpher');Generate a 32-byte key: crypto.randomBytes(32).toString('hex') and set as CXPHER_KEY.Run 'cxpher install' first to generate lockfile, or use --no-lockfile flag.
Run the binary outside of debugger context. This protection is intentional and cannot be bypassed.
No dependency data recorded yet.