memfs 4.50.0 → 4.51.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.
@@ -5,4 +5,5 @@ export interface ToTreeOptions {
5
5
  tab?: string;
6
6
  depth?: number;
7
7
  separator?: '/' | '\\';
8
+ sort?: boolean;
8
9
  }
@@ -10,9 +10,26 @@ const toTreeSync = (fs, opts = {}) => {
10
10
  dir += separator;
11
11
  const tab = opts.tab || '';
12
12
  const depth = opts.depth ?? 10;
13
+ const sort = opts.sort ?? true;
13
14
  let subtree = ' (...)';
14
15
  if (depth > 0) {
15
16
  const list = fs.readdirSync(dir, { withFileTypes: true });
17
+ if (sort) {
18
+ list.sort((a, b) => {
19
+ if (a.isDirectory() && b.isDirectory()) {
20
+ return a.name.toString().localeCompare(b.name.toString());
21
+ }
22
+ else if (a.isDirectory()) {
23
+ return -1;
24
+ }
25
+ else if (b.isDirectory()) {
26
+ return 1;
27
+ }
28
+ else {
29
+ return a.name.toString().localeCompare(b.name.toString());
30
+ }
31
+ });
32
+ }
16
33
  subtree = (0, tree_dump_1.printTree)(tab, list.map(entry => tab => {
17
34
  if (entry.isDirectory()) {
18
35
  return (0, exports.toTreeSync)(fs, { dir: dir + entry.name, depth: depth - 1, tab });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/print/index.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,8CAA+C;AAIxC,MAAM,UAAU,GAAG,CAAC,EAAoB,EAAE,OAAsB,EAAE,EAAE,EAAE;IAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;IACxC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC;IAChC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,SAAS;QAAE,GAAG,IAAI,SAAS,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,IAAI,OAAO,GAAG,QAAQ,CAAC;IACvB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAc,CAAC;QACvE,OAAO,GAAG,IAAA,qBAAS,EACjB,GAAG,EACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;YACtB,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,OAAO,IAAA,kBAAU,EAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1E,CAAC;iBAAM,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;gBAClC,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC;IAClD,OAAO,IAAI,GAAG,OAAO,CAAC;AACxB,CAAC,CAAC;AAxBW,QAAA,UAAU,cAwBrB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/print/index.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,8CAA+C;AAIxC,MAAM,UAAU,GAAG,CAAC,EAAoB,EAAE,OAAsB,EAAE,EAAE,EAAE;IAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;IACxC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC;IAChC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,SAAS;QAAE,GAAG,IAAI,SAAS,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,IAAI,OAAO,GAAG,QAAQ,CAAC;IACvB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAc,CAAC;QACvE,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjB,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;oBACvC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5D,CAAC;qBAAM,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC3B,OAAO,CAAC,CAAC,CAAC;gBACZ,CAAC;qBAAM,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC3B,OAAO,CAAC,CAAC;gBACX,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,IAAA,qBAAS,EACjB,GAAG,EACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;YACtB,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,OAAO,IAAA,kBAAU,EAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1E,CAAC;iBAAM,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;gBAClC,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC;IAClD,OAAO,IAAI,GAAG,OAAO,CAAC;AACxB,CAAC,CAAC;AAtCW,QAAA,UAAU,cAsCrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "memfs",
3
- "version": "4.50.0",
3
+ "version": "4.51.0",
4
4
  "description": "In-memory file-system with Node's fs API.",
5
5
  "keywords": [
6
6
  "fs",