Skip to content

pinguluk/jeep-sqlite-browser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

45 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Jeep SQLite Browser

A Chrome DevTools extension for browsing and managing Jeep SQLite databases stored in IndexedDB.

License Ko-fi

Features

  • πŸ” Database Detection - Automatically scans for Jeep SQLite databases in IndexedDB
  • πŸ“Š Table Browser - View all tables with row counts and structure
  • πŸ“ Data Viewer - Browse table data with pagination and CRUD operations
  • ✏️ Edit & Insert - Modify existing records or insert new ones
  • πŸ—‘οΈ Delete Records - Remove records with confirmation
  • πŸ”§ SQL Query Editor - Execute custom SQL queries with results display
  • πŸ’Ύ Export Tools - Export as SQL dumps or CSV files
  • πŸŒ™ Dark/Light Mode - Toggle themes with preference persistence
  • πŸ”„ Auto-Refresh - Monitor for database changes with configurable refresh
  • 🎨 Modern UI - Built with shadcn/ui components

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5

Installation

Prerequisites

From Source

  1. Clone the repository:

    git clone https://github.com/pinguluk/jeep-sqlite-browser.git
    cd jeep-sqlite-browser
  2. Install dependencies:

    pnpm install
  3. Build the extension:

    pnpm build
  4. Load in Chrome:

    • Open chrome://extensions/
    • Enable "Developer mode"
    • Click "Load unpacked"
    • Select the .output/chrome-mv3 directory

Development

Available Commands

Command Description
pnpm dev Start development with hot reload (Chrome)
pnpm dev:firefox Start development with hot reload (Firefox)
pnpm build Build for production (Chrome)
pnpm build:firefox Build for production (Firefox)
pnpm zip Build and create zip package (Chrome)
pnpm zip:firefox Build and create zip package (Firefox)
pnpm compile Run TypeScript type checking

Development Mode

Run with hot reload:

pnpm dev

Build for Production

pnpm build

Usage

  1. Navigate to a website using Jeep SQLite (e.g., Ionic/Capacitor apps)
  2. Open Chrome DevTools (F12)
  3. Click the "Jeep SQLite Browser" tab
  4. Select a database from the sidebar
  5. Browse tables, run queries, edit data, or export

Technology Stack

Project Structure

src/
β”œβ”€β”€ types.ts                        # TypeScript interfaces
β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ cn.ts                       # Classname utility (shadcn/ui)
β”‚   β”œβ”€β”€ helpers.ts                  # Utility functions
β”‚   β”œβ”€β”€ settings.ts                 # Settings persistence (localStorage)
β”‚   β”œβ”€β”€ database-handler.ts         # SQL.js wrapper
β”‚   └── devtools-comm.ts            # DevTools communication
β”œβ”€β”€ store/                          # Redux store
β”‚   β”œβ”€β”€ store.ts                    # Store configuration
β”‚   β”œβ”€β”€ hooks.ts                    # Typed dispatch/selector hooks
β”‚   └── slices/
β”‚       β”œβ”€β”€ databaseSlice.ts        # Database state
β”‚       β”œβ”€β”€ tableSlice.ts           # Table state
β”‚       β”œβ”€β”€ querySlice.ts           # SQL query state
β”‚       └── uiSlice.ts              # UI state
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ ui/                         # shadcn/ui components
β”‚   β”œβ”€β”€ Header.tsx                  # App header with controls
β”‚   β”œβ”€β”€ Sidebar.tsx                 # Database/table browser
β”‚   β”œβ”€β”€ Toolbar.tsx                 # Table actions toolbar
β”‚   β”œβ”€β”€ DataTable.tsx               # Data grid with pagination
β”‚   β”œβ”€β”€ StructureTab.tsx            # Table structure view
β”‚   β”œβ”€β”€ QueryTab.tsx                # SQL query editor
β”‚   β”œβ”€β”€ StatusBar.tsx               # Status information
β”‚   β”œβ”€β”€ InsertEditModal.tsx         # Insert/edit row modal
β”‚   └── DeleteConfirmModal.tsx      # Delete confirmation
β”œβ”€β”€ styles/
β”‚   └── globals.css                 # Global styles & Tailwind
└── entrypoints/
    β”œβ”€β”€ content.ts                  # Content script (page injection)
    β”œβ”€β”€ background.ts               # Background service worker
    β”œβ”€β”€ devtools.ts                 # DevTools panel registration
    └── devtools-panel/             # React DevTools panel
        β”œβ”€β”€ index.html
        β”œβ”€β”€ main.tsx
        └── PanelApp.tsx

example/                            # Demo Vue app using Jeep SQLite
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ App.vue                     # Main CRUD demo
β”‚   └── services/sqlite.ts          # SQLite service
└── package.json                    # Separate dependencies

Support

If you find this extension useful, consider supporting on Ko-fi β˜•

License

This project is licensed under a Custom Attribution + NonCommercial + Substantial-Changes-Only Redistribution License. See LICENSE for details.

Key points:

  • βœ… Personal, educational, and research use allowed
  • βœ… Fork and contribute via pull requests
  • ❌ No commercial use
  • ❌ No redistribution without substantial changes
  • ❌ No publishing to extension stores without permission

Credits

Original project by pinguluk.

About

Browse and manage Jeep SQLite databases stored in IndexedDB

Resources

License

Stars

Watchers

Forks

Packages

No packages published