.
├── .translations # auto-generated translation files
│ ├── deepl.EN.json # English input for translation script
├── dist # Built extension files
│ ├── chrome # Chrome-specific build
│ └── firefox # Firefox-specific build
├── docs # documentation
│ ├── ChromeStoreDescriptions # Chrome store descriptions
│ ├── storeDescriptions # Firefox store descriptions
│ ├── HtmlButtons # Some downloaded html buttons
│ ├── icon # copy of used icons and logos
│ ├── Logos # Images used in Readme
│ ├── Screenshots # Screenshots of the extension
├── graph # chrome and firefox user statistics
├── scripts # Build/dev scripts
├── src # Source code
│ ├── assets # Global assets (images, styles)
│ ├── background # Extension background script
│ ├── components # Shared Vue components
│ ├── composables # Vue composables/hooks
│ ├── content-script # Content scripts injected into pages
│ ├── locales # i18n translation files
│ ├── stores # Pinia stores
│ ├── types # TypeScript type definitions
│ ├── ui # UI pages
│ │ ├── action-popup # Browser toolbar popup
│ │ ├── iframe-page # Content script app injected into pages by content script
│ │ ├── options-page # Extension options
│ └── utils # Shared utilities
├── manifest.config.ts # Base manifest configuration
├── vite.config.ts # Base Vite configuration
├── tailwind.config.cjs # Tailwind CSS configuration
└── package.json # Project dependencies and scripts
pnpm format
run prettier on all filespnpm lint
run esLintpnpm lint:manifest
web-ext lint manifest files
pnpm transDeepL
translate .translation/deepl.EN.json and output them into the locales files directlypnpm hours
calculate the hours spent on the projectpnpm copyDocsFtoC
copy the docs from the firefox folder to the chrome folderpnpm firefox
run extension with permanent firefox profile
unplugin-vue-router
- File system based route generator for Viteunplugin-auto-import
- Directly usebrowser
and Vue Composition API without importingunplugin-vue-components
- components auto importunplugin-icons
- icons as componentsunplugin-turbo-console
- Improve the Developer Experience of console@intlify/unplugin-vue-i18n
- unplugin for Vue I18n
- Pinia - Intuitive, type safe, light and flexible Store for Vue
- VueUse - collection of useful composition APIs
- Notivue - toast notification system
- Vue-i18n - Internationalization plugin for Vue.js
- Marked - A markdown parser and compiler. Used for CHANGELOG.md to show in Update page
- tailwindcss - A utility-first CSS framework
- daisyUI - The most popular component library for Tailwind CSS
webext-bridge
- effortlessly communication between contextswebextension-polyfill
- A lightweight polyfill library for Promise-based WebExtension APIs in Chrome
- TypeScript - Typed JavaScript at Any Scale
- ESLint - Linting utility for JavaScript and JSX
- Prettier - Code formatter
- Use Composition API with
<script setup>
SFC syntax - Use Composition API with
setup
SFC syntax in Pinia stores
manifest.config.ts
- Base extension manifest with common configurationmanifest.chrome.config.ts
- Chrome/ chromium based browsers specific manifestmanifest.firefox.config.ts
- Firefox spefic manifestvite.config.ts
- Base vite configurationvite.chrome.config.ts
- Chrome/ chromium based browsers specific vite configurationvite.firefox.config.ts
- Firefox specific vite configuration