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

 
 
 

Contributors