From fbbbcf688dfecd59cfefb97060adc2f049cad9c8 Mon Sep 17 00:00:00 2001 From: Tal Bereznitskey Date: Wed, 27 Feb 2019 22:51:33 +0200 Subject: [PATCH] Add enterprise support --- README.md | 12 +++++++++++- assets/enterprise.png | Bin 0 -> 50824 bytes package.json | 2 ++ src/js/background.js | 5 +++++ src/js/index.jsx | 1 + src/manifest.json | 14 +++++++++++++- webpack.config.js | 7 +++++-- yarn.lock | 29 +++++++++++++++++++++++++++-- 8 files changed, 64 insertions(+), 6 deletions(-) create mode 100644 assets/enterprise.png create mode 100644 src/js/background.js diff --git a/README.md b/README.md index b16f713..6bdaeb3 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Chrome browser extension to show a file tree on GitHub's Pull Request pages. - Browse pull requests with an IDE like file tree - Private repositories support out of the box -- GitHub Enterprise support ([Instructions](https://github.com/berzniz/github_pr_tree/issues/3#issuecomment-362851512)) +- GitHub Enterprise support - Other goodies: sticky file headers, resizable tree, expand to full width and more ![GitHub Pull Request](assets/screenshot.png "GitHub Pull Request") @@ -13,6 +13,16 @@ Chrome browser extension to show a file tree on GitHub's Pull Request pages. Install from the Chrome web store: [Better Pull Requests for GitHub](https://chrome.google.com/webstore/detail/nfhdjopbhlggibjlimhdbogflgmbiahc) +## GitHub Enterprise support + +To enable the extension on your organization's domain: + +1. Right click on the extension icon +2. Choose "Enable Better Pull Request for GitHub on this domain" +3. Reload the page + +![Enterprise Support](assets/enterprise.png "Enterprise Support") + ## Development 1. Install: diff --git a/assets/enterprise.png b/assets/enterprise.png new file mode 100644 index 0000000000000000000000000000000000000000..1f7687b74989b6fbfa86a34db8530e04ac592610 GIT binary patch literal 50824 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 literal 0 HcmV?d00001 diff --git a/package.json b/package.json index dfa15bf..25b71a7 100755 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "react-treeview": "^0.4.7", "source-map-support": "^0.4.15", "style-loader": "^0.23.1", + "webext-domain-permission-toggle": "^0.1.0", "webpack": "^4.28.1", "webpack-dev-server": "^3.1.14", "write-file-webpack-plugin": "^4.5.0" @@ -39,6 +40,7 @@ "husky": "^0.13.4", "snazzy": "^7.0.0", "standard": "^10.0.2", + "webext-dynamic-content-scripts": "^5.0.2", "webstore-upload": "^0.0.8" } } diff --git a/src/js/background.js b/src/js/background.js new file mode 100644 index 0000000..22999e4 --- /dev/null +++ b/src/js/background.js @@ -0,0 +1,5 @@ +import DPT from 'webext-domain-permission-toggle' +import DCS from 'webext-dynamic-content-scripts' + +DPT.addContextMenu() +DCS.addToFutureTabs() diff --git a/src/js/index.jsx b/src/js/index.jsx index 709bd1f..4ab2e3e 100644 --- a/src/js/index.jsx +++ b/src/js/index.jsx @@ -1,3 +1,4 @@ +import 'webext-dynamic-content-scripts' import React from 'react' import { render } from 'react-dom' import Tree from './components/tree' diff --git a/src/manifest.json b/src/manifest.json index 5fec669..6e31eab 100755 --- a/src/manifest.json +++ b/src/manifest.json @@ -2,8 +2,19 @@ "name": "Better Pull Request for GitHub", "short_name": "Better PRs", "permissions": [ + "contextMenus", "*://*.github.com/*" ], + "optional_permissions": [ + "http://*/*", + "https://*/*" + ], + "background": { + "scripts": [ + "background.js" + ], + "persistent": false + }, "content_scripts": [ { "matches": [ @@ -12,7 +23,8 @@ "run_at": "document_idle", "js": [ "better_github_prs.js" - ] + ], + "css": [] } ], "icons": { diff --git a/webpack.config.js b/webpack.config.js index 886f9f8..cd5799d 100755 --- a/webpack.config.js +++ b/webpack.config.js @@ -9,10 +9,13 @@ const copyWebpackPlugins = [ module.exports = { mode: process.env.NODE_ENV || 'development', - entry: path.join(__dirname, 'src', 'js', 'index.jsx'), + entry: { + better_github_prs: path.join(__dirname, 'src', 'js', 'index.jsx'), + background: path.join(__dirname, 'src', 'js', 'background.js') + }, output: { path: path.join(__dirname, 'build'), - filename: 'better_github_prs.js' + filename: '[name].js' }, module: { rules: [ diff --git a/yarn.lock b/yarn.lock index d93f3b1..441b68d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2090,7 +2090,15 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -cross-spawn@^6.0.0: +cross-env@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.0.tgz#6ecd4c015d5773e614039ee529076669b9d126f2" + integrity sha512-jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg== + dependencies: + cross-spawn "^6.0.5" + is-windows "^1.0.0" + +cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== @@ -4068,7 +4076,7 @@ is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -is-windows@^1.0.2: +is-windows@^1.0.0, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== @@ -6874,6 +6882,23 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" +webext-content-script-ping@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/webext-content-script-ping/-/webext-content-script-ping-2.0.1.tgz#efccbb795929631008dc08b21c5b34f6cb524b2a" + integrity sha512-37oaeT0GwwkIC8JUD5aToOr0ncdoml/kjZdsn5ckyKyZqpNQHYxhP3NhnqsSx25LpxGfJm8er/IPv9pzCLcfUA== + +webext-domain-permission-toggle@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/webext-domain-permission-toggle/-/webext-domain-permission-toggle-0.1.0.tgz#82c0f611a075958e5b879fd77f69908236615607" + integrity sha512-zPwVKYa5EiH0htXedmoAWUaMqU7pOr+4dlzFyGVM64Q0jLVo3V8AVcYOVDKtY+c9qOkhtoSUCGcXCnbs5u8eNg== + +webext-dynamic-content-scripts@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/webext-dynamic-content-scripts/-/webext-dynamic-content-scripts-5.0.2.tgz#cac7ebbe632303713c2bbe7a5181b032af61a11e" + integrity sha512-Y2FMB5Rz29UzQ7eUi9lcNUDeAAhvDDY7Ga1UcCbaHmu6ro3tJpJlzgk7HWaxOBuCtsfFyhZPmitC59n6PGlBFA== + dependencies: + webext-content-script-ping "^2.0.1" + webidl-conversions@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-2.0.1.tgz#3bf8258f7d318c7443c36f2e169402a1a6703506"