filter-scan-dir 1.5.4 → 1.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +9 -7
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- package/dist/util.d.ts +14 -0
- package/dist/util.js +56 -0
- package/dist/util.js.map +1 -0
- package/package.json +1 -1
- package/dist/dirent-cmp.d.ts +0 -10
- package/dist/dirent-cmp.js +0 -25
- package/dist/dirent-cmp.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { Dirent, Stats } from "fs";
|
|
|
3
3
|
/**
|
|
4
4
|
* type of the 3rd argument for the filter callback
|
|
5
5
|
*/
|
|
6
|
-
export
|
|
6
|
+
export type ExtrasData = {
|
|
7
7
|
/** name of the file being considered */
|
|
8
8
|
file: string;
|
|
9
9
|
/** path to the directory being processed that contains the file */
|
|
@@ -18,11 +18,13 @@ export declare type ExtrasData = {
|
|
|
18
18
|
ext: string;
|
|
19
19
|
/** file name without the extension */
|
|
20
20
|
noExt: string;
|
|
21
|
+
/** files in the directory */
|
|
22
|
+
files: (string | Dirent)[];
|
|
21
23
|
};
|
|
22
24
|
/**
|
|
23
25
|
* Info from the filter callback to indicate what to do next
|
|
24
26
|
*/
|
|
25
|
-
export
|
|
27
|
+
export type FilterInfo = {
|
|
26
28
|
/** name of the group to add the file or directory (if grouping is enabled) */
|
|
27
29
|
group?: string;
|
|
28
30
|
/** if `true` then skip the file or directory, else add it */
|
|
@@ -39,7 +41,7 @@ export declare type FilterInfo = {
|
|
|
39
41
|
* - _string_ - name of the group to add the file or directory (if grouping is enabled)
|
|
40
42
|
* - _FilterInfo_ - see type {@link FilterInfo} for details
|
|
41
43
|
*/
|
|
42
|
-
export
|
|
44
|
+
export type FilterResult = boolean | string | FilterInfo;
|
|
43
45
|
/**
|
|
44
46
|
* filter callback for file or directory entry
|
|
45
47
|
* @param file - name of the file/dir being considered
|
|
@@ -48,11 +50,11 @@ export declare type FilterResult = boolean | string | FilterInfo;
|
|
|
48
50
|
* first level directory.
|
|
49
51
|
* @param extras - extras data
|
|
50
52
|
*/
|
|
51
|
-
export
|
|
53
|
+
export type FilterCallback = (file: string, path: string, extras: ExtrasData) => FilterResult;
|
|
52
54
|
/**
|
|
53
55
|
* Options for filterScanDir
|
|
54
56
|
*/
|
|
55
|
-
export
|
|
57
|
+
export type Options = {
|
|
56
58
|
/** current working directory to start scanning */
|
|
57
59
|
cwd?: string;
|
|
58
60
|
/**
|
|
@@ -108,7 +110,7 @@ export declare type Options = {
|
|
|
108
110
|
/**
|
|
109
111
|
* options specifically to set grouping flag `true` to enable grouping of files
|
|
110
112
|
*/
|
|
111
|
-
export
|
|
113
|
+
export type GroupingOptions = {
|
|
112
114
|
/**
|
|
113
115
|
* enable grouping of files
|
|
114
116
|
* This is default to disabled, so it's only expecting `true` to enable it.
|
|
@@ -121,7 +123,7 @@ export declare type GroupingOptions = {
|
|
|
121
123
|
* - The default `files` group will contain all files not assigned a group
|
|
122
124
|
* - All other files with a group will be assigned to that field
|
|
123
125
|
*/
|
|
124
|
-
export
|
|
126
|
+
export type GroupingResult = {
|
|
125
127
|
files: string[];
|
|
126
128
|
} & Record<string, string[]>;
|
|
127
129
|
/**
|
package/dist/index.js
CHANGED
|
@@ -8,7 +8,7 @@ exports.filterScanDirSync = exports.filterScanDir = void 0;
|
|
|
8
8
|
const fs_1 = __importDefault(require("fs"));
|
|
9
9
|
const path_1 = __importDefault(require("path"));
|
|
10
10
|
const util_1 = __importDefault(require("util"));
|
|
11
|
-
const
|
|
11
|
+
const util_2 = require("./util");
|
|
12
12
|
/**
|
|
13
13
|
* create a new ExtrasData object
|
|
14
14
|
*
|
|
@@ -19,7 +19,7 @@ const dirent_cmp_1 = require("./dirent-cmp");
|
|
|
19
19
|
* @param options
|
|
20
20
|
* @returns
|
|
21
21
|
*/
|
|
22
|
-
function makeExtrasData(file, fullFile, path, stat, options) {
|
|
22
|
+
function makeExtrasData(file, fullFile, path, stat, files, options) {
|
|
23
23
|
const dirFile = options._join2(path, file);
|
|
24
24
|
const ix = file.lastIndexOf(".");
|
|
25
25
|
if (ix > 0) {
|
|
@@ -31,6 +31,7 @@ function makeExtrasData(file, fullFile, path, stat, options) {
|
|
|
31
31
|
dirFile,
|
|
32
32
|
ext: file.substring(ix),
|
|
33
33
|
noExt: file.substring(0, ix),
|
|
34
|
+
files,
|
|
34
35
|
};
|
|
35
36
|
}
|
|
36
37
|
else {
|
|
@@ -42,6 +43,7 @@ function makeExtrasData(file, fullFile, path, stat, options) {
|
|
|
42
43
|
dirFile,
|
|
43
44
|
ext: "",
|
|
44
45
|
noExt: file,
|
|
46
|
+
files,
|
|
45
47
|
};
|
|
46
48
|
}
|
|
47
49
|
}
|
|
@@ -134,7 +136,7 @@ function walkSync(path, options, level = 0) {
|
|
|
134
136
|
files = files.sort();
|
|
135
137
|
}
|
|
136
138
|
else {
|
|
137
|
-
files = files.sort(
|
|
139
|
+
files = files.sort(util_2.direntCmp);
|
|
138
140
|
}
|
|
139
141
|
}
|
|
140
142
|
const dirs = [];
|
|
@@ -146,11 +148,11 @@ function walkSync(path, options, level = 0) {
|
|
|
146
148
|
if (options.fullStat) {
|
|
147
149
|
const fullFile = options._join2(dir, file);
|
|
148
150
|
const stat = fs_1.default.lstatSync(fullFile);
|
|
149
|
-
extras = makeExtrasData(file, fullFile, path, stat, options);
|
|
151
|
+
extras = makeExtrasData(file, fullFile, path, stat, files, options);
|
|
150
152
|
}
|
|
151
153
|
else {
|
|
152
154
|
const fullFile = options._join2(dir, file.name);
|
|
153
|
-
extras = makeExtrasData(file.name, fullFile, path, file, options);
|
|
155
|
+
extras = makeExtrasData(file.name, fullFile, path, file, files, options);
|
|
154
156
|
}
|
|
155
157
|
if (extras.stat.isDirectory()) {
|
|
156
158
|
dirs.push(extras);
|
|
@@ -199,7 +201,7 @@ async function walk(path, options, level = 0) {
|
|
|
199
201
|
files = files.sort();
|
|
200
202
|
}
|
|
201
203
|
else {
|
|
202
|
-
files = files.sort(
|
|
204
|
+
files = files.sort(util_2.direntCmp);
|
|
203
205
|
}
|
|
204
206
|
}
|
|
205
207
|
const dirs = [];
|
|
@@ -211,11 +213,11 @@ async function walk(path, options, level = 0) {
|
|
|
211
213
|
if (options.fullStat) {
|
|
212
214
|
const fullFile = options._join2(dir, file);
|
|
213
215
|
const stat = await asyncLStat(fullFile);
|
|
214
|
-
extras = makeExtrasData(file, fullFile, path, stat, options);
|
|
216
|
+
extras = makeExtrasData(file, fullFile, path, stat, files, options);
|
|
215
217
|
}
|
|
216
218
|
else {
|
|
217
219
|
const fullFile = options._join2(dir, file.name);
|
|
218
|
-
extras = makeExtrasData(file.name, fullFile, path, file, options);
|
|
220
|
+
extras = makeExtrasData(file.name, fullFile, path, file, files, options);
|
|
219
221
|
}
|
|
220
222
|
if (extras.stat.isDirectory()) {
|
|
221
223
|
dirs.push(extras);
|
|
@@ -297,11 +299,8 @@ function makeOptions(opts) {
|
|
|
297
299
|
// `includeRoot` was renamed to `prependCwd`, this avoid breaking code still using that
|
|
298
300
|
const prependCwd = (options.hasOwnProperty("includeRoot") ? options.includeRoot : options.prependCwd) ||
|
|
299
301
|
false;
|
|
300
|
-
// a simple and faster version of path.join that handles just 2
|
|
301
|
-
// arguments using posix separator
|
|
302
|
-
const _join2 = (a, b) => (a && b ? a + sep + b : a || b);
|
|
303
302
|
const opts2 = Object.assign({
|
|
304
|
-
_join2,
|
|
303
|
+
_join2: undefined,
|
|
305
304
|
maxLevel: Infinity,
|
|
306
305
|
prefix: "",
|
|
307
306
|
prependCwd,
|
|
@@ -322,6 +321,7 @@ function makeOptions(opts) {
|
|
|
322
321
|
.filter((x) => x),
|
|
323
322
|
_concurrentCount: 0,
|
|
324
323
|
});
|
|
324
|
+
opts2._join2 = (0, util_2.makePathJoin2)(sep, opts2.dir, opts2.prefix);
|
|
325
325
|
if (!opts2.fullStat) {
|
|
326
326
|
opts2.readdirOpts = { withFileTypes: true };
|
|
327
327
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,oFAAoF;;;;;;AAEpF,4CAAuC;AACvC,gDAAwB;AACxB,gDAAwB;AACxB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/util.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Dirent } from "fs";
|
|
2
|
+
/**
|
|
3
|
+
* compare Dirent for sorting
|
|
4
|
+
*
|
|
5
|
+
* @param a
|
|
6
|
+
* @param b
|
|
7
|
+
* @returns
|
|
8
|
+
* @ignore
|
|
9
|
+
*/
|
|
10
|
+
export declare const direntCmp: (a: Dirent, b: Dirent) => number;
|
|
11
|
+
/**
|
|
12
|
+
* Make a specialized and simple but faster version of path.join that handles just 2 args
|
|
13
|
+
*/
|
|
14
|
+
export declare const makePathJoin2: (sep: string, cwd: string, prefix: string) => (...paths: string[]) => string;
|
package/dist/util.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.makePathJoin2 = exports.direntCmp = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
/* @ignore */
|
|
9
|
+
/**
|
|
10
|
+
* compare Dirent for sorting
|
|
11
|
+
*
|
|
12
|
+
* @param a
|
|
13
|
+
* @param b
|
|
14
|
+
* @returns
|
|
15
|
+
* @ignore
|
|
16
|
+
*/
|
|
17
|
+
const direntCmp = (a, b) => {
|
|
18
|
+
if (a.name === b.name) {
|
|
19
|
+
return 0;
|
|
20
|
+
}
|
|
21
|
+
else if (a.name > b.name) {
|
|
22
|
+
return 1;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return -1;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
exports.direntCmp = direntCmp;
|
|
29
|
+
/**
|
|
30
|
+
* Make a specialized and simple but faster version of path.join that handles just 2 args
|
|
31
|
+
*/
|
|
32
|
+
const makePathJoin2 = (sep, cwd, prefix) => {
|
|
33
|
+
// user passed cwd or prefix that contains ../ or ..\\, which only path.join
|
|
34
|
+
// can handle
|
|
35
|
+
if (["../", "..\\"].find((s) => cwd.includes(s) || prefix.includes(s)) ||
|
|
36
|
+
(cwd.startsWith(".") && cwd.length > 1) ||
|
|
37
|
+
(prefix.startsWith(".") && prefix.length > 1)) {
|
|
38
|
+
return path_1.default.join;
|
|
39
|
+
}
|
|
40
|
+
return (a, b) => {
|
|
41
|
+
if (a === ".") {
|
|
42
|
+
return b || a;
|
|
43
|
+
}
|
|
44
|
+
else if (b === ".") {
|
|
45
|
+
return a || b;
|
|
46
|
+
}
|
|
47
|
+
else if (a && b) {
|
|
48
|
+
return a + sep + b;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
return a || b || ".";
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
exports.makePathJoin2 = makePathJoin2;
|
|
56
|
+
//# sourceMappingURL=util.js.map
|
package/dist/util.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAIxB,aAAa;AAEb;;;;;;;GAOG;AACI,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE;IACxD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE;QACrB,OAAO,CAAC,CAAC;KACV;SAAM,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE;QAC1B,OAAO,CAAC,CAAC;KACV;SAAM;QACL,OAAO,CAAC,CAAC,CAAC;KACX;AACH,CAAC,CAAC;AARW,QAAA,SAAS,aAQpB;AAEF;;GAEG;AACI,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,MAAc,EAAE,EAAE;IACxE,4EAA4E;IAC5E,aAAa;IACb,IACE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAC7C;QACA,OAAO,cAAI,CAAC,IAAI,CAAC;KAClB;IAED,OAAO,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE;QAChC,IAAI,CAAC,KAAK,GAAG,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,CAAC;SACf;aAAM,IAAI,CAAC,KAAK,GAAG,EAAE;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC;SACf;aAAM,IAAI,CAAC,IAAI,CAAC,EAAE;YACjB,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;SACpB;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;SACtB;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,aAAa,iBAsBxB"}
|
package/package.json
CHANGED
package/dist/dirent-cmp.d.ts
DELETED
package/dist/dirent-cmp.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.direntCmp = void 0;
|
|
4
|
-
/* @ignore */
|
|
5
|
-
/**
|
|
6
|
-
* compare Dirent for sorting
|
|
7
|
-
*
|
|
8
|
-
* @param a
|
|
9
|
-
* @param b
|
|
10
|
-
* @returns
|
|
11
|
-
* @ignore
|
|
12
|
-
*/
|
|
13
|
-
const direntCmp = (a, b) => {
|
|
14
|
-
if (a.name === b.name) {
|
|
15
|
-
return 0;
|
|
16
|
-
}
|
|
17
|
-
else if (a.name > b.name) {
|
|
18
|
-
return 1;
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
return -1;
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
exports.direntCmp = direntCmp;
|
|
25
|
-
//# sourceMappingURL=dirent-cmp.js.map
|
package/dist/dirent-cmp.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dirent-cmp.js","sourceRoot":"","sources":["../src/dirent-cmp.ts"],"names":[],"mappings":";;;AAEA,aAAa;AAEb;;;;;;;GAOG;AACI,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE;IACxD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE;QACrB,OAAO,CAAC,CAAC;KACV;SAAM,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE;QAC1B,OAAO,CAAC,CAAC;KACV;SAAM;QACL,OAAO,CAAC,CAAC,CAAC;KACX;AACH,CAAC,CAAC;AARW,QAAA,SAAS,aAQpB"}
|