npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@edenapp/genesis

v0.2.6

Published

Genesis - Package and bundle Eden applications into .edenite format.

Readme

@edenapp/genesis

📦 Genesis - Package and bundle Eden applications.

Overview

Genesis is the official bundler for Eden apps. It packages your Eden applications into .edenite format using modern Zstandard (zstd) compression - ready to be planted in any Eden environment.

Features

  • 🗜️ High-Performance Compression: Uses Zstandard compression for superior compression ratios
  • 🔒 Integrity Verification: Built-in SHA256 checksums for archive verification
  • 🎯 Metadata Support: Archive format versioning for forward compatibility

Installation

npm install -g @edenapp/genesis

Usage

Build an App

Bundle your app into .edenite format:

genesis build ./my-app

With custom output path:

genesis build ./my-app -o ./dist/my-app.edenite

With custom compression level (1-22, default 11):

genesis build ./my-app -c 9

Verbose output:

genesis build ./my-app -v

Dry run (validate without creating files):

genesis build ./my-app --dry-run

Extract an App

Extract an .edenite file to a directory:

genesis extract my-app.edenite ./output-dir

With verbose output:

genesis extract my-app.edenite ./output-dir -v

Skip checksum verification (not recommended):

genesis extract my-app.edenite ./output-dir --no-verify

Validate an App

Check if your app manifest and files are valid:

genesis validate ./my-app

Get Info

Display information about an .edenite file:

genesis info my-app-1.0.0.edenite

App Structure

Your Eden app directory should contain:

my-app/
├── manifest.json     # Required: App metadata
├── index.html        # Optional: Frontend entry point (can be remote URL)
├── backend.js        # Optional: Backend entry point (app can be frontend-only)
├── app.js            # Optional: Frontend logic
├── icon.png          # Optional: App icon
└── ...               # Any other app files

manifest.json

{
  "id": "com.example.myapp",
  "name": "My App",
  "version": "1.0.0",
  "description": "My awesome Eden app",
  "author": "Your Name",
  "backend": {
    "entry": "backend.js"
  },
  "frontend": {
    "entry": "index.html"
  },
  "icon": "icon.png"
}

.edenite Format

An .edenite file is a Zstandard-compressed TAR archive with the following structure:

  • Format: [4 bytes metadata length][metadata JSON][zstd-compressed TAR]
  • Metadata: Includes format version, SHA256 checksum, creation time, and app manifest
  • Compression: Zstandard (zstd) compression with configurable levels (1-22)
  • Integrity: SHA256 checksum verification on extraction

Programmatic API

import { GenesisBundler } from '@edenapp/genesis';

// Bundle an app
const result = await GenesisBundler.bundle({
  appDirectory: './my-app',
  outputPath: './output/my-app.edenite',
  verbose: true,
  compressionLevel: 9, // Optional: 1-22, default 3
  dryRun: false, // Optional: validate only
});

// Extract an app
const extractResult = await GenesisBundler.extract({
  edenitePath: './my-app.edenite',
  outputDirectory: './extracted',
  verbose: true,
  verifyChecksum: true, // Optional: verify integrity
});

// Get archive info
const info = await GenesisBundler.getInfo('./my-app.edenite');
console.log(info.manifest);
console.log(info.checksum);

License

MIT