diff --git a/.DS_Store b/.DS_Store
index 4aaf6e3..acd3121 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/.gitignore b/.gitignore
index 3c3629e..50a30e9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,4 @@
node_modules
+.env
+**/*.env
+/extension/web-ext-artifacts
\ No newline at end of file
diff --git a/README.md b/README.md
index 5fd3091..168cd2c 100644
--- a/README.md
+++ b/README.md
@@ -8,14 +8,21 @@ This extension requires installing git-peek to register the URL handler – head
## Installation
-To install the chrome extension:
+### Chrome
+
+1. [Download git-peek for Chrome](`https://github.com/Jarred-Sumner/1-click-from-github-to-editor/releases/download/v0/git-peek-chrome-extension.zip`)
-1. [Download the extension](`https://github.com/Jarred-Sumner/1-click-from-github-to-editor/releases/download/v0/git-peek-chrome-extension.zip`)
2. Drag and drop the `.zip` file into `chrome://extensions`
It'll be in the Chrome Store eventually. The source for the extension is in this repo if you want to look at the code yourself.
-Most of the real code for this is in the [`git-peek`](https://github.com/jarred-sumner/git-peek) repository. All this does is add buttons that open the `git-peek://` URL handler with the right URLs.
+### Firefox
+
+1. [Download git-peek for Firefox](`https://github.com/Jarred-Sumner/1-click-from-github-to-editor/releases/download/v0/git-peek-chrome-extension.zip`)
+
+2. Drag and drop the file into Firefox.
+
+It'll be in the Firefox Addon Marketplace eventually. It's being reviewed.
diff --git a/extension/.web-extension-id b/extension/.web-extension-id
new file mode 100644
index 0000000..56d898b
--- /dev/null
+++ b/extension/.web-extension-id
@@ -0,0 +1,3 @@
+# This file was created by https://github.com/mozilla/web-ext
+# Your auto-generated extension ID for addons.mozilla.org is:
+{3f537cbb-125f-4a7f-bb72-248525604184}
\ No newline at end of file
diff --git a/package.json b/package.json
index ef97039..985874f 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,6 @@
{
"devDependencies": {
+ "dotenv-cli": "^4.0.0",
"esbuild": "^0.8.44",
"web-ext-types": "^3.2.1"
},
@@ -12,6 +13,7 @@
"prebuild": "rm -rf ./extension/dist",
"build": "cd extension; node build.js; cd ../",
"create-zip": "ditto -c -k --sequesterRsrc ./extension ./git-peek-chrome-extension.zip",
+ "do-sign": "cd extension && WEB_EXT_API_KEY=$WEB_EXT_API_KEY WEB_EXT_API_SECRET=$WEB_EXT_API_SECRET web-ext sign",
"preship": "pnpm create-zip"
},
"name": "git-peek-chrome-extension"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d9102a4..fecd95d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -3,6 +3,7 @@ dependencies:
webext-dynamic-content-scripts: 7.1.0
zippack: 0.1.0
devDependencies:
+ dotenv-cli: 4.0.0
esbuild: 0.8.44
web-ext-types: 3.2.1
lockfileVersion: 5.2
@@ -145,6 +146,36 @@ packages:
node: '>= 6.9.0'
resolution:
integrity: sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==
+ /cross-spawn/7.0.3:
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+ dev: true
+ engines:
+ node: '>= 8'
+ resolution:
+ integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+ /dotenv-cli/4.0.0:
+ dependencies:
+ cross-spawn: 7.0.3
+ dotenv: 8.2.0
+ dotenv-expand: 5.1.0
+ minimist: 1.2.5
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-ByKEec+ashePEXthZaA1fif9XDtcaRnkN7eGdBDx3HHRjwZ/rA1go83Cbs4yRrx3JshsCf96FjAyIA2M672+CQ==
+ /dotenv-expand/5.1.0:
+ dev: true
+ resolution:
+ integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==
+ /dotenv/8.2.0:
+ dev: true
+ engines:
+ node: '>=8'
+ resolution:
+ integrity: sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==
/end-of-stream/1.4.4:
dependencies:
once: 1.4.0
@@ -199,6 +230,10 @@ packages:
dev: false
resolution:
integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+ /isexe/2.0.0:
+ dev: true
+ resolution:
+ integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
/lazystream/1.0.0:
dependencies:
readable-stream: 2.3.7
@@ -241,6 +276,10 @@ packages:
dev: false
resolution:
integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
+ /minimist/1.2.5:
+ dev: true
+ resolution:
+ integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
/normalize-path/3.0.0:
dev: false
engines:
@@ -259,6 +298,12 @@ packages:
node: '>=0.10.0'
resolution:
integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+ /path-key/3.1.1:
+ dev: true
+ engines:
+ node: '>=8'
+ resolution:
+ integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
/process-nextick-args/2.0.1:
dev: false
resolution:
@@ -293,6 +338,20 @@ packages:
dev: false
resolution:
integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+ /shebang-command/2.0.0:
+ dependencies:
+ shebang-regex: 3.0.0
+ dev: true
+ engines:
+ node: '>=8'
+ resolution:
+ integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+ /shebang-regex/3.0.0:
+ dev: true
+ engines:
+ node: '>=8'
+ resolution:
+ integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
/string_decoder/1.1.1:
dependencies:
safe-buffer: 5.1.2
@@ -346,6 +405,15 @@ packages:
dev: false
resolution:
integrity: sha512-Kecc1rDvsQtZJgnIAsMOQBj0WAL6v9Em42AW5EHcoute7z50lUQ2tXUfTyiydOauaT8VYK0tHYZlMWo7mlBM8g==
+ /which/2.0.2:
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+ engines:
+ node: '>= 8'
+ hasBin: true
+ resolution:
+ integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
/wrappy/1.0.2:
dev: false
resolution:
@@ -368,6 +436,7 @@ packages:
resolution:
integrity: sha512-zEmBA3Vxi8mRRjsJ+mB/yC5cErAtxQXot7RjBA4vjAKjK5B9RheHspMGJp09oDeRZLtFs2+bcWVNn+LFD8Kdjw==
specifiers:
+ dotenv-cli: ^4.0.0
esbuild: ^0.8.44
lodash-es: ^4.17.20
web-ext-types: ^3.2.1
diff --git a/share-image.png b/share-image.png
new file mode 100644
index 0000000..2fa70f0
Binary files /dev/null and b/share-image.png differ