Skip to content

Commit 7d44296

Browse files
committed
Parse package repository correctly
1 parent 633f438 commit 7d44296

File tree

10 files changed

+28
-24
lines changed

10 files changed

+28
-24
lines changed

addon/components/api/x-import-path/component.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ import Component from '@ember/component';
22
import layout from './template';
33
import config from 'dummy/config/environment';
44

5-
const packageJson = config['ember-cli-addon-docs'].packageJson;
5+
const projectName = config['ember-cli-addon-docs'].projectName;
66

77
export default Component.extend({
88
layout,
99
classNames: ['import-path'],
10-
projectName: packageJson.name
10+
projectName
1111
});

addon/components/docs-header/component.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { addonLogo } from 'ember-cli-addon-docs/utils/computed';
77
import { inject as service } from '@ember/service';
88
import { reads } from '@ember/object/computed';
99

10-
const packageJson = config['ember-cli-addon-docs'].packageJson;
10+
const { projectName, projectHref } = config['ember-cli-addon-docs'];
1111

1212
/**
1313
Render a header showing a link to your documentation, your project logo, a
@@ -33,18 +33,19 @@ export default Component.extend({
3333
layout,
3434
tagName: '',
3535

36-
packageJson: packageJson,
3736
projectVersion: service(),
3837

38+
projectHref,
39+
3940
didInsertElement() {
4041
this._super(...arguments);
4142
this.get('projectVersion').loadAvailableVersions();
4243
},
4344

44-
logo: addonLogo(packageJson),
45+
logo: addonLogo(projectName),
4546

4647
name: computed(function() {
47-
let name = packageJson.name;
48+
let name = projectName;
4849
name = name.replace('ember-data-', '');
4950
name = name.replace('ember-cli-', '');
5051
name = name.replace('ember-', '');

addon/components/docs-header/template.hbs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@
3939
</span>
4040
{{/docs-header/link}}
4141

42-
{{#if packageJson.repository}}
43-
{{#docs-header/link href=packageJson.repository}}
42+
{{#if projectHref}}
43+
{{#docs-header/link href=projectHref}}
4444
<span class='flex'>
4545
{{svg-jar 'github' width=24 height=24}}
4646
</span>

addon/components/docs-viewer/x-main/component.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import addonFiles from 'ember-cli-addon-docs/addon-files';
77
import config from 'dummy/config/environment';
88
import { getOwner } from '@ember/application';
99

10-
const packageJson = config['ember-cli-addon-docs'].packageJson;
10+
const projectHref = config['ember-cli-addon-docs'].projectHref;
1111

1212
export default Component.extend({
1313
layout,
@@ -34,14 +34,14 @@ export default Component.extend({
3434
let file = addonFiles.find(f => f.match(path));
3535

3636
if (file) {
37-
return `${packageJson.repository}/edit/master/addon/${file}`;
37+
return `${projectHref}/edit/master/addon/${file}`;
3838
}
3939
} else {
4040
let file = appFiles
4141
.filter(file => file.match(/template.(hbs|md)/))
4242
.find(file => file.match(path));
4343

44-
return `${packageJson.repository}/edit/master/tests/dummy/app/${file}`;
44+
return `${projectHref}/edit/master/tests/dummy/app/${file}`;
4545
}
4646
})
4747

addon/components/docs-viewer/x-nav/component.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import config from 'dummy/config/environment';
66
import { classify } from '@ember/string';
77
import { addonLogo } from 'ember-cli-addon-docs/utils/computed';
88

9-
const packageJson = config['ember-cli-addon-docs'].packageJson;
9+
const projectName = config['ember-cli-addon-docs'].projectName;
1010

1111
export default Component.extend({
1212
layout,
@@ -15,17 +15,16 @@ export default Component.extend({
1515
root: 'docs',
1616

1717
store: service(),
18-
packageJson,
1918

20-
addonLogo: addonLogo(packageJson),
19+
addonLogo: addonLogo(projectName),
2120

2221
addonTitle: computed('addonLogo', function() {
2322
let logo = this.get('addonLogo');
2423

25-
return classify(packageJson.name.replace(`${logo}-`, ''));
24+
return classify(projectName.replace(`${logo}-`, ''));
2625
}),
2726

2827
project: computed(function() {
29-
return this.get('store').peekRecord('project', packageJson.name);
28+
return this.get('store').peekRecord('project', projectName);
3029
})
3130
});

addon/routes/docs.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import Route from '@ember/routing/route';
22
import config from 'dummy/config/environment';
33

4-
const packageJson = config['ember-cli-addon-docs'].packageJson;
4+
const projectName = config['ember-cli-addon-docs'].projectName;
55

66
export default Route.extend({
77

88
model() {
9-
return this.store.findRecord('project', packageJson.name);
9+
return this.store.findRecord('project', projectName);
1010
}
1111

1212
});

addon/services/project-version.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export default Service.extend({
1111
_loadAvailableVersions: task(function*() {
1212
let config = getOwner(this).resolveRegistration('config:environment');
1313
let rootURL = config.rootURL;
14-
let tag = config['ember-cli-addon-docs'].packageJson.version;
14+
let tag = config['ember-cli-addon-docs'].projectTag;
1515
let slash = rootURL.indexOf('/', 1);
1616

1717
// TODO deal with apps deployed to custom domains, so their pathnames don't have a leading

addon/utils/computed.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,8 @@ export function hasMemberType(...memberKeys) {
119119
/**
120120
@hide
121121
*/
122-
export function addonLogo(packageJson) {
122+
export function addonLogo(name) {
123123
return computed(function() {
124-
let name = packageJson.name;
125124
let logo;
126125
if (name.match(/ember-cli/)) {
127126
logo = 'ember-cli';

index.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,17 @@ module.exports = {
4848
},
4949

5050
config(env, baseConfig) {
51+
let repo = this.parent.pkg.repository;
52+
let info = require('hosted-git-info').fromUrl(repo.url || repo);
53+
5154
let config = {
5255
'ember-component-css': {
5356
namespacing: false
5457
},
5558
'ember-cli-addon-docs': {
56-
packageJson: this.parent.pkg
59+
projectName: this.parent.pkg.name,
60+
projectTag: this.parent.pkg.version,
61+
projectHref: info && info.browse()
5762
}
5863
};
5964

tests/dummy/mirage/config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import config from 'dummy/config/environment';
2-
const packageJson = config['ember-cli-addon-docs'].packageJson;
2+
const projectTag = config['ember-cli-addon-docs'].projectTag;
33

44
export default function() {
55
this.get('/versions.json', () => {
66
return {
77
"latest": {
88
"sha": "53b73465d31925f26fd1f77881aefcaccce2915a",
9-
"tag": packageJson.version,
9+
"tag": projectTag,
1010
"path": "latest",
1111
"name": "latest"
1212
},

0 commit comments

Comments
 (0)