Skip to content

Commit ccfc0d5

Browse files
authored
Merge pull request #347 from ember-learn/better-monorepo-support
Fix icons and edit links for monorepo addons
2 parents a5889c4 + d0a33e1 commit ccfc0d5

File tree

7 files changed

+65
-33
lines changed

7 files changed

+65
-33
lines changed

addon/components/api/x-section/template.hbs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,6 @@
1616
<strong>{{item.name}}</strong>
1717
{{/link-to}}
1818
{{else}}
19-
{{#if (eq item.exportType 'default')}}
20-
<span class="item-section__default-label">Default</span>
21-
{{/if}}
22-
2319
<a href="#{{item.name}}" class="heading-anchor">
2420
{{type-signature item}}
2521
</a>

addon/components/docs-header/search-result/component.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ export default Component.extend({
8686
}),
8787

8888
highlightedTitle: computed('result.document.title', 'query', function() {
89-
let title = this.result.document.title;
89+
let title = this.result.document.title || '';
9090
let match = title.match(new RegExp(this.query, 'i'));
9191

9292
if (match) {

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

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ import { getOwner } from '@ember/application';
99

1010
import layout from './template';
1111

12-
const { projectHref, primaryBranch } = config['ember-cli-addon-docs'];
13-
1412
const tagToSize = { H2: 'xxs', H3: 'xxs' };
1513
const tagToIndent = { H2: '0', H3: '4' };
1614
const tagToMarginTop = { H2: '2', H3: '2' };
@@ -74,19 +72,23 @@ export default Component.extend({
7472

7573
path = path.replace(/\./g, '/');
7674

75+
let { projectHref, projectPathInRepo, primaryBranch } = config['ember-cli-addon-docs'];
76+
let projectPath = projectPathInRepo ? `/${projectPathInRepo}/` : '/';
77+
let rootEditUrl = `${projectHref}/edit/${primaryBranch}${projectPath}`;
78+
7779
if (path === 'docs/api/item') {
7880
let { path } = getOwner(this).lookup('route:application').paramsFor('docs.api.item');
7981
let file = addonFiles.find(f => f.match(path));
8082

8183
if (file) {
82-
return `${projectHref}/edit/${primaryBranch}/addon/${file}`;
84+
return `${rootEditUrl}addon/${file}`;
8385
}
8486
} else {
8587
let file = appFiles
8688
.filter(file => file.match(/\.(hbs|md)$/))
8789
.find(file => file.match(path));
8890

89-
return `${projectHref}/edit/${primaryBranch}/tests/dummy/app/${file}`;
91+
return `${rootEditUrl}tests/dummy/app/${file}`;
9092
}
9193
})
9294

addon/components/docs-viewer/x-main/template.hbs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
<div data-current-page-index-target>
22
{{yield}}
33

4-
<div class="docs-mt-16 docs-mb-8" data-test-edit-page-link>
5-
<a href={{editCurrentPageUrl}}
6-
class='docs-transition docs-text-grey-darkest docs-opacity-50 docs-text-xs
7-
hover:docs-opacity-75 docs-no-underline docs-border-b docs-border-grey hover:docs-border-grey-darkest'>
8-
Edit this page
9-
</a>
10-
</div>
4+
{{#if editCurrentPageUrl}}
5+
<div class="docs-mt-16 docs-mb-8" data-test-edit-page-link>
6+
<a href={{editCurrentPageUrl}}
7+
class='docs-transition docs-text-grey-darkest docs-opacity-50 docs-text-xs
8+
hover:docs-opacity-75 docs-no-underline docs-border-b docs-border-grey hover:docs-border-grey-darkest'>
9+
Edit this page
10+
</a>
11+
</div>
12+
{{/if}}
1113
</div>
1214

1315
<div class="docs-mt-16 docs-pb-16 docs-border-t docs-border-grey-lighter docs-pt-4 docs-flex">

index.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ module.exports = {
2121
svgJar: {
2222
sourceDirs: [
2323
'public',
24-
'node_modules/ember-cli-addon-docs/public',
24+
`${__dirname}/public`,
2525
'tests/dummy/public'
2626
],
2727
optimizer : {
@@ -47,6 +47,7 @@ module.exports = {
4747
projectDescription: this.parent.pkg.description,
4848
projectTag: this.parent.pkg.version,
4949
projectHref: info && info.browse(),
50+
projectPathInRepo: path.relative(this._getRepoRoot(), this.project.root),
5051
primaryBranch: userConfig.getPrimaryBranch(),
5152
latestVersionName: LATEST_VERSION_NAME,
5253
deployVersion: 'ADDON_DOCS_DEPLOY_VERSION',
@@ -155,7 +156,7 @@ module.exports = {
155156
},
156157

157158
treeForAddon(tree) {
158-
let dummyAppFiles = new FindDummyAppFiles([ 'tests/dummy/app' ]);
159+
let dummyAppFiles = new FindDummyAppFiles([ this.app.trees.app ]);
159160
let addonFiles = new FindAddonFiles([ 'addon' ].filter(dir => fs.existsSync(dir)));
160161

161162
return this._super(new MergeTrees([ tree, dummyAppFiles, addonFiles ]));
@@ -246,6 +247,13 @@ module.exports = {
246247
}
247248

248249
return this._userConfig;
250+
},
251+
252+
_getRepoRoot() {
253+
if (!this._repoRoot) {
254+
this._repoRoot = require('git-repo-info')().root;
255+
}
256+
return this._repoRoot;
249257
}
250258
};
251259

tests/acceptance/sandbox/api/components-test.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { module, test } from 'qunit';
22
import { setupApplicationTest } from 'ember-qunit';
33
import setupMirage from 'ember-cli-mirage/test-support/setup-mirage';
44
import { currentURL, visit, waitUntil } from '@ember/test-helpers';
5+
import config from 'dummy/config/environment';
56

67
import modulePage from '../../../pages/api/module';
78

@@ -54,4 +55,22 @@ module('Acceptance | Sandbox | API | components', function(hooks) {
5455

5556
assert.equal(editThisPageLinkHref, 'https://github.com/ember-learn/ember-cli-addon-docs/edit/master/tests/dummy/app/pods/sandbox/index/template.md');
5657
});
58+
59+
module('in a nested directory within a repo', function(hooks) {
60+
hooks.beforeEach(function() {
61+
config['ember-cli-addon-docs'].projectPathInRepo = 'packages/foo-bar';
62+
});
63+
64+
hooks.afterEach(function() {
65+
config['ember-cli-addon-docs'].projectPathInRepo = '';
66+
});
67+
68+
test('welcome page \'Edit this page\' link is correct', async function(assert) {
69+
await visit('/sandbox');
70+
71+
const editThisPageLinkHref = await modulePage.editLink.href;
72+
73+
assert.equal(editThisPageLinkHref, 'https://github.com/ember-learn/ember-cli-addon-docs/edit/master/packages/foo-bar/tests/dummy/app/pods/sandbox/index/template.md');
74+
});
75+
});
5776
});

yarn.lock

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3132,13 +3132,13 @@ browserslist@^3.2.6:
31323132
electron-to-chromium "^1.3.47"
31333133

31343134
browserslist@^4.1.0:
3135-
version "4.1.1"
3136-
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.1.1.tgz#328eb4ff1215b12df6589e9ab82f8adaa4fc8cd6"
3137-
integrity sha512-VBorw+tgpOtZ1BYhrVSVTzTt/3+vSE3eFUh0N2GCFK1HffceOaf32YS/bs6WiFhjDAblAFrx85jMy3BG9fBK2Q==
3135+
version "4.5.3"
3136+
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.5.3.tgz#969495c410314bc89f14e748505e58be968080f1"
3137+
integrity sha512-Tx/Jtrmh6vFg24AelzLwCaCq1IUJiMDM1x/LPzqbmbktF8Zo7F9ONUpOWsFK6TtdON95mSMaQUWqi0ilc8xM6g==
31383138
dependencies:
3139-
caniuse-lite "^1.0.30000884"
3140-
electron-to-chromium "^1.3.62"
3141-
node-releases "^1.0.0-alpha.11"
3139+
caniuse-lite "^1.0.30000955"
3140+
electron-to-chromium "^1.3.122"
3141+
node-releases "^1.1.12"
31423142

31433143
bser@^2.0.0:
31443144
version "2.0.0"
@@ -3316,10 +3316,10 @@ can-symlink@^1.0.0:
33163316
dependencies:
33173317
tmp "0.0.28"
33183318

3319-
caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000884:
3320-
version "1.0.30000888"
3321-
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000888.tgz#22edb50d91dd70612b5898e3b36f460600c6492f"
3322-
integrity sha512-vftg+5p/lPsQGpnhSo/yBuYL36ai/cyjLvU3dOPJY1kkKrekLWIy8SLm+wzjX0hpCUdFTasC4/ZT7uqw4rKOnQ==
3319+
caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000955:
3320+
version "1.0.30000955"
3321+
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000955.tgz#360fdb9a1e41d6dd996130411334e44a39e4446d"
3322+
integrity sha512-6AwmIKgqCYfDWWadRkAuZSHMQP4Mmy96xAXEdRBlN/luQhlRYOKgwOlZ9plpCOsVbBuqbTmGqDK3JUM/nlr8CA==
33233323

33243324
capture-exit@^1.2.0:
33253325
version "1.2.0"
@@ -4424,7 +4424,12 @@ ee-first@1.1.1:
44244424
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
44254425
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
44264426

4427-
electron-to-chromium@^1.3.30, electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.62:
4427+
electron-to-chromium@^1.3.122:
4428+
version "1.3.122"
4429+
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.122.tgz#b32a0805f48557bd3c3b8104eadc7fa511b14a9a"
4430+
integrity sha512-3RKoIyCN4DhP2dsmleuFvpJAIDOseWH88wFYBzb22CSwoFDSWRc4UAMfrtc9h8nBdJjTNIN3rogChgOy6eFInw==
4431+
4432+
electron-to-chromium@^1.3.30, electron-to-chromium@^1.3.47:
44284433
version "1.3.72"
44294434
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.72.tgz#b69683081d5b7eee6e1ea07b2f5fa30b3c72252d"
44304435
integrity sha512-OFbXEC01Lq7A66e3UywkvWYNN00HO1I9MAPereGe0NIXrt2MeaovL1bbY+951HKG0euUdPBe0L7yfKxgqxBMMw==
@@ -9266,10 +9271,10 @@ node-pre-gyp@^0.10.0:
92669271
semver "^5.3.0"
92679272
tar "^4"
92689273

9269-
node-releases@^1.0.0-alpha.11:
9270-
version "1.0.0-alpha.12"
9271-
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.0.0-alpha.12.tgz#32e461b879ea76ac674e511d9832cf29da345268"
9272-
integrity sha512-VPB4rTPqpVyWKBHbSa4YPFme3+8WHsOSpvbp0Mfj0bWsC8TEjt4HQrLl1hsBDELlp1nB4lflSgSuGTYiuyaP7Q==
9274+
node-releases@^1.1.12:
9275+
version "1.1.13"
9276+
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.13.tgz#8c03296b5ae60c08e2ff4f8f22ae45bd2f210083"
9277+
integrity sha512-fKZGviSXR6YvVPyc011NHuJDSD8gFQvLPmc2d2V3BS4gr52ycyQ1Xzs7a8B+Ax3Ni/W+5h1h4SqmzeoA8WZRmA==
92739278
dependencies:
92749279
semver "^5.3.0"
92759280

0 commit comments

Comments
 (0)