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/).
77
88## [ unreleased]
99
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
1115
1216- improve performance by lazy load all external packages and internal files
1317
Original file line number Diff line number Diff line change 11{
22 "name" : " bit-javascript" ,
3- "version" : " 2.0.5-dev.1 " ,
3+ "version" : " 2.0.5-dev.2 " ,
44 "scripts" : {
55 "flow" : " flow; test $? -eq 0 -o $? -eq 2" ,
66 "lint" : " eslint src && flow check || true" ,
Original file line number Diff line number Diff line change @@ -865,4 +865,23 @@ describe('dependencyTree', function () {
865865 expect ( dependencies ) . to . be . ok ;
866866 } ) ;
867867 } ) ;
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+ } ) ;
868887} ) ;
Original file line number Diff line number Diff line change @@ -68,12 +68,13 @@ module.exports = function (src) {
6868 }
6969 break ;
7070 case 'CallExpression' :
71- if ( node . callee . type === 'Import' && node . arguments . length ) {
71+ if ( node . callee . type === 'Import' && node . arguments . length && node . arguments [ 0 ] . value ) {
7272 addDependency ( node . arguments [ 0 ] . value ) ;
7373 }
7474 if (
7575 node . callee . type === 'Identifier' && // taken from detective-cjs
7676 node . callee . name === 'require' &&
77+ node . arguments [ 0 ] . value &&
7778 node . arguments &&
7879 node . arguments . length &&
7980 ( node . arguments [ 0 ] . type === 'Literal' || node . arguments [ 0 ] . type === 'StringLiteral' )
@@ -88,6 +89,7 @@ module.exports = function (src) {
8889 node . object . callee . name === 'require' &&
8990 node . object . arguments &&
9091 node . object . arguments . length &&
92+ node . object . arguments [ 0 ] . value &&
9193 ( node . object . arguments [ 0 ] . type === 'Literal' || node . object . arguments [ 0 ] . type === 'StringLiteral' )
9294 ) {
9395 const depValue = node . object . arguments [ 0 ] . value ;
You can’t perform that action at this time.
0 commit comments