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