view-ignored 0.1.0 → 0.1.1
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/lib/browser/binds/targets.d.ts +17 -3
- package/lib/browser/binds/targets.d.ts.map +1 -1
- package/lib/browser/binds/targets.js +7 -2
- package/lib/browser/binds/targets.js.map +1 -1
- package/lib/browser/fileinfo.d.ts +47 -10
- package/lib/browser/fileinfo.d.ts.map +1 -1
- package/lib/browser/fileinfo.js +37 -7
- package/lib/browser/fileinfo.js.map +1 -1
- package/lib/browser/lib.d.ts +37 -18
- package/lib/browser/lib.d.ts.map +1 -1
- package/lib/browser/lib.js +13 -12
- package/lib/browser/lib.js.map +1 -1
- package/lib/browser/looker.d.ts +24 -5
- package/lib/browser/looker.d.ts.map +1 -1
- package/lib/browser/looker.js +9 -0
- package/lib/browser/looker.js.map +1 -1
- package/lib/browser/sorting.d.ts.map +1 -1
- package/lib/browser/sorting.js.map +1 -1
- package/lib/browser/sourcepattern.d.ts +13 -3
- package/lib/browser/sourcepattern.d.ts.map +1 -1
- package/lib/browser/sourcepattern.js +13 -2
- package/lib/browser/sourcepattern.js.map +1 -1
- package/lib/browser/styling.d.ts +31 -0
- package/lib/browser/styling.d.ts.map +1 -1
- package/lib/browser/styling.js +10 -0
- package/lib/browser/styling.js.map +1 -1
- package/lib/cli.d.ts +35 -0
- package/lib/cli.d.ts.map +1 -1
- package/lib/cli.js +33 -2
- package/lib/cli.js.map +1 -1
- package/lib/config.d.ts +76 -22
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +50 -13
- package/lib/config.js.map +1 -1
- package/lib/git.d.ts.map +1 -1
- package/lib/git.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,22 +1,37 @@
|
|
|
1
1
|
import { LookFolderOptions, Source } from "../lib.js";
|
|
2
2
|
export interface TargetBind {
|
|
3
|
+
/**
|
|
4
|
+
* The target simple name.
|
|
5
|
+
* @see {@link isValidId}
|
|
6
|
+
*/
|
|
3
7
|
id: string;
|
|
8
|
+
/**
|
|
9
|
+
* The target readable name.
|
|
10
|
+
*/
|
|
4
11
|
name: string;
|
|
12
|
+
/**
|
|
13
|
+
* The walkthrough. Files including patterns.
|
|
14
|
+
*/
|
|
5
15
|
sources: Source[];
|
|
16
|
+
/**
|
|
17
|
+
* Folder deep scanning options for the target.
|
|
18
|
+
*/
|
|
6
19
|
scanOptions?: LookFolderOptions;
|
|
7
20
|
/**
|
|
8
21
|
* Test command.
|
|
9
|
-
*
|
|
10
22
|
* @example
|
|
11
23
|
* "npm pack --dry run"
|
|
12
24
|
* "vsce ls"
|
|
13
25
|
*/
|
|
14
26
|
testCommad?: string;
|
|
15
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* @param id The target simple name.
|
|
30
|
+
* @returns `true` if the target id is valid.
|
|
31
|
+
*/
|
|
16
32
|
export declare function isValidId(id: unknown): boolean;
|
|
17
33
|
/**
|
|
18
34
|
* Allows to create targets for view-ignored scan* functions.
|
|
19
|
-
*
|
|
20
35
|
* @example
|
|
21
36
|
* scanProject("abc") // error
|
|
22
37
|
* Bindings.targetSet("abc", {...})
|
|
@@ -25,7 +40,6 @@ export declare function isValidId(id: unknown): boolean;
|
|
|
25
40
|
export declare function targetSet(bind: TargetBind): void;
|
|
26
41
|
/**
|
|
27
42
|
* Get all target ids.
|
|
28
|
-
*
|
|
29
43
|
* @example
|
|
30
44
|
* ["git", "npm", "vsce", ...]
|
|
31
45
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../../src/browser/binds/targets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAErD,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../../src/browser/binds/targets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAErD,MAAM,WAAW,UAAU;IACvB;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAA;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAE/B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAE9C;AAOD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAKhD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,EAAE,CAErC;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAK5D"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param id The target simple name.
|
|
3
|
+
* @returns `true` if the target id is valid.
|
|
4
|
+
*/
|
|
1
5
|
export function isValidId(id) {
|
|
2
6
|
return typeof id === "string" && id.match(/^[-a-zA-Z0-9]+$/) != null;
|
|
3
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* The container for binds: id=bind.
|
|
10
|
+
*/
|
|
4
11
|
const targetBindMap = new Map();
|
|
5
12
|
/**
|
|
6
13
|
* Allows to create targets for view-ignored scan* functions.
|
|
7
|
-
*
|
|
8
14
|
* @example
|
|
9
15
|
* scanProject("abc") // error
|
|
10
16
|
* Bindings.targetSet("abc", {...})
|
|
@@ -18,7 +24,6 @@ export function targetSet(bind) {
|
|
|
18
24
|
}
|
|
19
25
|
/**
|
|
20
26
|
* Get all target ids.
|
|
21
|
-
*
|
|
22
27
|
* @example
|
|
23
28
|
* ["git", "npm", "vsce", ...]
|
|
24
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"targets.js","sourceRoot":"","sources":["../../../src/browser/binds/targets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"targets.js","sourceRoot":"","sources":["../../../src/browser/binds/targets.ts"],"names":[],"mappings":"AAiCA;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,EAAW;IACjC,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAA;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,EAAsB,CAAA;AAEnD;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,IAAgB;IACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACtB,MAAM,SAAS,CAAC,6CAA6C,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;IAC5E,CAAC;IACD,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU;IACtB,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,EAAU;IAChC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,qDAAqD,EAAE,GAAG,CAAC,CAAA;IAC/E,CAAC;IACD,OAAO,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAChC,CAAC"}
|
|
@@ -1,35 +1,72 @@
|
|
|
1
1
|
import { ChalkInstance } from "chalk";
|
|
2
2
|
import { StyleName } from "./styling.js";
|
|
3
|
-
import { SourceFile } from "./lib.js";
|
|
3
|
+
import { FilterName, SourceFile } from "./lib.js";
|
|
4
4
|
import { Looker } from "./looker.js";
|
|
5
5
|
export interface FileInfoToStringOptions {
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
* @default
|
|
9
|
-
* undefined
|
|
7
|
+
* The appearance behavior of the file icon.
|
|
8
|
+
* @default undefined
|
|
10
9
|
*/
|
|
11
10
|
styleName?: StyleName;
|
|
12
11
|
/**
|
|
13
|
-
*
|
|
12
|
+
* The appearance behavior of the prefix.
|
|
13
|
+
* `"+"` for included, `"!"` for excluded.
|
|
14
|
+
* @default false
|
|
14
15
|
*/
|
|
15
16
|
usePrefix?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* The behavior of colors.
|
|
19
|
+
* @default undefined
|
|
20
|
+
*/
|
|
16
21
|
chalk?: ChalkInstance;
|
|
17
22
|
}
|
|
18
23
|
/**
|
|
19
|
-
*
|
|
24
|
+
* The result of the file path scan.
|
|
20
25
|
*/
|
|
21
26
|
export declare class FileInfo {
|
|
27
|
+
/**
|
|
28
|
+
* Relative path to the file.
|
|
29
|
+
*/
|
|
22
30
|
readonly filePath: string;
|
|
31
|
+
/**
|
|
32
|
+
* Parser instance. Can be used to determine if the file is ignored.
|
|
33
|
+
* @see {@link ignored} can be used instead of it.
|
|
34
|
+
*/
|
|
23
35
|
readonly looker: Looker;
|
|
36
|
+
/**
|
|
37
|
+
* Source of patterns, used by {@link looker}.
|
|
38
|
+
*/
|
|
24
39
|
readonly source: SourceFile;
|
|
25
|
-
|
|
26
|
-
|
|
40
|
+
constructor(
|
|
41
|
+
/**
|
|
42
|
+
* Relative path to the file.
|
|
43
|
+
*/
|
|
44
|
+
filePath: string,
|
|
45
|
+
/**
|
|
46
|
+
* Parser instance. Can be used to determine if the file is ignored.
|
|
47
|
+
* @see {@link ignored} can be used instead of it.
|
|
48
|
+
*/
|
|
49
|
+
looker: Looker,
|
|
50
|
+
/**
|
|
51
|
+
* Source of patterns, used by {@link looker}.
|
|
52
|
+
*/
|
|
53
|
+
source: SourceFile);
|
|
54
|
+
/**
|
|
55
|
+
* Determines if ignored file is ignored or not.
|
|
56
|
+
*/
|
|
57
|
+
get ignored(): boolean;
|
|
27
58
|
static from(paths: string[], looker: Looker, source?: SourceFile | string): FileInfo[];
|
|
28
59
|
static from(path: string, looker: Looker, source?: SourceFile | string): FileInfo;
|
|
29
60
|
/**
|
|
30
|
-
* @param options Styling options.
|
|
31
|
-
* @param formatEntire Determines if path base or entire
|
|
61
|
+
* @param options Styling options. Default `{}`.
|
|
62
|
+
* @param formatEntire Determines if the path's base or the entire path should be formatted. Default `true`.
|
|
63
|
+
* @returns Relative file path. Optionally formatted.
|
|
32
64
|
*/
|
|
33
65
|
toString(options?: FileInfoToStringOptions, formatEntire?: boolean): string;
|
|
66
|
+
/**
|
|
67
|
+
* @param filter The group name.
|
|
68
|
+
* @returns `true` if the file is contained by the filter.
|
|
69
|
+
*/
|
|
70
|
+
isIncludedBy(filter: FilterName): boolean;
|
|
34
71
|
}
|
|
35
72
|
//# sourceMappingURL=fileinfo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileinfo.d.ts","sourceRoot":"","sources":["../../src/browser/fileinfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAsB,SAAS,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"fileinfo.d.ts","sourceRoot":"","sources":["../../src/browser/fileinfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAsB,SAAS,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,WAAW,uBAAuB;IACvC;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;IAErB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAA;CACrB;AAED;;GAEG;AACH,qBAAa,QAAQ;IAEnB;;MAEE;aACc,QAAQ,EAAE,MAAM;IAEhC;;;OAGG;aACa,MAAM,EAAE,MAAM;IAE9B;;MAEE;aACc,MAAM,EAAE,UAAU;;IAdlC;;MAEE;IACc,QAAQ,EAAE,MAAM;IAEhC;;;OAGG;IACa,MAAM,EAAE,MAAM;IAE9B;;MAEE;IACc,MAAM,EAAE,UAAU;IAGnC;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,EAAE;IACtF,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ;IASjF;;;;OAIG;IACH,QAAQ,CAAC,OAAO,GAAE,uBAA4B,EAAE,YAAY,UAAO,GAAG,MAAM;IAkB5E;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;CAOzC"}
|
package/lib/browser/fileinfo.js
CHANGED
|
@@ -1,14 +1,32 @@
|
|
|
1
1
|
import { styleConditionFile } from "./styling.js";
|
|
2
2
|
import path from "path";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* The result of the file path scan.
|
|
5
5
|
*/
|
|
6
6
|
export class FileInfo {
|
|
7
|
-
constructor(
|
|
7
|
+
constructor(
|
|
8
|
+
/**
|
|
9
|
+
* Relative path to the file.
|
|
10
|
+
*/
|
|
11
|
+
filePath,
|
|
12
|
+
/**
|
|
13
|
+
* Parser instance. Can be used to determine if the file is ignored.
|
|
14
|
+
* @see {@link ignored} can be used instead of it.
|
|
15
|
+
*/
|
|
16
|
+
looker,
|
|
17
|
+
/**
|
|
18
|
+
* Source of patterns, used by {@link looker}.
|
|
19
|
+
*/
|
|
20
|
+
source) {
|
|
8
21
|
this.filePath = filePath;
|
|
9
22
|
this.looker = looker;
|
|
10
23
|
this.source = source;
|
|
11
|
-
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Determines if ignored file is ignored or not.
|
|
27
|
+
*/
|
|
28
|
+
get ignored() {
|
|
29
|
+
return this.looker.ignores(this.filePath);
|
|
12
30
|
}
|
|
13
31
|
static from(arg, looker, source) {
|
|
14
32
|
if (Array.isArray(arg)) {
|
|
@@ -18,11 +36,12 @@ export class FileInfo {
|
|
|
18
36
|
return new FileInfo(arg, looker, src);
|
|
19
37
|
}
|
|
20
38
|
/**
|
|
21
|
-
* @param options Styling options.
|
|
22
|
-
* @param formatEntire Determines if path base or entire
|
|
39
|
+
* @param options Styling options. Default `{}`.
|
|
40
|
+
* @param formatEntire Determines if the path's base or the entire path should be formatted. Default `true`.
|
|
41
|
+
* @returns Relative file path. Optionally formatted.
|
|
23
42
|
*/
|
|
24
|
-
toString(options, formatEntire = true) {
|
|
25
|
-
const { styleName, usePrefix = false, chalk } = options
|
|
43
|
+
toString(options = {}, formatEntire = true) {
|
|
44
|
+
const { styleName, usePrefix = false, chalk } = options;
|
|
26
45
|
const parsed = path.parse(this.filePath);
|
|
27
46
|
const fileIcon = styleConditionFile(styleName, this.filePath);
|
|
28
47
|
const prefix = usePrefix ? (this.ignored ? '!' : '+') : '';
|
|
@@ -38,5 +57,16 @@ export class FileInfo {
|
|
|
38
57
|
}
|
|
39
58
|
return parsed.dir + '/' + fileIcon + prefix + parsed.base;
|
|
40
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* @param filter The group name.
|
|
62
|
+
* @returns `true` if the file is contained by the filter.
|
|
63
|
+
*/
|
|
64
|
+
isIncludedBy(filter) {
|
|
65
|
+
const filterIgnore = (filter === "ignored") && this.ignored;
|
|
66
|
+
const filterInclude = (filter === "included") && !this.ignored;
|
|
67
|
+
const filterAll = filter === "all";
|
|
68
|
+
const result = filterIgnore || filterInclude || filterAll;
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
41
71
|
}
|
|
42
72
|
//# sourceMappingURL=fileinfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileinfo.js","sourceRoot":"","sources":["../../src/browser/fileinfo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAa,MAAM,cAAc,CAAA;AAC5D,OAAO,IAAI,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"fileinfo.js","sourceRoot":"","sources":["../../src/browser/fileinfo.ts"],"names":[],"mappings":"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"}
|
package/lib/browser/lib.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { Looker } from "./looker.js";
|
|
2
|
+
import { Looker, PatternType } from "./looker.js";
|
|
3
3
|
import FastGlob from "fast-glob";
|
|
4
4
|
import { FileInfo } from "./fileinfo.js";
|
|
5
5
|
import { SourcePattern } from "./sourcepattern.js";
|
|
@@ -13,46 +13,60 @@ import "./plugins/git.js";
|
|
|
13
13
|
import "./plugins/npm.js";
|
|
14
14
|
import "./plugins/vsce.js";
|
|
15
15
|
import "./plugins/yarn.js";
|
|
16
|
-
export type PatternType = ".*ignore" | "minimatch";
|
|
17
16
|
export declare const filterNameList: readonly ["ignored", "included", "all"];
|
|
18
17
|
export type FilterName = typeof filterNameList[number];
|
|
19
18
|
export interface FileSystemAdapter extends FastGlob.FileSystemAdapter {
|
|
20
19
|
readFileSync: (path: string) => Buffer;
|
|
21
20
|
}
|
|
22
21
|
/**
|
|
23
|
-
*
|
|
22
|
+
* The data passed to {@link ScanMethod}.
|
|
23
|
+
* @todo Rename -> ScanMethodData.
|
|
24
24
|
*/
|
|
25
25
|
export interface LookMethodData {
|
|
26
|
+
/**
|
|
27
|
+
* The {@link Looker} instance with parsed patterns.
|
|
28
|
+
*/
|
|
26
29
|
looker: Looker;
|
|
30
|
+
/**
|
|
31
|
+
* The path to the target file.
|
|
32
|
+
*/
|
|
27
33
|
filePath: string;
|
|
34
|
+
/**
|
|
35
|
+
* The information about where the patterns were taken from.
|
|
36
|
+
*/
|
|
28
37
|
sourceFile: SourceFile;
|
|
29
38
|
}
|
|
30
39
|
/**
|
|
31
|
-
*
|
|
40
|
+
* Also can write rules to the {@link Looker}.
|
|
41
|
+
* @returns `true` if the given source is valid.
|
|
32
42
|
*/
|
|
33
43
|
export type ScanMethod = (data: LookMethodData) => boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Contains file path and content.
|
|
46
|
+
*/
|
|
34
47
|
export interface SourceFile {
|
|
35
48
|
/**
|
|
36
|
-
*
|
|
49
|
+
* The source file path.
|
|
37
50
|
*/
|
|
38
51
|
path: string;
|
|
39
52
|
/**
|
|
40
|
-
*
|
|
53
|
+
* The source file content.
|
|
41
54
|
*/
|
|
42
55
|
content: string;
|
|
43
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Represents the methodology for reading the target source.
|
|
59
|
+
*/
|
|
44
60
|
export interface Source {
|
|
45
61
|
/**
|
|
46
62
|
* Git configuration property.
|
|
47
|
-
*
|
|
48
|
-
* @see {@link https://git-scm.com/docs/git-config#Documentation/git-config.txt-coreignoreCase|git-config ignorecase}.
|
|
63
|
+
* @see Official git documentation: {@link https://git-scm.com/docs/git-config#Documentation/git-config.txt-coreignoreCase|ignorecase}.
|
|
49
64
|
* @default false
|
|
50
65
|
*/
|
|
51
66
|
ignoreCase?: boolean;
|
|
52
67
|
/**
|
|
53
68
|
* Additional patterns, which will be used as
|
|
54
69
|
* other patterns in the `.gitignore` file, or `package.json` "files" property.
|
|
55
|
-
*
|
|
56
70
|
* @default []
|
|
57
71
|
*/
|
|
58
72
|
addPatterns?: string[];
|
|
@@ -65,57 +79,62 @@ export interface Source {
|
|
|
65
79
|
*/
|
|
66
80
|
patternType: PatternType;
|
|
67
81
|
/**
|
|
68
|
-
*
|
|
82
|
+
* Scanner function. Should return `true` if the given source is valid.
|
|
69
83
|
*/
|
|
70
84
|
method: ScanMethod;
|
|
71
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* File scanning options.
|
|
88
|
+
* @see {@link LookFolderOptions}
|
|
89
|
+
*/
|
|
72
90
|
export interface ScanFileOptions {
|
|
73
91
|
/**
|
|
74
92
|
* Custom implementation of methods for working with the file system.
|
|
75
|
-
*
|
|
76
93
|
* @default fs.*
|
|
77
94
|
*/
|
|
78
95
|
fs?: FileSystemAdapter;
|
|
79
96
|
/**
|
|
80
97
|
* The current working directory in which to search.
|
|
81
|
-
*
|
|
82
98
|
* @default process.cwd()
|
|
83
99
|
*/
|
|
84
100
|
cwd?: string;
|
|
85
101
|
/**
|
|
86
102
|
* Specifies the maximum number of concurrent requests from a reader to read
|
|
87
103
|
* directories.
|
|
88
|
-
*
|
|
89
104
|
* @default os.cpus().length
|
|
90
105
|
*/
|
|
91
106
|
concurrency?: number;
|
|
92
107
|
/**
|
|
93
108
|
* Specifies the maximum depth of a read directory relative to the start
|
|
94
109
|
* directory.
|
|
95
|
-
*
|
|
96
110
|
* @default Infinity
|
|
97
111
|
*/
|
|
98
112
|
deep?: number;
|
|
99
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Folder deep scanning options.
|
|
116
|
+
* @see {@link ScanFileOptions}
|
|
117
|
+
* @todo Rename -> ScanFolderOptions
|
|
118
|
+
*/
|
|
100
119
|
export interface LookFolderOptions extends ScanFileOptions {
|
|
101
120
|
/**
|
|
102
121
|
* Filter output.
|
|
103
|
-
*
|
|
104
122
|
* @default "included"
|
|
105
123
|
*/
|
|
106
124
|
filter?: FilterName;
|
|
107
125
|
}
|
|
108
126
|
/**
|
|
109
|
-
*
|
|
127
|
+
* Gets info about the file: it is ignored or not.
|
|
128
|
+
* @returns `undefined` if the source is bad.
|
|
110
129
|
*/
|
|
111
130
|
export declare function scanFile(filePath: string, sources: Source[], options: ScanFileOptions): Promise<FileInfo | undefined>;
|
|
112
131
|
/**
|
|
113
|
-
*
|
|
132
|
+
* Scans project directory paths to determine whether they are being ignored.
|
|
114
133
|
*/
|
|
115
134
|
export declare function scanPaths(allFilePaths: string[], sources: Source[], options: LookFolderOptions): Promise<FileInfo[] | undefined>;
|
|
116
135
|
export declare function scanPaths(allFilePaths: string[], target: string, options: LookFolderOptions): Promise<FileInfo[] | undefined>;
|
|
117
136
|
/**
|
|
118
|
-
*
|
|
137
|
+
* Scans project directory paths to determine whether they are being ignored.
|
|
119
138
|
*/
|
|
120
139
|
export declare function scanProject(sources: Source[], options: LookFolderOptions): Promise<FileInfo[] | undefined>;
|
|
121
140
|
export declare function scanProject(target: string, options: LookFolderOptions): Promise<FileInfo[] | undefined>;
|
package/lib/browser/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/browser/lib.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/browser/lib.ts"],"names":[],"mappings":"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"}
|
package/lib/browser/lib.js
CHANGED
|
@@ -22,9 +22,11 @@ import "./plugins/git.js";
|
|
|
22
22
|
import "./plugins/npm.js";
|
|
23
23
|
import "./plugins/vsce.js";
|
|
24
24
|
import "./plugins/yarn.js";
|
|
25
|
+
//#endregion
|
|
25
26
|
export const filterNameList = ["ignored", "included", "all"];
|
|
26
27
|
/**
|
|
27
|
-
*
|
|
28
|
+
* Gets info about the file: it is ignored or not.
|
|
29
|
+
* @returns `undefined` if the source is bad.
|
|
28
30
|
*/
|
|
29
31
|
export function scanFile(filePath, sources, options) {
|
|
30
32
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -61,23 +63,26 @@ export function scanPaths(allFilePaths, arg2, options) {
|
|
|
61
63
|
}
|
|
62
64
|
return scanPaths(allFilePaths, bind.sources, (_a = bind.scanOptions) !== null && _a !== void 0 ? _a : {});
|
|
63
65
|
}
|
|
64
|
-
// Find good source
|
|
65
66
|
const { filter = "included" } = options;
|
|
67
|
+
/** Contains parsed sources: file path = parser instance. */
|
|
66
68
|
const cache = new Map();
|
|
69
|
+
// Find good source.
|
|
67
70
|
for (const source of arg2) {
|
|
68
71
|
let goodFound = false;
|
|
69
72
|
const resultList = [];
|
|
70
|
-
const sourceList = source.sources instanceof SourcePattern
|
|
73
|
+
const sourceList = source.sources instanceof SourcePattern
|
|
74
|
+
? yield source.sources.read(options)
|
|
75
|
+
: source.sources;
|
|
71
76
|
for (const filePath of allFilePaths) {
|
|
72
77
|
const possibleSource = findDomination(filePath, sourceList);
|
|
73
|
-
if (possibleSource
|
|
78
|
+
if (!possibleSource) {
|
|
74
79
|
break;
|
|
75
80
|
}
|
|
76
81
|
const looker = cache.get(possibleSource.path);
|
|
77
82
|
let info;
|
|
78
|
-
if (looker
|
|
83
|
+
if (!looker) {
|
|
79
84
|
const newInfo = yield scanFile(filePath, [source], options);
|
|
80
|
-
if (newInfo
|
|
85
|
+
if (!newInfo) {
|
|
81
86
|
break;
|
|
82
87
|
}
|
|
83
88
|
info = newInfo;
|
|
@@ -86,20 +91,16 @@ export function scanPaths(allFilePaths, arg2, options) {
|
|
|
86
91
|
else {
|
|
87
92
|
info = FileInfo.from(filePath, looker, possibleSource);
|
|
88
93
|
}
|
|
89
|
-
const
|
|
90
|
-
const filterInclude = (filter === "included") && !info.ignored;
|
|
91
|
-
const filterAll = filter === "all";
|
|
92
|
-
const shouldPush = filterIgnore || filterInclude || filterAll;
|
|
94
|
+
const shouldPush = info.isIncludedBy(filter);
|
|
93
95
|
if (shouldPush) {
|
|
94
96
|
resultList.push(info);
|
|
95
97
|
}
|
|
96
|
-
goodFound
|
|
98
|
+
goodFound = true;
|
|
97
99
|
}
|
|
98
100
|
if (goodFound) {
|
|
99
101
|
return resultList;
|
|
100
102
|
}
|
|
101
103
|
}
|
|
102
|
-
return undefined;
|
|
103
104
|
});
|
|
104
105
|
}
|
|
105
106
|
export function scanProject(arg, options) {
|
package/lib/browser/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/browser/lib.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/browser/lib.ts"],"names":[],"mappings":"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"}
|
package/lib/browser/looker.d.ts
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Supported matchers/parsers by {@link Looker}.
|
|
3
|
+
*/
|
|
4
|
+
export type PatternType = ".*ignore" | "minimatch";
|
|
2
5
|
export interface LookerOptions {
|
|
3
6
|
/**
|
|
4
7
|
* @see {@link Looker.isNegated}
|
|
5
8
|
*/
|
|
6
9
|
negated?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* The parser for the patterns.
|
|
12
|
+
*/
|
|
7
13
|
patternType?: PatternType;
|
|
8
14
|
/**
|
|
9
15
|
* Git configuration property.
|
|
10
|
-
*
|
|
11
16
|
* @see {@link https://git-scm.com/docs/git-config#Documentation/git-config.txt-coreignoreCase|git-config ignorecase}.
|
|
12
17
|
* @default false
|
|
13
18
|
*/
|
|
@@ -15,30 +20,44 @@ export interface LookerOptions {
|
|
|
15
20
|
/**
|
|
16
21
|
* Additional patterns, which will be used as
|
|
17
22
|
* other patterns in the `.gitignore` file, or `package.json` "files" property.
|
|
18
|
-
*
|
|
19
23
|
* @default []
|
|
20
24
|
*/
|
|
21
25
|
addPatterns?: string[];
|
|
22
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* The Glob-like pattern of the specific matcher.
|
|
29
|
+
*/
|
|
23
30
|
export type LookerPattern = string | string[];
|
|
31
|
+
/**
|
|
32
|
+
* The pattern parser. Can check if the file path is ignored.
|
|
33
|
+
*/
|
|
24
34
|
export declare class Looker {
|
|
25
35
|
/**
|
|
26
36
|
* If `true`, when calling {@link Looker.ignores}, method will return `true` for ignored path.
|
|
27
|
-
*
|
|
28
37
|
* @default false
|
|
29
38
|
*/
|
|
30
39
|
isNegated: boolean;
|
|
31
40
|
/**
|
|
32
41
|
* Defines way to check paths.
|
|
33
|
-
*
|
|
34
42
|
* @default ".*ignore"
|
|
35
43
|
*/
|
|
36
44
|
patternType: PatternType;
|
|
45
|
+
/**
|
|
46
|
+
* Git configuration property.
|
|
47
|
+
* @see {@link https://git-scm.com/docs/git-config#Documentation/git-config.txt-coreignoreCase|git-config ignorecase}.
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
37
50
|
readonly ignoreCase: boolean;
|
|
38
51
|
private patternList;
|
|
39
52
|
private ignoreInstance;
|
|
40
53
|
constructor(options?: LookerOptions);
|
|
54
|
+
/**
|
|
55
|
+
* Clone instance.
|
|
56
|
+
*/
|
|
41
57
|
clone(): Looker;
|
|
58
|
+
/**
|
|
59
|
+
* Invert checking for the {@link add} method.
|
|
60
|
+
*/
|
|
42
61
|
negate(): this;
|
|
43
62
|
/**
|
|
44
63
|
* Adds new ignore rule.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"looker.d.ts","sourceRoot":"","sources":["../../src/browser/looker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"looker.d.ts","sourceRoot":"","sources":["../../src/browser/looker.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,WAAW,CAAA;AAElD,MAAM,WAAW,aAAa;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAA;IAEzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;AAE7C;;GAEG;AACH,qBAAa,MAAM;IAClB;;;OAGG;IACI,SAAS,EAAE,OAAO,CAAA;IAEzB;;;OAGG;IACI,WAAW,EAAE,WAAW,CAAA;IAE/B;;;;OAIG;IACH,SAAgB,UAAU,EAAE,OAAO,CAAA;IACnC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,cAAc,CAAQ;gBAElB,OAAO,CAAC,EAAE,aAAa;IAQnC;;OAEG;IACH,KAAK,IAAI,MAAM;IASf;;OAEG;IACH,MAAM,IAAI,IAAI;IAKd;;;OAGG;IACH,GAAG,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAajC;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAU9B;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;CAiB/C"}
|
package/lib/browser/looker.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import ignore from "ignore";
|
|
2
2
|
import { minimatch } from "minimatch";
|
|
3
|
+
/**
|
|
4
|
+
* The pattern parser. Can check if the file path is ignored.
|
|
5
|
+
*/
|
|
3
6
|
export class Looker {
|
|
4
7
|
constructor(options) {
|
|
5
8
|
var _a, _b, _c, _d;
|
|
@@ -10,6 +13,9 @@ export class Looker {
|
|
|
10
13
|
this.ignoreInstance = ignore.default(options);
|
|
11
14
|
this.add((_d = options === null || options === void 0 ? void 0 : options.addPatterns) !== null && _d !== void 0 ? _d : []);
|
|
12
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Clone instance.
|
|
18
|
+
*/
|
|
13
19
|
clone() {
|
|
14
20
|
const cloned = new Looker({
|
|
15
21
|
addPatterns: this.patternList,
|
|
@@ -18,6 +24,9 @@ export class Looker {
|
|
|
18
24
|
});
|
|
19
25
|
return cloned;
|
|
20
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Invert checking for the {@link add} method.
|
|
29
|
+
*/
|
|
21
30
|
negate() {
|
|
22
31
|
this.isNegated = !this.isNegated;
|
|
23
32
|
return this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"looker.js","sourceRoot":"","sources":["../../src/browser/looker.ts"],"names":[],"mappings":"AAAA,OAAO,MAAkB,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"looker.js","sourceRoot":"","sources":["../../src/browser/looker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sorting.d.ts","sourceRoot":"","sources":["../../src/browser/sorting.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,sEAAuE,CAAA;AAChG,MAAM,MAAM,QAAQ,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;AAClD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;AAUvD,eAAO,MAAM,OAAO;IACnB;;;OAGG;+BACa,MAAM,KAAK,MAAM,KAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"sorting.d.ts","sourceRoot":"","sources":["../../src/browser/sorting.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,sEAAuE,CAAA;AAChG,MAAM,MAAM,QAAQ,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;AAClD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;AAUvD,eAAO,MAAM,OAAO;IACnB;;;OAGG;+BACa,MAAM,KAAK,MAAM,KAAG,MAAM;IAsB1C;;;OAGG;6BACW,MAAM,KAAK,MAAM,KAAG,MAAM;IAsBxC;;;OAGG;2BACS,MAAM,KAAK,MAAM,SAAS,IAAI,SAAS,IAAI,KAAG,MAAM;IAsBhE;;;OAGG;uBACK,MAAM,KAAK,MAAM,KAAG,MAAM;IAwBlC;;;OAGG;wBACM,MAAM,KAAK,MAAM,KAAG,MAAM;CAG1B,CAAA"}
|