This repository was archived by the owner on Dec 4, 2022. It is now read-only.
File tree Expand file tree Collapse file tree 4 files changed +28
-3
lines changed Expand file tree Collapse file tree 4 files changed +28
-3
lines changed Original file line number Diff line number Diff line change @@ -7,7 +7,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
7
7
8
8
## [ unreleased]
9
9
10
- ## [ 2.0.5-dev.1] - 2019-03-10
10
+ ## [ 2.0.5-dev.2] - 2019-04-17
11
+
12
+ - fix es6 with dynamic import to not show as missing dependencies
13
+
14
+ ## [ 2.0.5-dev.1] - 2019-04-16
11
15
12
16
- improve performance by lazy load all external packages and internal files
13
17
Original file line number Diff line number Diff line change 1
1
{
2
2
"name" : " bit-javascript" ,
3
- "version" : " 2.0.5-dev.1 " ,
3
+ "version" : " 2.0.5-dev.2 " ,
4
4
"scripts" : {
5
5
"flow" : " flow; test $? -eq 0 -o $? -eq 2" ,
6
6
"lint" : " eslint src && flow check || true" ,
Original file line number Diff line number Diff line change @@ -865,4 +865,23 @@ describe('dependencyTree', function () {
865
865
expect ( dependencies ) . to . be . ok ;
866
866
} ) ;
867
867
} ) ;
868
+ describe ( 'files with dynamic import' , ( ) => {
869
+ it ( 'should not' , ( ) => {
870
+ mockfs ( {
871
+ [ `${ __dirname } /dynamic` ] : {
872
+ 'foo.js' : 'const a = "./b"; import(a); require(a);'
873
+ }
874
+ } ) ;
875
+ const directory = path . normalize ( `${ __dirname } /dynamic` ) ;
876
+ const filename = path . normalize ( `${ directory } /foo.js` ) ;
877
+ const visited = { } ;
878
+
879
+ dependencyTree ( {
880
+ filename,
881
+ directory,
882
+ visited
883
+ } ) ;
884
+ expect ( visited [ filename ] . missing ) . to . be . undefined ;
885
+ } ) ;
886
+ } ) ;
868
887
} ) ;
Original file line number Diff line number Diff line change @@ -68,12 +68,13 @@ module.exports = function (src) {
68
68
}
69
69
break ;
70
70
case 'CallExpression' :
71
- if ( node . callee . type === 'Import' && node . arguments . length ) {
71
+ if ( node . callee . type === 'Import' && node . arguments . length && node . arguments [ 0 ] . value ) {
72
72
addDependency ( node . arguments [ 0 ] . value ) ;
73
73
}
74
74
if (
75
75
node . callee . type === 'Identifier' && // taken from detective-cjs
76
76
node . callee . name === 'require' &&
77
+ node . arguments [ 0 ] . value &&
77
78
node . arguments &&
78
79
node . arguments . length &&
79
80
( node . arguments [ 0 ] . type === 'Literal' || node . arguments [ 0 ] . type === 'StringLiteral' )
@@ -88,6 +89,7 @@ module.exports = function (src) {
88
89
node . object . callee . name === 'require' &&
89
90
node . object . arguments &&
90
91
node . object . arguments . length &&
92
+ node . object . arguments [ 0 ] . value &&
91
93
( node . object . arguments [ 0 ] . type === 'Literal' || node . object . arguments [ 0 ] . type === 'StringLiteral' )
92
94
) {
93
95
const depValue = node . object . arguments [ 0 ] . value ;
You can’t perform that action at this time.
0 commit comments