A browser extension built with Vue.js 3, TypeScript, and Tailwind CSS.
- Vue.js 3 with Composition API
- TypeScript for type safety and better developer experience
- Tailwind CSS for styling
- Vite for fast development and building
- Manifest V3 compatibility
- Background script for extension lifecycle management
- Content script for interacting with web pages
- Popup UI with reactive components
- Options page for configuration settings
- ESLint configured for TypeScript and Vue
- Node.js (v14+)
- npm or yarn
- Clone this repository
- Install dependencies
npm install
# or
yarn installTo start the development server with basic file watching:
npm run dev
# or
yarn devTo build the extension in watch mode:
npm run watch
# or
yarn watchFor the best development experience with hot reloading:
-
First, install the extension in Chrome:
- Build the extension with
npm run dev:extension - Load the unpacked extension from the
distdirectory into Chrome - Note down the extension ID (or it will be auto-detected)
- Build the extension with
-
Start Chrome with remote debugging enabled:
# On Windows "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 # On macOS /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 # On Linux google-chrome --remote-debugging-port=9222
-
Run the development server with auto-reloading:
npm run dev:chrome # or yarn dev:chrome
This will:
- Watch for file changes
- Rebuild the extension when files change
- Automatically reload the extension in Chrome
To build the extension for production:
npm run build
# or
yarn buildThis will:
- Run TypeScript type checking
- Build the extension for production
- Create a
distdirectory with the extension files
To run TypeScript type checking without building:
npm run type-check
# or
yarn type-checkTo run ESLint:
npm run lint
# or
yarn lint- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" by toggling the switch in the top right
- Click "Load unpacked" and select the
distdirectory
- Open Firefox and navigate to
about:debugging#/runtime/this-firefox - Click "Load Temporary Add-on..."
- Select any file in the
distdirectory
public/: Static assets and manifest filesmanifest.json: Production manifestmanifest.dev.json: Development manifest with additional permissions
src/: Source codepages/: Different pages of the extensionpopup/: Popup UIoptions/: Options pagebackground/: Background scriptscontent/: Content scripts
components/: Reusable Vue componentsutils/: Utility functionstypes.d.ts: TypeScript type definitions
scripts/: Development and build scriptsextension-reloader.ts: Hot reload helper for development
You can customize the theme in tailwind.config.js.
Edit public/manifest.json to change extension metadata, permissions, etc.
- To add new pages, create a new directory in
src/pages/ - To add new permissions, update them in
public/manifest.json
MITup/: Popup UI - options/: Options page - background/: Background scripts - content/`: Content scripts
components/: Reusable Vue components
You can customize the theme in tailwind.config.js.
Edit public/manifest.json to change extension metadata, permissions, etc.
- To add new pages, create a new directory in
src/pages/ - To add new permissions, update them in
public/manifest.json
MIT
powered by Useful-Media © 2025