1
- var precinct = require ( 'precinct' ) ;
2
- var path = require ( 'path' ) ;
3
- var fs = require ( 'fs' ) ;
4
- var cabinet = require ( 'filing-cabinet' ) ;
5
- var debug = require ( 'debug' ) ( 'tree' ) ;
6
- var Config = require ( './lib/Config' ) ;
1
+ 'use strict' ;
2
+
3
+ const precinct = require ( 'precinct' ) ;
4
+ const path = require ( 'path' ) ;
5
+ const fs = require ( 'fs' ) ;
6
+ const cabinet = require ( 'filing-cabinet' ) ;
7
+ const debug = require ( 'debug' ) ( 'tree' ) ;
8
+ const Config = require ( './lib/Config' ) ;
7
9
8
10
/**
9
11
* Recursively find all dependencies (avoiding circular) traversing the entire dependency tree
@@ -22,20 +24,20 @@ var Config = require('./lib/Config');
22
24
* @return {Object }
23
25
*/
24
26
module . exports = function ( options ) {
25
- var config = new Config ( options ) ;
27
+ const config = new Config ( options ) ;
26
28
27
29
if ( ! fs . existsSync ( config . filename ) ) {
28
30
debug ( 'file ' + config . filename + ' does not exist' ) ;
29
31
return config . isListForm ? [ ] : { } ;
30
32
}
31
33
32
- var results = traverse ( config ) ;
34
+ const results = traverse ( config ) ;
33
35
debug ( 'traversal complete' , results ) ;
34
36
35
37
dedupeNonExistent ( config . nonExistent ) ;
36
38
debug ( 'deduped list of nonExistent partials: ' , config . nonExistent ) ;
37
39
38
- var tree ;
40
+ let tree ;
39
41
if ( config . isListForm ) {
40
42
debug ( 'list form of results requested' ) ;
41
43
@@ -80,8 +82,8 @@ module.exports.toList = function(options) {
80
82
* @return {Array }
81
83
*/
82
84
module . exports . _getDependencies = function ( config ) {
83
- var dependencies ;
84
- var precinctOptions = config . detectiveConfig ;
85
+ let dependencies ;
86
+ const precinctOptions = config . detectiveConfig ;
85
87
precinctOptions . includeCore = false ;
86
88
87
89
try {
@@ -95,12 +97,12 @@ module.exports._getDependencies = function(config) {
95
97
return [ ] ;
96
98
}
97
99
98
- var resolvedDependencies = [ ] ;
100
+ const resolvedDependencies = [ ] ;
99
101
100
- for ( var i = 0 , l = dependencies . length ; i < l ; i ++ ) {
101
- var dep = dependencies [ i ] ;
102
+ for ( let i = 0 , l = dependencies . length ; i < l ; i ++ ) {
103
+ const dep = dependencies [ i ] ;
102
104
103
- var result = cabinet ( {
105
+ const result = cabinet ( {
104
106
partial : dep ,
105
107
filename : config . filename ,
106
108
directory : config . directory ,
@@ -116,7 +118,7 @@ module.exports._getDependencies = function(config) {
116
118
continue ;
117
119
}
118
120
119
- var exists = fs . existsSync ( result ) ;
121
+ const exists = fs . existsSync ( result ) ;
120
122
121
123
if ( ! exists ) {
122
124
config . nonExistent . push ( dep ) ;
@@ -135,7 +137,7 @@ module.exports._getDependencies = function(config) {
135
137
* @return {Object|String[] }
136
138
*/
137
139
function traverse ( config ) {
138
- var subTree = config . isListForm ? [ ] : { } ;
140
+ let subTree = config . isListForm ? [ ] : { } ;
139
141
140
142
debug ( 'traversing ' + config . filename ) ;
141
143
@@ -144,7 +146,7 @@ function traverse(config) {
144
146
return config . visited [ config . filename ] ;
145
147
}
146
148
147
- var dependencies = module . exports . _getDependencies ( config ) ;
149
+ let dependencies = module . exports . _getDependencies ( config ) ;
148
150
149
151
debug ( 'cabinet-resolved all dependencies: ' , dependencies ) ;
150
152
// Prevents cycles by eagerly marking the current file as read
@@ -160,9 +162,9 @@ function traverse(config) {
160
162
debug ( 'filtered number of dependencies: ' + dependencies . length ) ;
161
163
}
162
164
163
- for ( var i = 0 , l = dependencies . length ; i < l ; i ++ ) {
164
- var d = dependencies [ i ] ;
165
- var localConfig = config . clone ( ) ;
165
+ for ( let i = 0 , l = dependencies . length ; i < l ; i ++ ) {
166
+ const d = dependencies [ i ] ;
167
+ const localConfig = config . clone ( ) ;
166
168
localConfig . filename = d ;
167
169
168
170
if ( localConfig . isListForm ) {
@@ -192,13 +194,13 @@ function traverse(config) {
192
194
* @return {String[] }
193
195
*/
194
196
function removeDups ( list ) {
195
- var cache = { } ;
196
- var unique = [ ] ;
197
+ const cache = new Set ( ) ;
198
+ const unique = [ ] ;
197
199
198
200
list . forEach ( function ( item ) {
199
- if ( ! cache [ item ] ) {
201
+ if ( ! cache . has ( item ) ) {
200
202
unique . push ( item ) ;
201
- cache [ item ] = true ;
203
+ cache . add ( item ) ;
202
204
}
203
205
} ) ;
204
206
@@ -207,10 +209,10 @@ function removeDups(list) {
207
209
208
210
// Mutate the list input to do a dereferenced modification of the user-supplied list
209
211
function dedupeNonExistent ( nonExistent ) {
210
- var deduped = removeDups ( nonExistent ) ;
212
+ const deduped = removeDups ( nonExistent ) ;
211
213
nonExistent . length = deduped . length ;
212
214
213
- for ( var i = 0 , l = deduped . length ; i < l ; i ++ ) {
215
+ for ( let i = 0 , l = deduped . length ; i < l ; i ++ ) {
214
216
nonExistent [ i ] = deduped [ i ] ;
215
217
}
216
218
}
0 commit comments