All Projects → abhijithvijayan → Web Extension Starter

abhijithvijayan / Web Extension Starter

Licence: mit
🖥🔋Web Extension starter to build "Write Once Run on Any Browser" extension

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Web Extension Starter

Mue
Fast, open and free-to-use new tab page for modern browsers
Stars: ✭ 56 (-94.33%)
Mutual labels:  extension, edge, chrome-extension, chrome, firefox, firefox-addon, opera-extension
Web Extension Starter
Typescript, React, Redux, Styled-Component and Webpack based sample extension boilerplate. Runs on Chrome and Firefox. Sample chrome extension.
Stars: ✭ 115 (-88.35%)
Mutual labels:  starter, extension, boilerplate, chrome-extension, chrome, firefox, firefox-addon
Bulkurlopener
Bulk URL Opener is an application that provides the user with multiple utilities to help with managing and using large amounts of urls
Stars: ✭ 29 (-97.06%)
Mutual labels:  chrome-extension, chrome, firefox, firefox-addon, opera-extension
Webextension Toolbox
Small CLI toolbox for cross-browser WebExtension development
Stars: ✭ 365 (-63.02%)
Mutual labels:  edge, chrome-extension, chrome, firefox, opera-extension
Gooreplacer
⚡️⚡️A browser extension to modify HTTP requests :-)
Stars: ✭ 850 (-13.88%)
Mutual labels:  edge, chrome-extension, chrome, firefox, firefox-addon
Extension Create
Create modern cross-browser extensions with no build configuration.
Stars: ✭ 167 (-83.08%)
Mutual labels:  extension, edge, boilerplate, chrome, firefox
Vue Chrome Extension Boilerplate
Boilerplate for Chrome extension using Vue.js and Webpack with auto-reload enabled.
Stars: ✭ 171 (-82.67%)
Mutual labels:  webpack4, extension, boilerplate, chrome-extension, chrome
Chrome Utm Stripper
Browser extension that strips Google Analytics (UTM) parameters, and various other click tracking tokens, from URL query strings
Stars: ✭ 590 (-40.22%)
Mutual labels:  chrome-extension, chrome, firefox, firefox-addon
Refined Bitbucket
Chrome and Firefox extension that improves Bitbucket's user experience
Stars: ✭ 560 (-43.26%)
Mutual labels:  chrome-extension, chrome, firefox, firefox-addon
Toggl Button
Toggl Button extension for Chrome and Firefox
Stars: ✭ 891 (-9.73%)
Mutual labels:  chrome-extension, chrome, firefox, firefox-addon
Jjb
一个帮助你自动申请京东价格保护的chrome拓展
Stars: ✭ 3,083 (+212.36%)
Mutual labels:  chrome-extension, chrome, firefox, firefox-addon
Easy To Rss
🚀 Chrome/Firefox Extension to retreive RSS feeds URLs from WebSite, RSSHub supported
Stars: ✭ 386 (-60.89%)
Mutual labels:  chrome-extension, chrome, firefox, firefox-addon
Saka Key
A keyboard interface to the web
Stars: ✭ 748 (-24.21%)
Mutual labels:  chrome-extension, chrome, firefox, firefox-addon
Extanalysis
Browser Extension Analysis Framework - Scan, Analyze Chrome, firefox and Brave extensions for vulnerabilities and intels
Stars: ✭ 351 (-64.44%)
Mutual labels:  chrome-extension, chrome, firefox, firefox-addon
Surfingkeys
Map your keys for web surfing, expand your browser with javascript and keyboard.
Stars: ✭ 3,787 (+283.69%)
Mutual labels:  extension, chrome, firefox, firefox-addon
Nighttab
A neutral new tab page accented with a chosen colour. Customise the layout, style, background and bookmarks in nightTab.
Stars: ✭ 598 (-39.41%)
Mutual labels:  extension, chrome-extension, chrome, firefox
Singlefile
Web Extension for Firefox/Chrome/MS Edge and CLI tool to save a faithful copy of an entire web page in a single HTML file
Stars: ✭ 4,417 (+347.52%)
Mutual labels:  chrome-extension, chrome, firefox, firefox-addon
Tracy
A tool designed to assist with finding all sinks and sources of a web application and display these results in a digestible manner.
Stars: ✭ 464 (-52.99%)
Mutual labels:  chrome-extension, chrome, firefox, firefox-addon
Metamask Extension
🌐 🔌 The MetaMask browser extension enables browsing Ethereum blockchain enabled websites
Stars: ✭ 6,585 (+567.17%)
Mutual labels:  extension, edge, chrome, firefox
Markdown Viewer
Markdown Viewer / Browser Extension
Stars: ✭ 497 (-49.65%)
Mutual labels:  chrome-extension, chrome, firefox, firefox-addon

🚀 web-extension-starter

Web Extension starter to build "Write Once Run on Any Browser" extension

🙋‍♂️ Made by @abhijithvijayan

Donate: PayPal, Patreon

Buy Me a Coffee


❤️ it? ⭐️ it on GitHub or Tweet about it.

🧙‍♂️ React + TypeScript = This branch

😨 React + JavaScript = Checkout react-javascript branch

👶🏼 HTML + JavaScript = Checkout master branch

Features

  • Cross Browser Support (Web-Extensions API)
  • Browser Tailored Manifest generation
  • Automatic build on code changes
  • Auto packs browser specific build files
  • SASS styling
  • TypeScript by default
  • ES6 modules support
  • React UI Library by default
  • Smart reload

Browser Support

Chrome Firefox Opera Edge Yandex Brave vivaldi
49 & later ✔ 52 & later ✔ 36 & later ✔ 79 & later ✔ Latest ✔ Latest ✔ Latest ✔

Used by extensions in production that has over 100,000+ users.

and many more...

Use this template

Create a new directory and run

curl -fsSL https://github.com/abhijithvijayan/web-extension-starter/archive/react-typescript.tar.gz | tar -xz --strip-components=1

🚀 Quick Start

Ensure you have

  • Node.js 10 or later installed
  • Yarn v1 or v2 installed

Then run the following:

  • yarn install to install dependencies.
  • yarn run dev:chrome to start the development server for chrome extension
  • yarn run dev:firefox to start the development server for firefox addon
  • yarn run dev:opera to start the development server for opera extension
  • yarn run build:chrome to build chrome extension
  • yarn run build:firefox to build firefox addon
  • yarn run build:opera to build opera extension
  • yarn run build builds and packs extensions all at once to extension/ directory

Development

  • yarn install to install dependencies.

  • To watch file changes in development

    • Chrome
      • yarn run dev:chrome
    • Firefox
      • yarn run dev:firefox
    • Opera
      • yarn run dev:opera
  • Load extension in browser

  • Chrome

    • Go to the browser address bar and type chrome://extensions
    • Check the Developer Mode button to enable it.
    • Click on the Load Unpacked Extension… button.
    • Select your extension’s extracted directory.
  • Firefox

    • Load the Add-on via about:debugging as temporary Add-on.
    • Choose the manifest.json file in the extracted directory
  • Opera

    • Load the extension via opera:extensions
    • Check the Developer Mode and load as unpacked from extension’s extracted directory.

Production

  • yarn run build builds the extension for all the browsers to extension/BROWSER directory respectively.

Note: By default the manifest.json is set with version 0.0.0. The webpack loader will update the version in the build with that of the package.json version. In order to release a new version, update version in package.json and run script.

If you don't want to use package.json version, you can disable the option here.

Generating browser specific manifest.json

Update source/manifest.json file with browser vendor prefixed manifest keys

{
  "__chrome__name": "SuperChrome",
  "__firefox__name": "SuperFox",
  "__edge__name": "SuperEdge",
  "__opera__name": "SuperOpera"
}

if the vendor is chrome this compiles to:

{
  "name": "SuperChrome",
}

Add keys to multiple vendors by separating them with | in the prefix

{
  __chrome|opera__name: "SuperBlink"
}

if the vendor is chrome or opera, this compiles to:

{
  "name": "SuperBlink"
}

See the original README of wext-manifest-loader package for more details

Bugs

Please file an issue here for bugs, missing documentation, or unexpected behavior.

Linting & TypeScript Config

License

MIT © Abhijith Vijayan

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].