I have a Firefox extension. When I change the source code, every time I have to create the zip file including the source code and then make it as a .xpi file. Can I avoid this making *.xpi file steps?
Do I need to create an .xpi file to test my Firefox extension?
1.7k Views Asked by lasantha dharmasiri At
2
There are 2 best solutions below
0
Santosh
On
With WebExtensions, you don't need to create the .xpi file. You can directly go to about:debugging in the address bar and load your temporary add-on file. You can also click on debug to debug your webExtension. Have a look at this for more information on loading your first firefox add-on.
Related Questions in FIREFOX-ADDON
- Firefox SDK Add-on - How to start
- Copy to clipboard from Firefox add-on content script
- return of CERT_FindUserCertByUsage in javascript
- Js-ctypes third part dll with string return
- Multi-platform deployment of a Firefox extension
- How get all cookies in the given url using javascript or selenium?
- Manual adding firefox for android addon
- Variable is not defined error in my Firefox extension
- How can open Firefox developer tools in my extension's sidebar?
- Warning popup window for add-on installation
- Firefox Addons and message passing
- Is it possible to take screenshots from Firefox for Android extension?
- Blank Firefox addon panel page with multiple windows
- nsICacheService doesn't work in Firefox 38
- Cant load youtube api in frame
Related Questions in FIREFOX-ADDON-SDK
- Get youtube video information using javascript and Youtube-API
- Firefox SDK Add-on - How to start
- Copy to clipboard from Firefox add-on content script
- Multi-platform deployment of a Firefox extension
- How can open Firefox developer tools in my extension's sidebar?
- Warning popup window for add-on installation
- Firefox Addons and message passing
- Is it possible to take screenshots from Firefox for Android extension?
- Blank Firefox addon panel page with multiple windows
- FIrefox add-ons and running executable binaries
- Firefox add-on SDK -- "TypeError: can't convert null to object" Only on some computers
- Firefox's add-on SDK: no tooltip for context-menu?
- FF Addon SDK read of post data just hangs on login data only
- How to show/hide sidebar from panel
- Errors in Firefox Add-on SDK when using cfx xpi whereas cfx run works great
Related Questions in FIREFOX-ADDON-WEBEXTENSIONS
- Firefox extension .xpi file structure: description, contents, creation, and installation
- Send data between content-script/background
- How to get url as string from JSON when sending messages in Firefox or Chrome?
- How to get all frameId's in a tab?
- Completely lost on how to save extension popup window content
- tab.openerTabId undefined in Firefox WebExtension
- Can't successfully run executeScript from the background script unless I load the popup page/script first
- Using the same page (and JS) as the background and the popup in FireFox webextension without it reloading
- Newbie, can't find a way for this code to work inside webRequest.onBeforeRequest due return
- webRequest of background requests works in Chrome but not FF
- Get list of chrome extensions allowed in Incognito Mode
- Communicate between scripts in the background context (background script, browser action, page action, options page, etc.)
- Listen in Content Script for when AJAX response changes textarea val
- Firefox WebExtensions: How to open a background page as a unique tab?
- Can WebExtensions be used on Firefox for Android
Related Questions in FIREFOX-ADDON-BOOTSTRAP
- Firefox extension: about PopupNotifications.jsm in
- Access nsIDOMChromeWindow from Services.jsm or similar, for XUL to Add-ons-SDK migration
- Download and open Firefox
- Firefox 52 "New File" changes and error
- Do I need to create an .xpi file to test my Firefox extension?
- Is using a while loop a good waiting strategy in a Firefox Restartless Extension?
- Importing Javascript module in Firefox extension
- Show blank page in new private browsing window of Firefox
- Calling add-on from web page in new multiprocess Firefox
- maxVersion of Firefox Add-on is not enforced?
- Open Tab in a Specific Position by Firefox extension
- Using loadFrameScript, how can inject file before the page's script execution?
- Firefox Addon: bootstrap.js mit sdk/page-mod for versions < 38.0
Related Questions in FIREFOX-ADDON-OVERLAY
- How to iterate over files in a directory within an extractionless add-on's .xpi file
- How do I migrate a legacy XPCOM extension to WebExtensions?
- Use HTTP-on-modify-request to redirect URL
- How to force Firefox 56 to reload a legacy add-on?
- Download and open Firefox
- Do I need to create an .xpi file to test my Firefox extension?
- How to develop legacy Firefox add-ons in the future?
- maxVersion of Firefox Add-on is not enforced?
- Open Tab in a Specific Position by Firefox extension
- In Firefox 50, what is the appropriate chrome:// URL to overlay and extend DevTools main window?
- Why does my Firefox add-on not work after updating Firefox to version 50
- Open a new tab with "hello world" on it
- How to get the active tab URL in an e10s add-on
- How to read a local file in an add-on for Firefox version 45+
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
For all types of Firefox extensions you can test your extension without the need to create an .xpi file for each iteration.
WebExtensions
WebExtensions can be directly loaded as a temporary extension from the directory containing the manifest.json file. This is done from
about:debugging.You can use
web-ext runto test your extension in a temporary profile.They can be installed as an unpacked extension (all files not in a .xpi file). In addition, you can use a Firefox extension proxy file to have your extension files located in any directory you choose, not just under the profile's extensions directory.
Add-on SDK extensions
jpm runto test your extension without directly dealing with the .xpi file.jpm xpi. However, as an .xpi, they can be loaded as temporary extensions.jpn xpi, then manually unpacking the extension.Bootstrap/Restartless extensions
Bootstrap/Restartless extensions can be directly loaded as a temporary extension from the directory containing the chrome.manifest and install.rdf files. This is done from
about:debugging.They can be installed as an unpacked extension (all files not in a .xpi file). In addition, you can use a Firefox extension proxy file to have your extension files located in any directory you choose, not just under the profile's extensions directory.
Overlay/Legacy/XUL based extensions
Overlay/Legacy/XUL based extensions can not be loaded as a temporary extension.
They can be installed as an unpacked extension (all files not in a .xpi file). In addition, you can use a Firefox extension proxy file to have your extension files located in any directory you choose, not just under the profile's extensions directory.
Additional information
I would suggest you read Installing add-ons for development and Installing a Temporary Add-on which cover these issues in more detail.