@@ -8,39 +8,58 @@ module.exports = function(source) {
8
8
let namespaces = [ ] ;
9
9
const parser = new XmlParser ( ( event ) => {
10
10
const { namespace, elementName } = event ;
11
+ const moduleName = `${ namespace } /${ elementName } ` ;
11
12
12
13
if (
13
14
namespace &&
14
15
! namespace . startsWith ( "http" ) &&
15
- ! namespaces . some ( n => n . name === namespace )
16
+ ! namespaces . some ( n => n . name === moduleName )
16
17
) {
17
18
const localNamespacePath = join ( this . rootContext , namespace ) ;
18
19
const localModulePath = join ( localNamespacePath , elementName ) ;
19
20
const resolvedPath = tryResolve ( localNamespacePath ) ||
20
- tryResolve ( localModulePath ) ||
21
- namespace ;
21
+ tryResolve ( localModulePath ) ;
22
+
23
+ if ( ! resolvedPath ) {
24
+ const xml = tryResolve ( `${ localModulePath } .xml` ) ;
25
+ if ( ! xml ) {
26
+ namespaces . push ( { name : namespace , path : namespace } ) ;
27
+ namespaces . push ( { name : moduleName , path : namespace } ) ;
28
+
29
+ return ;
30
+ } else {
31
+ namespaces . push ( { name : `${ moduleName } .xml` , path : xml } ) ;
32
+ namespaces . push ( { name : moduleName , path : xml } ) ;
33
+ this . addDependency ( xml ) ;
34
+ }
35
+
36
+ const css = tryResolve ( `${ localModulePath } .css` ) ;
37
+ if ( css ) {
38
+ namespaces . push ( { name : `${ moduleName } .css` , path : css } ) ;
39
+ this . addDependency ( css ) ;
40
+ }
41
+
42
+ return ;
43
+ }
22
44
23
45
this . addDependency ( resolvedPath ) ;
24
- namespaces . push ( { name : namespace , path : resolvedPath } ) ;
25
46
26
- const moduleName = ` ${ namespace } / ${ elementName } ` ;
47
+ namespaces . push ( { name : namespace , path : resolvedPath } ) ;
27
48
namespaces . push ( { name : moduleName , path : resolvedPath } ) ;
28
49
29
50
const { dir, name } = parse ( resolvedPath ) ;
30
51
const noExtFilename = join ( dir , name ) ;
31
52
32
- const xmlFile = `${ noExtFilename } .xml` ;
33
- const xmlFileResolved = tryResolve ( xmlFile ) ;
34
- if ( xmlFileResolved ) {
35
- this . addDependency ( xmlFileResolved ) ;
36
- namespaces . push ( { name : `${ moduleName } .xml` , path : xmlFileResolved } ) ;
53
+ const xml = tryResolve ( `${ noExtFilename } .xml` ) ;
54
+ if ( xml ) {
55
+ this . addDependency ( xml ) ;
56
+ namespaces . push ( { name : `${ moduleName } .xml` , path : xml } ) ;
37
57
}
38
58
39
- const cssFile = `${ noExtFilename } .css` ;
40
- const cssFileResolved = tryResolve ( cssFile ) ;
41
- if ( cssFileResolved ) {
42
- this . addDependency ( cssFileResolved ) ;
43
- namespaces . push ( { name : `${ moduleName } .css` , path : cssFileResolved } ) ;
59
+ const css = tryResolve ( `${ noExtFilename } .css` ) ;
60
+ if ( css ) {
61
+ this . addDependency ( css ) ;
62
+ namespaces . push ( { name : `${ moduleName } .css` , path : css } ) ;
44
63
}
45
64
}
46
65
} , undefined , true ) ;
@@ -72,3 +91,4 @@ function tryResolve(path) {
72
91
return ;
73
92
}
74
93
}
94
+
0 commit comments