summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMario de la Ossa <mariodelaossa@gmail.com>2017-12-18 23:14:08 -0600
committerMario de la Ossa <mariodelaossa@gmail.com>2017-12-18 23:18:23 -0600
commitd02059ddf3fef105a8e835024b589d9eac2140f0 (patch)
treeae854ac277d736fd23532fc54e2c46ecee2c0fbc
parentb03789395c59ce94c8bdb4e0f4806c8cd7705f46 (diff)
downloadgitlab-ce-d02059ddf3fef105a8e835024b589d9eac2140f0.tar.gz
BlobViewer::PackageJson - if private link to homepage
-rw-r--r--app/models/blob_viewer/package_json.rb12
-rw-r--r--changelogs/unreleased/36020-private-npm-modules.yml2
-rw-r--r--spec/models/blob_viewer/package_json_spec.rb7
3 files changed, 14 insertions, 7 deletions
diff --git a/app/models/blob_viewer/package_json.rb b/app/models/blob_viewer/package_json.rb
index 6ce61e30d3d..46cd2f04f4d 100644
--- a/app/models/blob_viewer/package_json.rb
+++ b/app/models/blob_viewer/package_json.rb
@@ -21,9 +21,7 @@ module BlobViewer
end
def package_url
- return nil if private?
-
- "https://www.npmjs.com/package/#{package_name}"
+ private? ? homepage : npm_url
end
private
@@ -31,5 +29,13 @@ module BlobViewer
def private?
!!json_data['private']
end
+
+ def homepage
+ json_data['homepage']
+ end
+
+ def npm_url
+ "https://www.npmjs.com/package/#{package_name}"
+ end
end
end
diff --git a/changelogs/unreleased/36020-private-npm-modules.yml b/changelogs/unreleased/36020-private-npm-modules.yml
index a0122e2b360..5c2585a602e 100644
--- a/changelogs/unreleased/36020-private-npm-modules.yml
+++ b/changelogs/unreleased/36020-private-npm-modules.yml
@@ -1,5 +1,5 @@
---
-title: Do not generate links for private NPM modules in blob view
+title: Do not generate NPM links for private NPM modules in blob view
merge_request: 16002
author: Mario de la Ossa
type: added
diff --git a/spec/models/blob_viewer/package_json_spec.rb b/spec/models/blob_viewer/package_json_spec.rb
index 339d4e9e644..5ed2f4400bc 100644
--- a/spec/models/blob_viewer/package_json_spec.rb
+++ b/spec/models/blob_viewer/package_json_spec.rb
@@ -45,7 +45,8 @@ describe BlobViewer::PackageJson do
{
"name": "module-name",
"version": "10.3.1",
- "private": true
+ "private": true,
+ "homepage": "myawesomepackage.com"
}
SPEC
end
@@ -53,10 +54,10 @@ describe BlobViewer::PackageJson do
subject { described_class.new(blob) }
describe '#package_url' do
- it 'returns nil' do
+ it 'returns homepage if any' do
expect(subject).to receive(:prepare!)
- expect(subject.package_url).to be_nil
+ expect(subject.package_url).to eq('myawesomepackage.com')
end
end