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 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/filter-scan-dir/actions/workflows/node.js.yml/badge.svg
51
- [build-url]: https://github.com/jchip/filter-scan-dir/actions/workflows/node.js.yml
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
- "use strict";
2
- /* eslint-disable max-statements, complexity, comma-dangle, max-params, max-depth */
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
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._join2(path, file);
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
- const dir = options._join2(options.dir, path);
133
- let files = fs_1.default.readdirSync(dir, options.readdirOpts);
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(util_2.direntCmp);
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._join2(dir, file);
150
- const stat = fs_1.default.lstatSync(fullFile);
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._join2(dir, file.name);
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 = util_1.default.promisify(fs_1.default.readdir);
186
- const asyncLStat = util_1.default.promisify(fs_1.default.lstat);
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
- const dir = options._join2(options.dir, path);
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(util_2.direntCmp);
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._join2(dir, file);
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._join2(dir, file.name);
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 || path_1.default.posix.sep;
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
- _join2: undefined,
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
- exports.filterScanDir = filterScanDir;
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
- * Make a specialized and simple but faster version of path.join that handles just 2 args
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 makePathJoin2: (sep: string, cwd: string, prefix: string) => (...paths: string[]) => string;
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
- * Make a specialized and simple but faster version of path.join that handles just 2 args
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 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;
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
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ // ESM-only build; this shim keeps `require("filter-scan-dir")` callable,
4
+ // because require(esm) yields the module namespace rather than a function.
5
+ const m = require("./dist/index.js");
6
+
7
+ module.exports = Object.assign(m.filterScanDir, m);
package/package.json CHANGED
@@ -1,31 +1,45 @@
1
1
  {
2
2
  "name": "filter-scan-dir",
3
- "version": "1.5.6",
3
+ "version": "2.0.0",
4
4
  "description": "Recursively scan and filter directory for a flat array of files",
5
- "main": "lib/index.js",
6
- "types": "lib/index.d.ts",
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
- "test": "xrun -x build xarc/test-only",
10
- "lint": "xrun xarc/lint",
11
- "coveralls": "cat coverage/lcov.info | coveralls",
12
- "coverage": "xrun -x build xarc/test-cov",
13
- "ci:check": "xrun --serial build check coveralls",
14
- "prepack": "publish-util-prepack",
15
- "postpack": "publish-util-postpack",
16
- "prepublishOnly": "xrun --serial [[build, docs], xarc/check]",
17
- "docs": "xrun xarc/docs && touch docs/.nojekyll"
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/filter-scan-dir.git"
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
- "dist",
28
- "lib"
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/filter-scan-dir/issues"
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": ">=8"
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;