Skip to content

Commit 163f22d

Browse files
committed
[feat] Normalizes index modules to their parent
Normalizes index modules so we don't show that its an index, since that's generally the way they'll be imported
1 parent f42addb commit 163f22d

File tree

4 files changed

+70
-6
lines changed

4 files changed

+70
-6
lines changed

Diff for: .eslintrc.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ module.exports = {
3232
excludedFiles: [
3333
'app/**',
3434
'addon/**',
35-
'tests/dummy/app/**'
35+
'tests/dummy/app/**',
36+
'node-tests/fixtures/**'
3637
],
3738
parserOptions: {
3839
sourceType: 'script',

Diff for: lib/preprocessors/generate-yuidoc.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ function normalizePaths(document, inputPaths) {
5252
let inputPath = new RegExp(inputPaths.map(i => `${i}/`).join('|'));
5353

5454
for (let path in document.files) {
55-
let normalizedPath = path.replace(inputPath, '').replace('.js', '');
55+
let normalizedPath = path.replace(inputPath, '').replace(/(\/index)?\.js/, '');
5656
let file = document.files[path];
5757

5858
file.name = normalizedPath;
@@ -62,20 +62,20 @@ function normalizePaths(document, inputPaths) {
6262
}
6363

6464
for (let id in document.classes) {
65-
let normalizedId = id.replace(inputPath, '').replace('.js', '');
65+
let normalizedId = id.replace(inputPath, '').replace(/(\/index)?\.js/, '');
6666
let klass = document.classes[id];
6767

6868
klass.name = normalizedId;
6969
klass.shortname = normalizedId;
70-
klass.file = klass.file.replace(inputPath, '').replace('.js', '');
70+
klass.file = klass.file.replace(inputPath, '').replace(/(\/index)?\.js/, '');
7171

7272
document.classes[normalizedId] = klass;
7373
delete document.classes[id];
7474
}
7575

7676
for (let item of document.classitems) {
77-
item.file = item.file.replace(inputPath, '').replace('.js', '');
78-
item.class = item.class.replace(inputPath, '').replace('.js', '');
77+
item.file = item.file.replace(inputPath, '').replace(/(\/index)?\.js/, '');
78+
item.class = item.class.replace(inputPath, '').replace(/(\/index)?\.js/, '');
7979
}
8080

8181
for (let warning of document.warnings) {

Diff for: node-tests/fixtures/index-module/files/foo/index.js

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/**
2+
@class Foo
3+
@interface
4+
@export named
5+
*/
6+
7+
export class Foo {
8+
9+
}

Diff for: node-tests/fixtures/index-module/output.json

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"jsonapi": {
3+
"version": "1.0"
4+
},
5+
"data": [
6+
{
7+
"type": "module",
8+
"id": "foo",
9+
"attributes": {
10+
"file": "foo",
11+
"functions": [],
12+
"variables": []
13+
},
14+
"relationships": {
15+
"classes": {
16+
"data": [
17+
{
18+
"type": "class",
19+
"id": "foo~Foo"
20+
}
21+
]
22+
},
23+
"components": {
24+
"data": []
25+
}
26+
}
27+
}
28+
],
29+
"included": [
30+
{
31+
"type": "class",
32+
"id": "foo~Foo",
33+
"attributes": {
34+
"name": "Foo",
35+
"file": "foo",
36+
"lineNumber": 1,
37+
"access": "public",
38+
"tags": [],
39+
"isInterface": true,
40+
"exportType": "named",
41+
"decorators": [],
42+
"fields": [],
43+
"methods": [],
44+
"accessors": [],
45+
"parentClassId": null
46+
},
47+
"relationships": {
48+
"parentClass": {
49+
"data": null
50+
}
51+
}
52+
}
53+
]
54+
}

0 commit comments

Comments
 (0)