filter-scan-dir 1.5.6 → 2.0.0
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/README.md +3 -10
- package/dist/index.d.ts +2 -1
- package/dist/index.js +32 -32
- package/dist/util.d.ts +8 -2
- package/dist/util.js +17 -33
- package/index.cjs +7 -0
- package/package.json +35 -20
- package/dist/index.js.map +0 -1
- package/dist/util.js.map +0 -1
- package/lib/index.d.ts +0 -14
- package/lib/index.js +0 -11
package/README.md
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
[![License][license-image]][license-url]
|
|
4
4
|
[![build][build-image]][build-url]
|
|
5
|
-
[![coverage][coverage-image]][coverage-url]
|
|
6
5
|
|
|
7
6
|
[![Downloads][downloads-image]][downloads-url]
|
|
8
7
|
|
|
@@ -41,18 +40,12 @@ Licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses
|
|
|
41
40
|
|
|
42
41
|
[npm-version-svg]: https://badge.fury.io/js/filter-scan-dir.svg
|
|
43
42
|
[package-url]: https://npmjs.com/package/filter-scan-dir
|
|
44
|
-
[deps-svg]: https://david-dm.org/filter-scan-dir.svg
|
|
45
|
-
[deps-url]: https://david-dm.org/filter-scan-dir
|
|
46
|
-
[dev-deps-svg]: https://david-dm.org/filter-scan-dir/dev-status.svg
|
|
47
|
-
[dev-deps-url]: https://david-dm.org/filter-scan-dir#info=devDependencies
|
|
48
43
|
[license-image]: https://img.shields.io/npm/l/filter-scan-dir.svg
|
|
49
44
|
[license-url]: LICENSE
|
|
50
|
-
[build-image]: https://github.com/jchip/
|
|
51
|
-
[build-url]: https://github.com/jchip/
|
|
52
|
-
[coverage-image]: https://coveralls.io/repos/github/jchip/filter-scan-dir/badge.svg?branch=main
|
|
53
|
-
[coverage-url]: https://coveralls.io/github/jchip/filter-scan-dir?branch=main
|
|
45
|
+
[build-image]: https://github.com/jchip/fynjs/actions/workflows/ci.yml/badge.svg
|
|
46
|
+
[build-url]: https://github.com/jchip/fynjs/actions/workflows/ci.yml
|
|
54
47
|
[downloads-image]: https://img.shields.io/npm/dm/filter-scan-dir.svg
|
|
55
48
|
[downloads-url]: https://npm-stat.com/charts.html?package=filter-scan-dir
|
|
56
49
|
[npm-badge-png]: https://nodei.co/npm/filter-scan-dir.png?downloads=true&stars=true
|
|
57
50
|
[api docs]: https://jchip.github.io/filter-scan-dir/modules.html#filterScanDir
|
|
58
|
-
[github]: https://github.com/jchip/filter-scan-dir
|
|
51
|
+
[github]: https://github.com/jchip/fynjs/tree/main/packages/filter-scan-dir
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { Dirent, Stats } from "fs";
|
|
3
2
|
/**
|
|
4
3
|
* type of the 3rd argument for the filter callback
|
|
@@ -70,6 +69,8 @@ export type Options = {
|
|
|
70
69
|
sortFiles?: boolean;
|
|
71
70
|
/** include directories in result */
|
|
72
71
|
includeDir?: boolean;
|
|
72
|
+
/** include symlinks in result (when includeDir is false, symlinks to directories are excluded unless this is true) */
|
|
73
|
+
includeSymlink?: boolean;
|
|
73
74
|
/** zero base max level of directories to recurse into. Default: `Infinity` */
|
|
74
75
|
maxLevel?: number;
|
|
75
76
|
/**
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.filterScanDirSync = exports.filterScanDir = void 0;
|
|
8
|
-
const fs_1 = __importDefault(require("fs"));
|
|
9
|
-
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const util_1 = __importDefault(require("util"));
|
|
11
|
-
const util_2 = require("./util");
|
|
1
|
+
import Fs from "fs";
|
|
2
|
+
import Path from "path";
|
|
3
|
+
import Util from "util";
|
|
4
|
+
import { direntCmp, join2 } from "./util.js";
|
|
12
5
|
/**
|
|
13
6
|
* create a new ExtrasData object
|
|
14
7
|
*
|
|
@@ -20,7 +13,7 @@ const util_2 = require("./util");
|
|
|
20
13
|
* @returns
|
|
21
14
|
*/
|
|
22
15
|
function makeExtrasData(file, fullFile, path, stat, files, options) {
|
|
23
|
-
const dirFile = options.
|
|
16
|
+
const dirFile = join2(options._sep, path, file);
|
|
24
17
|
const ix = file.lastIndexOf(".");
|
|
25
18
|
if (ix > 0) {
|
|
26
19
|
return {
|
|
@@ -93,6 +86,15 @@ function processDir(options, extras) {
|
|
|
93
86
|
* @returns
|
|
94
87
|
*/
|
|
95
88
|
function processFile(options, extras) {
|
|
89
|
+
// If includeDir is false and includeSymlink is not true, skip symlinks
|
|
90
|
+
// This prevents symlinks to directories from being included as files
|
|
91
|
+
if (!options.includeDir &&
|
|
92
|
+
!options.includeSymlink &&
|
|
93
|
+
extras.stat &&
|
|
94
|
+
extras.stat.isSymbolicLink &&
|
|
95
|
+
extras.stat.isSymbolicLink()) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
96
98
|
if (options.ignoreExt.length > 0 && options.ignoreExt.indexOf(extras.ext) >= 0) {
|
|
97
99
|
return false;
|
|
98
100
|
}
|
|
@@ -129,14 +131,15 @@ function getResult(options) {
|
|
|
129
131
|
*/
|
|
130
132
|
function walkSync(path, options, level = 0) {
|
|
131
133
|
try {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
+
// Use Path.join to normalize the directory path once at entry
|
|
135
|
+
const dir = Path.join(options.dir, path);
|
|
136
|
+
let files = Fs.readdirSync(dir, options.readdirOpts);
|
|
134
137
|
if (options.sortFiles) {
|
|
135
138
|
if (options.fullStat) {
|
|
136
139
|
files = files.sort();
|
|
137
140
|
}
|
|
138
141
|
else {
|
|
139
|
-
files = files.sort(
|
|
142
|
+
files = files.sort(direntCmp);
|
|
140
143
|
}
|
|
141
144
|
}
|
|
142
145
|
const dirs = [];
|
|
@@ -146,12 +149,12 @@ function walkSync(path, options, level = 0) {
|
|
|
146
149
|
const file = files[ix];
|
|
147
150
|
let extras;
|
|
148
151
|
if (options.fullStat) {
|
|
149
|
-
const fullFile = options.
|
|
150
|
-
const stat =
|
|
152
|
+
const fullFile = join2(options._sep, dir, file);
|
|
153
|
+
const stat = Fs.lstatSync(fullFile);
|
|
151
154
|
extras = makeExtrasData(file, fullFile, path, stat, files, options);
|
|
152
155
|
}
|
|
153
156
|
else {
|
|
154
|
-
const fullFile = options.
|
|
157
|
+
const fullFile = join2(options._sep, dir, file.name);
|
|
155
158
|
extras = makeExtrasData(file.name, fullFile, path, file, files, options);
|
|
156
159
|
}
|
|
157
160
|
if (extras.stat.isDirectory()) {
|
|
@@ -182,8 +185,8 @@ function walkSync(path, options, level = 0) {
|
|
|
182
185
|
}
|
|
183
186
|
return getResult(options);
|
|
184
187
|
}
|
|
185
|
-
const asyncReaddir =
|
|
186
|
-
const asyncLStat =
|
|
188
|
+
const asyncReaddir = Util.promisify(Fs.readdir);
|
|
189
|
+
const asyncLStat = Util.promisify(Fs.lstat);
|
|
187
190
|
/**
|
|
188
191
|
* async version of dir walk
|
|
189
192
|
*
|
|
@@ -194,14 +197,15 @@ const asyncLStat = util_1.default.promisify(fs_1.default.lstat);
|
|
|
194
197
|
*/
|
|
195
198
|
async function walk(path, options, level = 0) {
|
|
196
199
|
try {
|
|
197
|
-
|
|
200
|
+
// Use Path.join to normalize the directory path once at entry
|
|
201
|
+
const dir = Path.join(options.dir, path);
|
|
198
202
|
let files = await asyncReaddir(dir, options.readdirOpts);
|
|
199
203
|
if (options.sortFiles) {
|
|
200
204
|
if (options.fullStat) {
|
|
201
205
|
files = files.sort();
|
|
202
206
|
}
|
|
203
207
|
else {
|
|
204
|
-
files = files.sort(
|
|
208
|
+
files = files.sort(direntCmp);
|
|
205
209
|
}
|
|
206
210
|
}
|
|
207
211
|
const dirs = [];
|
|
@@ -211,12 +215,12 @@ async function walk(path, options, level = 0) {
|
|
|
211
215
|
const file = files[ix];
|
|
212
216
|
let extras;
|
|
213
217
|
if (options.fullStat) {
|
|
214
|
-
const fullFile = options.
|
|
218
|
+
const fullFile = join2(options._sep, dir, file);
|
|
215
219
|
const stat = await asyncLStat(fullFile);
|
|
216
220
|
extras = makeExtrasData(file, fullFile, path, stat, files, options);
|
|
217
221
|
}
|
|
218
222
|
else {
|
|
219
|
-
const fullFile = options.
|
|
223
|
+
const fullFile = join2(options._sep, dir, file.name);
|
|
220
224
|
extras = makeExtrasData(file.name, fullFile, path, file, files, options);
|
|
221
225
|
}
|
|
222
226
|
if (extras.stat.isDirectory()) {
|
|
@@ -279,7 +283,7 @@ async function walk(path, options, level = 0) {
|
|
|
279
283
|
*/
|
|
280
284
|
function makeOptions(opts) {
|
|
281
285
|
const options = typeof opts === "string" ? { cwd: opts } : opts;
|
|
282
|
-
const sep = options.pathSep ||
|
|
286
|
+
const sep = options.pathSep || Path.posix.sep;
|
|
283
287
|
let cwd = options.cwd || options.dir || process.cwd();
|
|
284
288
|
if (!options.hasOwnProperty("pathSep") && cwd.includes("\\")) {
|
|
285
289
|
cwd = cwd.replace(/\\/g, "/");
|
|
@@ -300,7 +304,7 @@ function makeOptions(opts) {
|
|
|
300
304
|
const prependCwd = (options.hasOwnProperty("includeRoot") ? options.includeRoot : options.prependCwd) ||
|
|
301
305
|
false;
|
|
302
306
|
const opts2 = Object.assign({
|
|
303
|
-
|
|
307
|
+
_sep: sep,
|
|
304
308
|
maxLevel: Infinity,
|
|
305
309
|
prefix: "",
|
|
306
310
|
prependCwd,
|
|
@@ -321,20 +325,16 @@ function makeOptions(opts) {
|
|
|
321
325
|
.filter((x) => x),
|
|
322
326
|
_concurrentCount: 0,
|
|
323
327
|
});
|
|
324
|
-
opts2._join2 = (0, util_2.makePathJoin2)(sep, opts2.dir, opts2.prefix);
|
|
325
328
|
if (!opts2.fullStat) {
|
|
326
329
|
opts2.readdirOpts = { withFileTypes: true };
|
|
327
330
|
}
|
|
328
331
|
return opts2;
|
|
329
332
|
}
|
|
330
|
-
function filterScanDir(options = {}) {
|
|
333
|
+
export function filterScanDir(options = {}) {
|
|
331
334
|
const options2 = makeOptions(options);
|
|
332
335
|
return walk(options2.prefix, options2);
|
|
333
336
|
}
|
|
334
|
-
|
|
335
|
-
function filterScanDirSync(options = {}) {
|
|
337
|
+
export function filterScanDirSync(options = {}) {
|
|
336
338
|
const options2 = makeOptions(options);
|
|
337
339
|
return walkSync(options2.prefix, options2);
|
|
338
340
|
}
|
|
339
|
-
exports.filterScanDirSync = filterScanDirSync;
|
|
340
|
-
//# sourceMappingURL=index.js.map
|
package/dist/util.d.ts
CHANGED
|
@@ -9,6 +9,12 @@ import { Dirent } from "fs";
|
|
|
9
9
|
*/
|
|
10
10
|
export declare const direntCmp: (a: Dirent, b: Dirent) => number;
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Simple and fast path join for 2 arguments.
|
|
13
|
+
* Assumes first argument is already normalized and second is a simple filename.
|
|
14
|
+
*
|
|
15
|
+
* @param sep - path separator to use
|
|
16
|
+
* @param a - base path (should be normalized)
|
|
17
|
+
* @param b - path component to append (typically a filename)
|
|
18
|
+
* @returns joined path
|
|
13
19
|
*/
|
|
14
|
-
export declare const
|
|
20
|
+
export declare const join2: (sep: string, a?: string, b?: string) => string;
|
package/dist/util.js
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
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
1
|
/* @ignore */
|
|
9
2
|
/**
|
|
10
3
|
* compare Dirent for sorting
|
|
@@ -14,7 +7,7 @@ const path_1 = __importDefault(require("path"));
|
|
|
14
7
|
* @returns
|
|
15
8
|
* @ignore
|
|
16
9
|
*/
|
|
17
|
-
const direntCmp = (a, b) => {
|
|
10
|
+
export const direntCmp = (a, b) => {
|
|
18
11
|
if (a.name === b.name) {
|
|
19
12
|
return 0;
|
|
20
13
|
}
|
|
@@ -25,32 +18,23 @@ const direntCmp = (a, b) => {
|
|
|
25
18
|
return -1;
|
|
26
19
|
}
|
|
27
20
|
};
|
|
28
|
-
exports.direntCmp = direntCmp;
|
|
29
21
|
/**
|
|
30
|
-
*
|
|
22
|
+
* Simple and fast path join for 2 arguments.
|
|
23
|
+
* Assumes first argument is already normalized and second is a simple filename.
|
|
24
|
+
*
|
|
25
|
+
* @param sep - path separator to use
|
|
26
|
+
* @param a - base path (should be normalized)
|
|
27
|
+
* @param b - path component to append (typically a filename)
|
|
28
|
+
* @returns joined path
|
|
31
29
|
*/
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
30
|
+
export const join2 = (sep, a, b) => {
|
|
31
|
+
if (!a || a === ".") {
|
|
32
|
+
return b || a || ".";
|
|
33
|
+
}
|
|
34
|
+
else if (!b || b === ".") {
|
|
35
|
+
return a;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
return a + sep + b;
|
|
39
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
40
|
};
|
|
55
|
-
exports.makePathJoin2 = makePathJoin2;
|
|
56
|
-
//# sourceMappingURL=util.js.map
|
package/index.cjs
ADDED
package/package.json
CHANGED
|
@@ -1,31 +1,45 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "filter-scan-dir",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Recursively scan and filter directory for a flat array of files",
|
|
5
|
-
"
|
|
6
|
-
"types": "
|
|
5
|
+
"type": "module",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"main": "./index.cjs",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"require": "./index.cjs"
|
|
13
|
+
},
|
|
14
|
+
"./package.json": "./package.json"
|
|
15
|
+
},
|
|
7
16
|
"scripts": {
|
|
8
|
-
"build": "rm -rf dist && tsc",
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
17
|
+
"build": "rm -rf dist && tsc -p tsconfig.json",
|
|
18
|
+
"_clean": "rm -rf dist-*",
|
|
19
|
+
"test": "vitest run",
|
|
20
|
+
"ci:check": "tsc --noEmit -p tsconfig.json && npm test",
|
|
21
|
+
"test:watch": "vitest",
|
|
22
|
+
"test:ui": "vitest --ui",
|
|
23
|
+
"coverage": "vitest run --coverage",
|
|
24
|
+
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
25
|
+
"format:check": "prettier --check \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
26
|
+
"ci": "xrun --serial build test coverage",
|
|
27
|
+
"clean": "rm -rf dist-* coverage",
|
|
28
|
+
"prepublishOnly": "xrun ci",
|
|
29
|
+
"docs": "typedoc src/index.ts --out docs && touch docs/.nojekyll",
|
|
30
|
+
"postpack": "publish-util-postpack"
|
|
18
31
|
},
|
|
19
32
|
"repository": {
|
|
20
33
|
"type": "git",
|
|
21
|
-
"url": "https://github.com/jchip/
|
|
34
|
+
"url": "git+https://github.com/jchip/fynjs.git",
|
|
35
|
+
"directory": "packages/filter-scan-dir"
|
|
22
36
|
},
|
|
23
37
|
"publishConfig": {
|
|
24
38
|
"registry": "https://registry.npmjs.com/"
|
|
25
39
|
},
|
|
26
40
|
"files": [
|
|
27
|
-
"
|
|
28
|
-
"
|
|
41
|
+
"index.cjs",
|
|
42
|
+
"dist"
|
|
29
43
|
],
|
|
30
44
|
"keywords": [
|
|
31
45
|
"util",
|
|
@@ -43,11 +57,12 @@
|
|
|
43
57
|
"author": "Joel Chen <joel123@gmail.com>",
|
|
44
58
|
"license": "Apache-2.0",
|
|
45
59
|
"bugs": {
|
|
46
|
-
"url": "https://github.com/jchip/
|
|
60
|
+
"url": "https://github.com/jchip/fynjs/issues"
|
|
47
61
|
},
|
|
48
|
-
"homepage": "https://github.com/jchip/filter-scan-dir",
|
|
62
|
+
"homepage": "https://github.com/jchip/fynjs/tree/main/packages/filter-scan-dir",
|
|
49
63
|
"dependencies": {},
|
|
50
64
|
"engines": {
|
|
51
|
-
"node": ">=
|
|
52
|
-
}
|
|
65
|
+
"node": ">=22.12.0"
|
|
66
|
+
},
|
|
67
|
+
"sideEffects": false
|
|
53
68
|
}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/util.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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/lib/index.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export * from "../dist/index.d";
|
|
2
|
-
|
|
3
|
-
import { filterScanDir as FSD, filterScanDirSync as FSDS } from "../dist/index.d";
|
|
4
|
-
|
|
5
|
-
// backward type compatible for legacy require("filter-scan-dir") usage
|
|
6
|
-
// new TS code should do `import {filterScanDir} from "filter-scan-dir"`
|
|
7
|
-
declare function asyncApi(options?: any): Promise<any>;
|
|
8
|
-
declare namespace asyncApi {
|
|
9
|
-
const sync: (options?: any) => any;
|
|
10
|
-
const filterScanDir: typeof FSD;
|
|
11
|
-
const filterScanDirSync: typeof FSDS;
|
|
12
|
-
}
|
|
13
|
-
// @ts-ignore
|
|
14
|
-
export = asyncApi;
|
package/lib/index.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const fsd = require("../dist");
|
|
4
|
-
|
|
5
|
-
const asyncApi = (options) => fsd.filterScanDir(options);
|
|
6
|
-
Object.defineProperties(asyncApi, {
|
|
7
|
-
sync: { value: fsd.filterScanDirSync },
|
|
8
|
-
filterScanDir: { value: fsd.filterScanDir },
|
|
9
|
-
filterScanDirSync: { value: fsd.filterScanDirSync },
|
|
10
|
-
});
|
|
11
|
-
module.exports = asyncApi;
|