view-ignored 0.4.8 → 0.5.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.
Files changed (135) hide show
  1. package/README.md +64 -96
  2. package/out/index.d.ts +1 -4
  3. package/out/index.js +1 -4
  4. package/out/patterns/gitignore.d.ts +3 -0
  5. package/out/patterns/gitignore.js +35 -0
  6. package/out/patterns/index.d.ts +4 -0
  7. package/out/patterns/index.js +4 -0
  8. package/out/patterns/jsrjson.d.ts +4 -0
  9. package/out/patterns/jsrjson.js +39 -0
  10. package/out/patterns/matcher.d.ts +39 -0
  11. package/out/patterns/matcher.js +118 -0
  12. package/out/patterns/packagejson.d.ts +3 -0
  13. package/out/patterns/packagejson.js +25 -0
  14. package/out/scan.d.ts +46 -0
  15. package/out/scan.js +113 -0
  16. package/out/targets/git.d.ts +2 -0
  17. package/out/targets/git.js +22 -0
  18. package/out/targets/index.d.ts +6 -0
  19. package/out/targets/index.js +6 -0
  20. package/out/targets/jsr.d.ts +2 -0
  21. package/out/targets/jsr.js +25 -0
  22. package/out/targets/npm.d.ts +2 -0
  23. package/out/targets/npm.js +46 -0
  24. package/out/targets/target.d.ts +7 -0
  25. package/out/targets/target.js +1 -0
  26. package/out/targets/vsce.d.ts +2 -0
  27. package/out/targets/vsce.js +24 -0
  28. package/out/targets/yarn.d.ts +2 -0
  29. package/out/targets/yarn.js +49 -0
  30. package/out/walk.d.ts +2 -0
  31. package/out/walk.js +19 -0
  32. package/package.json +20 -54
  33. package/bin/viewig +0 -4
  34. package/out/browser/binds/index.d.ts +0 -56
  35. package/out/browser/binds/index.d.ts.map +0 -1
  36. package/out/browser/binds/index.js +0 -95
  37. package/out/browser/binds/index.js.map +0 -1
  38. package/out/browser/binds/plugins/git.d.ts +0 -23
  39. package/out/browser/binds/plugins/git.d.ts.map +0 -1
  40. package/out/browser/binds/plugins/git.js +0 -67
  41. package/out/browser/binds/plugins/git.js.map +0 -1
  42. package/out/browser/binds/plugins/jsr.d.ts +0 -39
  43. package/out/browser/binds/plugins/jsr.d.ts.map +0 -1
  44. package/out/browser/binds/plugins/jsr.js +0 -117
  45. package/out/browser/binds/plugins/jsr.js.map +0 -1
  46. package/out/browser/binds/plugins/npm.d.ts +0 -39
  47. package/out/browser/binds/plugins/npm.d.ts.map +0 -1
  48. package/out/browser/binds/plugins/npm.js +0 -146
  49. package/out/browser/binds/plugins/npm.js.map +0 -1
  50. package/out/browser/binds/plugins/vsce.d.ts +0 -26
  51. package/out/browser/binds/plugins/vsce.d.ts.map +0 -1
  52. package/out/browser/binds/plugins/vsce.js +0 -71
  53. package/out/browser/binds/plugins/vsce.js.map +0 -1
  54. package/out/browser/binds/plugins/yarn.d.ts +0 -12
  55. package/out/browser/binds/plugins/yarn.d.ts.map +0 -1
  56. package/out/browser/binds/plugins/yarn.js +0 -36
  57. package/out/browser/binds/plugins/yarn.js.map +0 -1
  58. package/out/browser/binds/scanner.d.ts +0 -47
  59. package/out/browser/binds/scanner.d.ts.map +0 -1
  60. package/out/browser/binds/scanner.js +0 -166
  61. package/out/browser/binds/scanner.js.map +0 -1
  62. package/out/browser/binds/targets.d.ts +0 -78
  63. package/out/browser/binds/targets.d.ts.map +0 -1
  64. package/out/browser/binds/targets.js +0 -46
  65. package/out/browser/binds/targets.js.map +0 -1
  66. package/out/browser/conc.d.ts +0 -2
  67. package/out/browser/conc.d.ts.map +0 -1
  68. package/out/browser/conc.js +0 -19
  69. package/out/browser/conc.js.map +0 -1
  70. package/out/browser/errors.d.ts +0 -47
  71. package/out/browser/errors.d.ts.map +0 -1
  72. package/out/browser/errors.js +0 -35
  73. package/out/browser/errors.js.map +0 -1
  74. package/out/browser/filtering.d.ts +0 -13
  75. package/out/browser/filtering.d.ts.map +0 -1
  76. package/out/browser/filtering.js +0 -12
  77. package/out/browser/filtering.js.map +0 -1
  78. package/out/browser/fs/directory.d.ts +0 -145
  79. package/out/browser/fs/directory.d.ts.map +0 -1
  80. package/out/browser/fs/directory.js +0 -244
  81. package/out/browser/fs/directory.js.map +0 -1
  82. package/out/browser/fs/file-info.d.ts +0 -89
  83. package/out/browser/fs/file-info.d.ts.map +0 -1
  84. package/out/browser/fs/file-info.js +0 -101
  85. package/out/browser/fs/file-info.js.map +0 -1
  86. package/out/browser/fs/file.d.ts +0 -39
  87. package/out/browser/fs/file.d.ts.map +0 -1
  88. package/out/browser/fs/file.js +0 -42
  89. package/out/browser/fs/file.js.map +0 -1
  90. package/out/browser/fs/index.d.ts +0 -5
  91. package/out/browser/fs/index.d.ts.map +0 -1
  92. package/out/browser/fs/index.js +0 -5
  93. package/out/browser/fs/index.js.map +0 -1
  94. package/out/browser/fs/source-info.d.ts +0 -29
  95. package/out/browser/fs/source-info.d.ts.map +0 -1
  96. package/out/browser/fs/source-info.js +0 -31
  97. package/out/browser/fs/source-info.js.map +0 -1
  98. package/out/browser/index.d.ts +0 -4
  99. package/out/browser/index.d.ts.map +0 -1
  100. package/out/browser/index.js +0 -4
  101. package/out/browser/index.js.map +0 -1
  102. package/out/browser/lib.d.ts +0 -138
  103. package/out/browser/lib.d.ts.map +0 -1
  104. package/out/browser/lib.js +0 -93
  105. package/out/browser/lib.js.map +0 -1
  106. package/out/browser/sorting.d.ts +0 -52
  107. package/out/browser/sorting.d.ts.map +0 -1
  108. package/out/browser/sorting.js +0 -137
  109. package/out/browser/sorting.js.map +0 -1
  110. package/out/browser/styling.d.ts +0 -92
  111. package/out/browser/styling.d.ts.map +0 -1
  112. package/out/browser/styling.js +0 -66
  113. package/out/browser/styling.js.map +0 -1
  114. package/out/cli.d.ts +0 -90
  115. package/out/cli.d.ts.map +0 -1
  116. package/out/cli.js +0 -360
  117. package/out/cli.js.map +0 -1
  118. package/out/config.d.ts +0 -186
  119. package/out/config.d.ts.map +0 -1
  120. package/out/config.js +0 -370
  121. package/out/config.js.map +0 -1
  122. package/out/errors.d.ts +0 -7
  123. package/out/errors.d.ts.map +0 -1
  124. package/out/errors.js +0 -3
  125. package/out/errors.js.map +0 -1
  126. package/out/index.d.ts.map +0 -1
  127. package/out/index.js.map +0 -1
  128. package/out/lib.d.ts +0 -5
  129. package/out/lib.d.ts.map +0 -1
  130. package/out/lib.js +0 -5
  131. package/out/lib.js.map +0 -1
  132. package/out/styling.d.ts +0 -5
  133. package/out/styling.d.ts.map +0 -1
  134. package/out/styling.js +0 -49
  135. package/out/styling.js.map +0 -1
@@ -1,138 +0,0 @@
1
- import * as PATH from 'node:path';
2
- import * as FS from 'node:fs';
3
- import { type DeepStreamDataRoot, type DeepStreamEventEmitter, Directory, File, FileInfo, type SourceInfo } from './fs/index.js';
4
- import { type FilterName } from './filtering.js';
5
- export * from './errors.js';
6
- export * from './fs/index.js';
7
- export * as Filtering from './filtering.js';
8
- export * as Styling from './styling.js';
9
- export * as Sorting from './sorting.js';
10
- export * as Plugins from './binds/index.js';
11
- /**
12
- * ViewIgnored's package.json.
13
- */
14
- export declare const package_: typeof import("../../package.json");
15
- /**
16
- * Uses `node:fs` and `node:fs/promises` by default.
17
- */
18
- export type FileSystemAdapter = {
19
- readFileSync?: typeof FS.readFileSync;
20
- readdirSync?: typeof FS.readdirSync;
21
- promises?: {
22
- readdir(path: string, options: {
23
- withFileTypes: true;
24
- }): Promise<FS.Dirent[]>;
25
- stat(path: string): Promise<FS.Stats>;
26
- };
27
- };
28
- /**
29
- * The custom scanner.
30
- */
31
- export type Scanner = {
32
- /**
33
- * @returns `true`, if the given path is ignored.
34
- */
35
- ignores(path: string): boolean;
36
- };
37
- /**
38
- * Recursively creates a cache scanner for each file.
39
- * @throws If the target does not allow the current ignore configurations: {@link ViewIgnoredError}.
40
- * For example, {@link https://www.npmjs.com/package/@vscode/vsce vsce} considers it invalid if your manifest is missing the 'engines' field.
41
- * Similarly, npm will raise an error if you attempt to publish a package without a basic 'package.json'.
42
- */
43
- export type Methodology = (tree: Directory, realOptions: RealScanOptions) => Map<File, SourceInfo>;
44
- /**
45
- * Options with defaults and additional properties.
46
- */
47
- export type RealScanOptions = Required<Omit<ScanOptions, 'fsa'>> & {
48
- modules: {
49
- /**
50
- * File system adapter.
51
- */
52
- fs: Required<FileSystemAdapter>;
53
- /**
54
- * Path module adapter.
55
- */
56
- path: PATH.PlatformPath;
57
- };
58
- };
59
- /**
60
- * Folder deep scanning options.
61
- */
62
- export type ScanOptions = {
63
- /**
64
- * The target or the scan methodology.
65
- * @default "git"
66
- */
67
- target?: string | Methodology;
68
- /**
69
- * The max concurrency for file-system operations.
70
- * @default 8
71
- */
72
- concurrency?: number;
73
- /**
74
- * Custom implementation of methods for working with the file system.
75
- * @default import * as FS from "fs"
76
- */
77
- fsa?: FileSystemAdapter;
78
- /**
79
- * The current working directory in which to search.
80
- * @default process.cwd()
81
- */
82
- cwd?: string;
83
- /**
84
- * Specifies the maximum depth of a read directory relative to the start
85
- * directory.
86
- * @default Infinity
87
- */
88
- maxDepth?: number;
89
- /**
90
- * On posix systems, this has no effect. But, on Windows, it means that
91
- * paths will be `/` delimited, and absolute paths will be their full
92
- * resolved UNC forms, eg instead of `'C:\\foo\\bar'`, it would return
93
- * `'//?/C:/foo/bar'`
94
- * @default false
95
- * @returns `/` delimited paths, even on Windows.
96
- */
97
- posix?: boolean;
98
- /**
99
- * Filter output.
100
- * @default "included"
101
- */
102
- filter?: FilterName | ((fileInfo: FileInfo) => boolean);
103
- };
104
- /**
105
- * Gets info about the each file: it is ignored or not.
106
- * @param directoryPath The relative path to the directory.
107
- * @throws If no valid sources: {@link ErrorNoSources}.
108
- */
109
- export declare function scan(directoryPath: string, options?: ScanOptions): Promise<FileInfo[]>;
110
- /**
111
- * Gets info about the each file: it is ignored or not.
112
- * @param directory The current working directory.
113
- * @throws If no valid sources: {@link ErrorNoSources}.
114
- */
115
- export declare function scan(directory: Directory, options?: ScanOptions): Promise<FileInfo[]>;
116
- /**
117
- * Gets info about the each file: it is ignored or not.
118
- * @param stream The stream of the current working directory reading.
119
- * @throws If no valid sources: {@link ErrorNoSources}.
120
- */
121
- export declare function scan(stream: DeepStreamEventEmitter, options?: ScanOptions): Promise<FileInfo[]>;
122
- /**
123
- * Gets info about the each file: it is ignored or not.
124
- * @param treeRoot Completed {@link DeepStreamEventEmitter}.
125
- * @throws If no valid sources: {@link ErrorNoSources}.
126
- */
127
- export declare function scan(treeRoot: DeepStreamDataRoot, options?: ScanOptions): Promise<FileInfo[]>;
128
- /**
129
- * Gets info about the each file: it is ignored or not.
130
- * @param pathList The list of relative paths. The should be relative to the current working directory.
131
- * @throws If no valid sources: {@link ErrorNoSources}.
132
- */
133
- export declare function scan(pathList: string[], options?: ScanOptions): Promise<FileInfo[]>;
134
- /**
135
- * @returns Options with defaults and additional properties.
136
- */
137
- export declare function makeOptionsReal(options?: ScanOptions): RealScanOptions;
138
- //# sourceMappingURL=lib.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/browser/lib.ts"],"names":[],"mappings":"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"}
@@ -1,93 +0,0 @@
1
- import * as PATH from 'node:path';
2
- import process from 'node:process';
3
- import * as FS from 'node:fs';
4
- import { createRequire } from 'node:module';
5
- import EventEmitter from 'node:events';
6
- import { configDefault } from '../config.js';
7
- import { Directory, File, FileInfo, } from './fs/index.js';
8
- import { targetGet } from './binds/index.js';
9
- import { TargetNotBoundError } from './errors.js';
10
- import {} from './filtering.js';
11
- import { conc } from './conc.js';
12
- export * from './errors.js';
13
- export * from './fs/index.js';
14
- export * as Filtering from './filtering.js';
15
- export * as Styling from './styling.js';
16
- export * as Sorting from './sorting.js';
17
- export * as Plugins from './binds/index.js';
18
- /**
19
- * ViewIgnored's package.json.
20
- */
21
- export const package_ = createRequire(import.meta.url)('../../package.json');
22
- export async function scan(argument0, options) {
23
- options ??= {};
24
- const optionsReal = makeOptionsReal(options);
25
- if (typeof optionsReal.target === 'string') {
26
- const bind = targetGet(optionsReal.target);
27
- if (bind === undefined) {
28
- throw new TargetNotBoundError(optionsReal.target);
29
- }
30
- return scan(argument0, Object.assign(options, bind.scanOptions));
31
- }
32
- if (typeof argument0 === 'string') {
33
- const stream = Directory.deepStream(argument0, optionsReal);
34
- const result = scan(stream, options);
35
- stream.run();
36
- return result;
37
- }
38
- if (Array.isArray(argument0)) {
39
- const tree = Directory.from(argument0, optionsReal.cwd);
40
- return scan(tree, options);
41
- }
42
- if (argument0 instanceof EventEmitter) {
43
- const { tree } = await argument0.endPromise;
44
- argument0 = tree;
45
- }
46
- if ('progress' in argument0) {
47
- argument0 = argument0.tree;
48
- }
49
- const tree = argument0;
50
- const cache = optionsReal.target(tree, optionsReal);
51
- const fileInfoList = [];
52
- const promises = [];
53
- for (const entry of tree.deepIterator(File)) {
54
- promises.push(async () => {
55
- const sourceInfo = cache.get(entry);
56
- const depth = entry.relativePath.split(/[/\\]/).length - 1;
57
- if (depth > optionsReal.maxDepth) {
58
- return;
59
- }
60
- const fileInfo = FileInfo.from(entry, sourceInfo);
61
- const ignored = !fileInfo.isIncludedBy(optionsReal.filter);
62
- if (ignored) {
63
- return;
64
- }
65
- fileInfoList.push(fileInfo);
66
- });
67
- }
68
- await conc(promises, optionsReal.concurrency);
69
- return fileInfoList;
70
- }
71
- /**
72
- * @returns Options with defaults and additional properties.
73
- */
74
- export function makeOptionsReal(options) {
75
- options ??= {};
76
- const posix = options.posix ?? false;
77
- const concurrency = options.concurrency ?? configDefault.concurrency;
78
- const optionsReal = {
79
- concurrency,
80
- target: options.target ?? 'git',
81
- cwd: options.cwd ?? process.cwd(),
82
- filter: options.filter ?? configDefault.filter,
83
- modules: {
84
- fs: (options.fsa ?? FS),
85
- path: posix ? PATH.posix : PATH,
86
- },
87
- maxDepth: options.maxDepth ?? configDefault.depth,
88
- posix,
89
- };
90
- return optionsReal;
91
- }
92
- // #endregion
93
- //# sourceMappingURL=lib.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/browser/lib.ts"],"names":[],"mappings":"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"}
@@ -1,52 +0,0 @@
1
- /**
2
- * Contains all file sort names.
3
- */
4
- export declare const sortNameList: readonly ["firstFolders", "firstFiles", "type", "mixed", "modified"];
5
- /**
6
- * Contains all file sort names as a type.
7
- */
8
- export type SortName = typeof sortNameList[number];
9
- /**
10
- * {@link Array.prototype.sort}'s file path comparator.
11
- */
12
- export type SortFunction = (a: string, b: string) => number;
13
- /**
14
- * Checks if the value is the {@link SortName}.
15
- */
16
- export declare function isSortName(value: unknown): value is SortName;
17
- /**
18
- * @example
19
- * "path/to/the/file" -> ["path", "to/the/file", false]
20
- * "file" -> ["file", "file", true]
21
- * "file/" -> ["file", "", false]
22
- */
23
- export declare function shiftPath(p: string): [next: string, other: string, isLast: boolean];
24
- /**
25
- * Files and folders are sorted by their names.
26
- * Folders are displayed before files.
27
- */
28
- export declare function firstFolders(a: string, b: string): number;
29
- /**
30
- * Files and folders are sorted by their names.
31
- * Files are displayed before folders.
32
- */
33
- export declare function firstFiles(a: string, b: string): number;
34
- /**
35
- * Files and folders are sorted by last modified date in descending order.
36
- * Folders are displayed before files.
37
- * @see {@link makeMtimeCache}
38
- */
39
- export declare function modified(a: string, b: string, map: Map<{
40
- toString(): string;
41
- }, number>): number;
42
- /**
43
- * Files and folders are grouped by extension type then sorted by thir names.
44
- * Folders are displayed before files.
45
- */
46
- export declare function type(a: string, b: string): number;
47
- /**
48
- * Files and folders are sorted by their names.
49
- * Files are interwoven with folders.
50
- */
51
- export declare function mixed(a: string, b: string): number;
52
- //# sourceMappingURL=sorting.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sorting.d.ts","sourceRoot":"","sources":["../../src/browser/sorting.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,YAAY,sEAMf,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;AAElD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;AAE3D;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,CAAC,EAAE,MAAM,GACR,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAMhD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAsBzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAsBvD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,GAAG,CAAC;IAAE,QAAQ,IAAI,MAAM,CAAA;CAAE,EAAE,MAAM,CAAC,GACvC,MAAM,CAsBR;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAwBjD;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAElD"}
@@ -1,137 +0,0 @@
1
- import path from 'node:path';
2
- /**
3
- * Contains all file sort names.
4
- */
5
- export const sortNameList = [
6
- 'firstFolders',
7
- 'firstFiles',
8
- 'type',
9
- 'mixed',
10
- 'modified',
11
- ];
12
- /**
13
- * Checks if the value is the {@link SortName}.
14
- */
15
- export function isSortName(value) {
16
- return typeof value === 'string' && sortNameList.includes(value);
17
- }
18
- /**
19
- * @example
20
- * "path/to/the/file" -> ["path", "to/the/file", false]
21
- * "file" -> ["file", "file", true]
22
- * "file/" -> ["file", "", false]
23
- */
24
- export function shiftPath(p) {
25
- const slashIndex = p.search(/[/\\]/);
26
- const next = p.slice(0, Math.max(0, slashIndex));
27
- const other = p.slice(Math.max(0, slashIndex + 1));
28
- const isLast = next === '';
29
- return [slashIndex < 0 ? other : next, other, isLast];
30
- }
31
- /**
32
- * Files and folders are sorted by their names.
33
- * Folders are displayed before files.
34
- */
35
- export function firstFolders(a, b) {
36
- let comp = 0;
37
- for (; comp === 0;) {
38
- const [next1, post1, last1] = shiftPath(a);
39
- a = post1;
40
- const [next2, post2, last2] = shiftPath(b);
41
- b = post2;
42
- comp = mixed(next1, next2);
43
- if (last1 || last2) {
44
- if (last1 === last2) {
45
- break;
46
- }
47
- if (!last1) {
48
- return -1;
49
- }
50
- return +1;
51
- }
52
- }
53
- return comp;
54
- }
55
- /**
56
- * Files and folders are sorted by their names.
57
- * Files are displayed before folders.
58
- */
59
- export function firstFiles(a, b) {
60
- let comp = 0;
61
- for (; comp === 0;) {
62
- const [next1, post1, last1] = shiftPath(a);
63
- a = post1;
64
- const [next2, post2, last2] = shiftPath(b);
65
- b = post2;
66
- comp = mixed(next1, next2);
67
- if (last1 || last2) {
68
- if (last1 === last2) {
69
- break;
70
- }
71
- if (last1) {
72
- return -1;
73
- }
74
- return +1;
75
- }
76
- }
77
- return comp;
78
- }
79
- /**
80
- * Files and folders are sorted by last modified date in descending order.
81
- * Folders are displayed before files.
82
- * @see {@link makeMtimeCache}
83
- */
84
- export function modified(a, b, map) {
85
- let comp = 0;
86
- for (; comp === 0;) {
87
- const [, post1, last1] = shiftPath(a);
88
- a = post1;
89
- const [, post2, last2] = shiftPath(b);
90
- b = post2;
91
- comp = (map.get(a) ?? 0) - (map.get(b) ?? 0);
92
- if (last1 || last2) {
93
- if (last1 === last2) {
94
- break;
95
- }
96
- if (!last1) {
97
- return -1;
98
- }
99
- return +1;
100
- }
101
- }
102
- return comp;
103
- }
104
- /**
105
- * Files and folders are grouped by extension type then sorted by thir names.
106
- * Folders are displayed before files.
107
- */
108
- export function type(a, b) {
109
- let comp = 0;
110
- for (; comp === 0;) {
111
- const [next1, post1, last1] = shiftPath(a);
112
- a = post1;
113
- const [next2, post2, last2] = shiftPath(b);
114
- b = post2;
115
- const ppa = path.parse(next1);
116
- const ppb = path.parse(next2);
117
- comp = mixed(ppa.ext, ppb.ext) || mixed(ppa.name, ppb.name);
118
- if (last1 || last2) {
119
- if (last1 === last2) {
120
- break;
121
- }
122
- if (!last1) {
123
- return -1;
124
- }
125
- return +1;
126
- }
127
- }
128
- return comp;
129
- }
130
- /**
131
- * Files and folders are sorted by their names.
132
- * Files are interwoven with folders.
133
- */
134
- export function mixed(a, b) {
135
- return a.localeCompare(b, undefined, { ignorePunctuation: false });
136
- }
137
- //# sourceMappingURL=sorting.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sorting.js","sourceRoot":"","sources":["../../src/browser/sorting.ts"],"names":[],"mappings":"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"}
@@ -1,92 +0,0 @@
1
- import type { ChalkInstance } from 'chalk';
2
- import type { FileInfo } from './lib.js';
3
- export type FormatFilesOptions = {
4
- /**
5
- * On posix systems, this has no effect. But, on Windows, it means that
6
- * paths will be `/` delimited, and absolute paths will be their full
7
- * resolved UNC forms, eg instead of `'C:\\foo\\bar'`, it would return
8
- * `'//?/C:/foo/bar'`
9
- * @default false
10
- * @returns `/` delimited paths, even on Windows.
11
- */
12
- posix?: boolean;
13
- /**
14
- * @default false
15
- */
16
- showSources?: boolean;
17
- /**
18
- * @default "paths"
19
- */
20
- style: StyleName;
21
- /**
22
- * @default "paths"
23
- */
24
- decor?: DecorName;
25
- /**
26
- * @default undefined
27
- */
28
- chalk?: ChalkInstance;
29
- };
30
- /**
31
- * @returns Prints a readable file list. Here is '\n' ending.
32
- */
33
- export declare function formatFiles(files: FileInfo[], options: FormatFilesOptions): string;
34
- /**
35
- * Contains all style names.
36
- */
37
- export declare const styleNameList: readonly ["tree", "paths"];
38
- /**
39
- * Contains all style names as a type.
40
- */
41
- export type StyleName = typeof styleNameList[number];
42
- /**
43
- * Checks if the value is the {@link StyleName}.
44
- */
45
- export declare function isStyleName(value: unknown): value is StyleName;
46
- /**
47
- * Contains all decor names.
48
- */
49
- export declare const decorNameList: readonly ["normal", "emoji", "nerdfonts"];
50
- /**
51
- * Contains all decor names as a type.
52
- */
53
- export type DecorName = typeof decorNameList[number];
54
- /**
55
- * Checks if the value is the {@link DecorName}.
56
- */
57
- export declare function isDecorName(value: unknown): value is DecorName;
58
- /**
59
- * Formatting options for the {@link decorCondition}.
60
- */
61
- export type DecorConditionOptions = {
62
- /**
63
- * @default ""
64
- */
65
- prefix?: string;
66
- /**
67
- * @default ""
68
- */
69
- postfix?: string;
70
- /**
71
- * If the decor is not an emoji or nerd use this string.
72
- * @default ""
73
- */
74
- ifNormal?: string;
75
- /**
76
- * If style name (lowercase) contains `emoji` use this string.
77
- * @default ""
78
- */
79
- ifEmoji?: string;
80
- /**
81
- * If style name (lowercase) contains `nerd` use this string.
82
- * @default ""
83
- */
84
- ifNerd?: string;
85
- };
86
- /**
87
- * Formats the string for specific style types.
88
- * @param decor The decor name.
89
- * @param condition Formatting options.
90
- */
91
- export declare function decorCondition(decor: DecorName, condition: DecorConditionOptions): string;
92
- //# sourceMappingURL=styling.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styling.d.ts","sourceRoot":"","sources":["../../src/browser/styling.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAA;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB,CAAA;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,QAAQ,EAAE,EACjB,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CAwBR;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,4BAA6B,CAAA;AAEvD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;AAEpD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAG9D;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,2CAA4C,CAAA;AAEtE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;AAEpD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAG9D;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,qBAAqB,GAC/B,MAAM,CAcR"}
@@ -1,66 +0,0 @@
1
- import PATH from 'node:path';
2
- import tree from 'treeify';
3
- import jsonifyPaths from 'jsonify-paths';
4
- /**
5
- * @returns Prints a readable file list. Here is '\n' ending.
6
- */
7
- export function formatFiles(files, options) {
8
- const { showSources = false, chalk, decor = 'normal', style, posix = false } = options ?? {};
9
- const patha = posix ? PATH.posix : PATH;
10
- const isPaths = style === 'paths';
11
- const paths = files.map(f => f.toString({
12
- fileIcon: decor,
13
- usePrefix: true,
14
- chalk,
15
- source: showSources,
16
- entire: isPaths,
17
- }));
18
- if (isPaths) {
19
- return paths.join('\n') + '\n';
20
- }
21
- // IsTree
22
- const pathsAsObject = jsonifyPaths.from(paths, { delimiter: patha.sep });
23
- const pathsAsTree = tree.asTree(pathsAsObject, true, true);
24
- return pathsAsTree;
25
- }
26
- /**
27
- * Contains all style names.
28
- */
29
- export const styleNameList = ['tree', 'paths'];
30
- /**
31
- * Checks if the value is the {@link StyleName}.
32
- */
33
- export function isStyleName(value) {
34
- return typeof value === 'string'
35
- && styleNameList.includes(value);
36
- }
37
- /**
38
- * Contains all decor names.
39
- */
40
- export const decorNameList = ['normal', 'emoji', 'nerdfonts'];
41
- /**
42
- * Checks if the value is the {@link DecorName}.
43
- */
44
- export function isDecorName(value) {
45
- return typeof value === 'string'
46
- && decorNameList.includes(value);
47
- }
48
- /**
49
- * Formats the string for specific style types.
50
- * @param decor The decor name.
51
- * @param condition Formatting options.
52
- */
53
- export function decorCondition(decor, condition) {
54
- let result = condition.ifNormal ?? '';
55
- if (decor === 'emoji') {
56
- result = condition.ifEmoji ?? result;
57
- }
58
- else if (decor === 'nerdfonts') {
59
- result = condition.ifNerd ?? result;
60
- }
61
- if (result !== '') {
62
- result = (condition.prefix ?? '') + result + (condition.postfix ?? '');
63
- }
64
- return result;
65
- }
66
- //# sourceMappingURL=styling.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styling.js","sourceRoot":"","sources":["../../src/browser/styling.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,YAAY,MAAM,eAAe,CAAA;AAoCxC;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,KAAiB,EACjB,OAA2B;IAE3B,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,GACxE,OAAO,IAAI,EAAE,CAAA;IAEjB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IACvC,MAAM,OAAO,GAAG,KAAK,KAAK,OAAO,CAAA;IACjC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC1B,CAAC,CAAC,QAAQ,CAAC;QACT,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,IAAI;QACf,KAAK;QACL,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,OAAO;KAChB,CAAC,CACH,CAAA;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAChC,CAAC;IAED,SAAS;IACT,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;IACxE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC1D,OAAO,WAAW,CAAA;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,OAAO,CAAU,CAAA;AAOvD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ;WAC3B,aAAa,CAAC,QAAQ,CAAC,KAAkB,CAAC,CAAA;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAU,CAAA;AAOtE;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ;WAC3B,aAAa,CAAC,QAAQ,CAAC,KAAkB,CAAC,CAAA;AACjD,CAAC;AAmCD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAgB,EAChB,SAAgC;IAEhC,IAAI,MAAM,GAAW,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAA;IAC7C,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,MAAM,GAAG,SAAS,CAAC,OAAO,IAAI,MAAM,CAAA;IACtC,CAAC;SACI,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC/B,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,MAAM,CAAA;IACrC,CAAC;IAED,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAClB,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IACxE,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}