@vltpkg/query 0.0.0-2 → 0.0.0-21
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 +39 -82
- package/dist/esm/attribute.d.ts.map +1 -1
- package/dist/esm/attribute.js +8 -13
- package/dist/esm/attribute.js.map +1 -1
- package/dist/esm/combinator.d.ts.map +1 -1
- package/dist/esm/combinator.js +5 -2
- package/dist/esm/combinator.js.map +1 -1
- package/dist/esm/id.d.ts.map +1 -1
- package/dist/esm/id.js +23 -7
- package/dist/esm/id.js.map +1 -1
- package/dist/esm/index.d.ts +35 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +280 -16
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/parser.d.ts +15 -0
- package/dist/esm/parser.d.ts.map +1 -0
- package/dist/esm/parser.js +93 -0
- package/dist/esm/parser.js.map +1 -0
- package/dist/esm/pseudo/abandoned.d.ts +7 -0
- package/dist/esm/pseudo/abandoned.d.ts.map +1 -0
- package/dist/esm/pseudo/abandoned.js +6 -0
- package/dist/esm/pseudo/abandoned.js.map +1 -0
- package/dist/esm/pseudo/attr.d.ts +2 -1
- package/dist/esm/pseudo/attr.d.ts.map +1 -1
- package/dist/esm/pseudo/attr.js +10 -2
- package/dist/esm/pseudo/attr.js.map +1 -1
- package/dist/esm/pseudo/confused.d.ts +9 -0
- package/dist/esm/pseudo/confused.d.ts.map +1 -0
- package/dist/esm/pseudo/confused.js +19 -0
- package/dist/esm/pseudo/confused.js.map +1 -0
- package/dist/esm/pseudo/cve.d.ts +13 -0
- package/dist/esm/pseudo/cve.d.ts.map +1 -0
- package/dist/esm/pseudo/cve.js +44 -0
- package/dist/esm/pseudo/cve.js.map +1 -0
- package/dist/esm/pseudo/cwe.d.ts +13 -0
- package/dist/esm/pseudo/cwe.d.ts.map +1 -0
- package/dist/esm/pseudo/cwe.js +43 -0
- package/dist/esm/pseudo/cwe.js.map +1 -0
- package/dist/esm/pseudo/debug.d.ts +7 -0
- package/dist/esm/pseudo/debug.d.ts.map +1 -0
- package/dist/esm/pseudo/debug.js +6 -0
- package/dist/esm/pseudo/debug.js.map +1 -0
- package/dist/esm/pseudo/deprecated.d.ts +7 -0
- package/dist/esm/pseudo/deprecated.d.ts.map +1 -0
- package/dist/esm/pseudo/deprecated.js +6 -0
- package/dist/esm/pseudo/deprecated.js.map +1 -0
- package/dist/esm/pseudo/dev.d.ts +6 -0
- package/dist/esm/pseudo/dev.d.ts.map +1 -0
- package/dist/esm/pseudo/dev.js +15 -0
- package/dist/esm/pseudo/dev.js.map +1 -0
- package/dist/esm/pseudo/dynamic.d.ts +7 -0
- package/dist/esm/pseudo/dynamic.d.ts.map +1 -0
- package/dist/esm/pseudo/dynamic.js +6 -0
- package/dist/esm/pseudo/dynamic.js.map +1 -0
- package/dist/esm/pseudo/empty.d.ts +7 -0
- package/dist/esm/pseudo/empty.d.ts.map +1 -0
- package/dist/esm/pseudo/empty.js +14 -0
- package/dist/esm/pseudo/empty.js.map +1 -0
- package/dist/esm/pseudo/entropic.d.ts +7 -0
- package/dist/esm/pseudo/entropic.d.ts.map +1 -0
- package/dist/esm/pseudo/entropic.js +6 -0
- package/dist/esm/pseudo/entropic.js.map +1 -0
- package/dist/esm/pseudo/env.d.ts +7 -0
- package/dist/esm/pseudo/env.d.ts.map +1 -0
- package/dist/esm/pseudo/env.js +6 -0
- package/dist/esm/pseudo/env.js.map +1 -0
- package/dist/esm/pseudo/eval.d.ts +7 -0
- package/dist/esm/pseudo/eval.d.ts.map +1 -0
- package/dist/esm/pseudo/eval.js +6 -0
- package/dist/esm/pseudo/eval.js.map +1 -0
- package/dist/esm/pseudo/fs.d.ts +7 -0
- package/dist/esm/pseudo/fs.d.ts.map +1 -0
- package/dist/esm/pseudo/fs.js +6 -0
- package/dist/esm/pseudo/fs.js.map +1 -0
- package/dist/esm/pseudo/helpers.d.ts +25 -1
- package/dist/esm/pseudo/helpers.d.ts.map +1 -1
- package/dist/esm/pseudo/helpers.js +53 -0
- package/dist/esm/pseudo/helpers.js.map +1 -1
- package/dist/esm/pseudo/license.d.ts +13 -0
- package/dist/esm/pseudo/license.d.ts.map +1 -0
- package/dist/esm/pseudo/license.js +58 -0
- package/dist/esm/pseudo/license.js.map +1 -0
- package/dist/esm/pseudo/link.d.ts +9 -0
- package/dist/esm/pseudo/link.d.ts.map +1 -0
- package/dist/esm/pseudo/link.js +25 -0
- package/dist/esm/pseudo/link.js.map +1 -0
- package/dist/esm/pseudo/malware.d.ts +15 -0
- package/dist/esm/pseudo/malware.d.ts.map +1 -0
- package/dist/esm/pseudo/malware.js +165 -0
- package/dist/esm/pseudo/malware.js.map +1 -0
- package/dist/esm/pseudo/minified.d.ts +7 -0
- package/dist/esm/pseudo/minified.d.ts.map +1 -0
- package/dist/esm/pseudo/minified.js +6 -0
- package/dist/esm/pseudo/minified.js.map +1 -0
- package/dist/esm/pseudo/missing.d.ts +8 -0
- package/dist/esm/pseudo/missing.d.ts.map +1 -0
- package/dist/esm/pseudo/missing.js +15 -0
- package/dist/esm/pseudo/missing.js.map +1 -0
- package/dist/esm/pseudo/native.d.ts +7 -0
- package/dist/esm/pseudo/native.d.ts.map +1 -0
- package/dist/esm/pseudo/native.js +6 -0
- package/dist/esm/pseudo/native.js.map +1 -0
- package/dist/esm/pseudo/network.d.ts +7 -0
- package/dist/esm/pseudo/network.d.ts.map +1 -0
- package/dist/esm/pseudo/network.js +6 -0
- package/dist/esm/pseudo/network.js.map +1 -0
- package/dist/esm/pseudo/obfuscated.d.ts +7 -0
- package/dist/esm/pseudo/obfuscated.d.ts.map +1 -0
- package/dist/esm/pseudo/obfuscated.js +6 -0
- package/dist/esm/pseudo/obfuscated.js.map +1 -0
- package/dist/esm/pseudo/optional.d.ts +6 -0
- package/dist/esm/pseudo/optional.d.ts.map +1 -0
- package/dist/esm/pseudo/optional.js +15 -0
- package/dist/esm/pseudo/optional.js.map +1 -0
- package/dist/esm/pseudo/outdated.d.ts +3 -2
- package/dist/esm/pseudo/outdated.d.ts.map +1 -1
- package/dist/esm/pseudo/outdated.js +42 -31
- package/dist/esm/pseudo/outdated.js.map +1 -1
- package/dist/esm/pseudo/overridden.d.ts +8 -0
- package/dist/esm/pseudo/overridden.d.ts.map +1 -0
- package/dist/esm/pseudo/overridden.js +17 -0
- package/dist/esm/pseudo/overridden.js.map +1 -0
- package/dist/esm/pseudo/path.d.ts +19 -0
- package/dist/esm/pseudo/path.d.ts.map +1 -0
- package/dist/esm/pseudo/path.js +113 -0
- package/dist/esm/pseudo/path.js.map +1 -0
- package/dist/esm/pseudo/peer.d.ts +6 -0
- package/dist/esm/pseudo/peer.d.ts.map +1 -0
- package/dist/esm/pseudo/peer.js +15 -0
- package/dist/esm/pseudo/peer.js.map +1 -0
- package/dist/esm/pseudo/prerelease.d.ts +18 -0
- package/dist/esm/pseudo/prerelease.d.ts.map +1 -0
- package/dist/esm/pseudo/prerelease.js +41 -0
- package/dist/esm/pseudo/prerelease.js.map +1 -0
- package/dist/esm/pseudo/private.d.ts +7 -0
- package/dist/esm/pseudo/private.d.ts.map +1 -0
- package/dist/esm/pseudo/private.js +16 -0
- package/dist/esm/pseudo/private.js.map +1 -0
- package/dist/esm/pseudo/prod.d.ts +6 -0
- package/dist/esm/pseudo/prod.d.ts.map +1 -0
- package/dist/esm/pseudo/prod.js +15 -0
- package/dist/esm/pseudo/prod.js.map +1 -0
- package/dist/esm/pseudo/published.d.ts +41 -0
- package/dist/esm/pseudo/published.d.ts.map +1 -0
- package/dist/esm/pseudo/published.js +158 -0
- package/dist/esm/pseudo/published.js.map +1 -0
- package/dist/esm/pseudo/root.d.ts +8 -0
- package/dist/esm/pseudo/root.d.ts.map +1 -0
- package/dist/esm/pseudo/root.js +22 -0
- package/dist/esm/pseudo/root.js.map +1 -0
- package/dist/esm/pseudo/scanned.d.ts +9 -0
- package/dist/esm/pseudo/scanned.d.ts.map +1 -0
- package/dist/esm/pseudo/scanned.js +17 -0
- package/dist/esm/pseudo/scanned.js.map +1 -0
- package/dist/esm/pseudo/score.d.ts +16 -0
- package/dist/esm/pseudo/score.d.ts.map +1 -0
- package/dist/esm/pseudo/score.js +119 -0
- package/dist/esm/pseudo/score.js.map +1 -0
- package/dist/esm/pseudo/scripts.d.ts +7 -0
- package/dist/esm/pseudo/scripts.d.ts.map +1 -0
- package/dist/esm/pseudo/scripts.js +6 -0
- package/dist/esm/pseudo/scripts.js.map +1 -0
- package/dist/esm/pseudo/semver.d.ts +2 -1
- package/dist/esm/pseudo/semver.d.ts.map +1 -1
- package/dist/esm/pseudo/semver.js +11 -24
- package/dist/esm/pseudo/semver.js.map +1 -1
- package/dist/esm/pseudo/severity.d.ts +15 -0
- package/dist/esm/pseudo/severity.d.ts.map +1 -0
- package/dist/esm/pseudo/severity.js +160 -0
- package/dist/esm/pseudo/severity.js.map +1 -0
- package/dist/esm/pseudo/shell.d.ts +7 -0
- package/dist/esm/pseudo/shell.d.ts.map +1 -0
- package/dist/esm/pseudo/shell.js +6 -0
- package/dist/esm/pseudo/shell.js.map +1 -0
- package/dist/esm/pseudo/shrinkwrap.d.ts +7 -0
- package/dist/esm/pseudo/shrinkwrap.d.ts.map +1 -0
- package/dist/esm/pseudo/shrinkwrap.js +6 -0
- package/dist/esm/pseudo/shrinkwrap.js.map +1 -0
- package/dist/esm/pseudo/squat.d.ts +15 -0
- package/dist/esm/pseudo/squat.d.ts.map +1 -0
- package/dist/esm/pseudo/squat.js +161 -0
- package/dist/esm/pseudo/squat.js.map +1 -0
- package/dist/esm/pseudo/suspicious.d.ts +7 -0
- package/dist/esm/pseudo/suspicious.d.ts.map +1 -0
- package/dist/esm/pseudo/suspicious.js +6 -0
- package/dist/esm/pseudo/suspicious.js.map +1 -0
- package/dist/esm/pseudo/tracker.d.ts +7 -0
- package/dist/esm/pseudo/tracker.d.ts.map +1 -0
- package/dist/esm/pseudo/tracker.js +6 -0
- package/dist/esm/pseudo/tracker.js.map +1 -0
- package/dist/esm/pseudo/trivial.d.ts +7 -0
- package/dist/esm/pseudo/trivial.d.ts.map +1 -0
- package/dist/esm/pseudo/trivial.js +6 -0
- package/dist/esm/pseudo/trivial.js.map +1 -0
- package/dist/esm/pseudo/type.d.ts +8 -0
- package/dist/esm/pseudo/type.d.ts.map +1 -0
- package/dist/esm/pseudo/type.js +22 -0
- package/dist/esm/pseudo/type.js.map +1 -0
- package/dist/esm/pseudo/undesirable.d.ts +7 -0
- package/dist/esm/pseudo/undesirable.d.ts.map +1 -0
- package/dist/esm/pseudo/undesirable.js +6 -0
- package/dist/esm/pseudo/undesirable.js.map +1 -0
- package/dist/esm/pseudo/unknown.d.ts +7 -0
- package/dist/esm/pseudo/unknown.d.ts.map +1 -0
- package/dist/esm/pseudo/unknown.js +6 -0
- package/dist/esm/pseudo/unknown.js.map +1 -0
- package/dist/esm/pseudo/unmaintained.d.ts +7 -0
- package/dist/esm/pseudo/unmaintained.d.ts.map +1 -0
- package/dist/esm/pseudo/unmaintained.js +6 -0
- package/dist/esm/pseudo/unmaintained.js.map +1 -0
- package/dist/esm/pseudo/unpopular.d.ts +7 -0
- package/dist/esm/pseudo/unpopular.d.ts.map +1 -0
- package/dist/esm/pseudo/unpopular.js +6 -0
- package/dist/esm/pseudo/unpopular.js.map +1 -0
- package/dist/esm/pseudo/unstable.d.ts +7 -0
- package/dist/esm/pseudo/unstable.d.ts.map +1 -0
- package/dist/esm/pseudo/unstable.js +6 -0
- package/dist/esm/pseudo/unstable.js.map +1 -0
- package/dist/esm/pseudo/workspace.d.ts +6 -0
- package/dist/esm/pseudo/workspace.d.ts.map +1 -0
- package/dist/esm/pseudo/workspace.js +18 -0
- package/dist/esm/pseudo/workspace.js.map +1 -0
- package/dist/esm/pseudo.d.ts.map +1 -1
- package/dist/esm/pseudo.js +141 -106
- package/dist/esm/pseudo.js.map +1 -1
- package/dist/esm/types.d.ts +86 -23
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +1 -106
- package/dist/esm/types.js.map +1 -1
- package/package.json +19 -15
- package/dist/esm/class.d.ts +0 -6
- package/dist/esm/class.d.ts.map +0 -1
- package/dist/esm/class.js +0 -128
- package/dist/esm/class.js.map +0 -1
package/dist/esm/types.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import type { EdgeLike, NodeLike } from '@vltpkg/graph';
|
|
2
2
|
import type { SpecOptions } from '@vltpkg/spec/browser';
|
|
3
|
-
import type {
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import type { SecurityArchiveLike, PackageScore } from '@vltpkg/security-archive';
|
|
4
|
+
import type { DepID } from '@vltpkg/dep-id';
|
|
5
|
+
import type { PostcssNode } from '@vltpkg/dss-parser';
|
|
6
|
+
export type Specificity = {
|
|
7
|
+
idCounter: number;
|
|
8
|
+
commonCounter: number;
|
|
9
|
+
};
|
|
6
10
|
export type GraphSelectionState = {
|
|
7
11
|
nodes: Set<NodeLike>;
|
|
8
12
|
edges: Set<EdgeLike>;
|
|
@@ -10,37 +14,96 @@ export type GraphSelectionState = {
|
|
|
10
14
|
export type ParserState = {
|
|
11
15
|
cancellable: () => Promise<void>;
|
|
12
16
|
collect: GraphSelectionState;
|
|
17
|
+
comment: string;
|
|
13
18
|
current: PostcssNode;
|
|
14
19
|
initial: GraphSelectionState;
|
|
15
20
|
loose?: boolean;
|
|
16
21
|
next?: PostcssNode;
|
|
17
22
|
prev?: PostcssNode;
|
|
18
23
|
result?: NodeLike[];
|
|
19
|
-
signal
|
|
24
|
+
signal: AbortSignal;
|
|
20
25
|
walk: ParserFn;
|
|
21
26
|
partial: GraphSelectionState;
|
|
27
|
+
retries: number;
|
|
28
|
+
securityArchive: SecurityArchiveLike | undefined;
|
|
22
29
|
specOptions: SpecOptions;
|
|
30
|
+
scopeIDs?: DepID[];
|
|
31
|
+
specificity: Specificity;
|
|
23
32
|
};
|
|
24
33
|
export type QueryResponse = {
|
|
25
|
-
edges:
|
|
26
|
-
nodes:
|
|
34
|
+
edges: QueryResponseEdge[];
|
|
35
|
+
nodes: QueryResponseNode[];
|
|
36
|
+
comment: string;
|
|
37
|
+
specificity: Specificity;
|
|
38
|
+
};
|
|
39
|
+
export type QueryResponseEdge = Omit<EdgeLike, 'from' | 'to'> & {
|
|
40
|
+
from: QueryResponseNode;
|
|
41
|
+
to?: QueryResponseNode;
|
|
42
|
+
};
|
|
43
|
+
export type QueryResponseNode = Omit<NodeLike, 'edgesIn' | 'edgesOut'> & {
|
|
44
|
+
edgesIn: Set<QueryResponseEdge>;
|
|
45
|
+
edgesOut: Map<string, QueryResponseEdge>;
|
|
46
|
+
insights: Insights;
|
|
47
|
+
toJSON: () => Pick<QueryResponseNode, 'id' | 'name' | 'version' | 'location' | 'importer' | 'manifest' | 'projectRoot' | 'integrity' | 'resolved' | 'dev' | 'optional' | 'insights' | 'confused'>;
|
|
48
|
+
};
|
|
49
|
+
export type Insights = {
|
|
50
|
+
abandoned?: boolean;
|
|
51
|
+
confused?: boolean;
|
|
52
|
+
cve?: `CVE-${string}`[];
|
|
53
|
+
cwe?: `CWE-${string}`[];
|
|
54
|
+
debug?: boolean;
|
|
55
|
+
deprecated?: boolean;
|
|
56
|
+
dynamic?: boolean;
|
|
57
|
+
entropic?: boolean;
|
|
58
|
+
env?: boolean;
|
|
59
|
+
eval?: boolean;
|
|
60
|
+
fs?: boolean;
|
|
61
|
+
license?: LicenseInsights;
|
|
62
|
+
malware?: MalwareInsights;
|
|
63
|
+
minified?: boolean;
|
|
64
|
+
native?: boolean;
|
|
65
|
+
network?: boolean;
|
|
66
|
+
obfuscated?: boolean;
|
|
67
|
+
scanned: boolean;
|
|
68
|
+
score?: PackageScore;
|
|
69
|
+
scripts?: boolean;
|
|
70
|
+
severity?: SeverityInsights;
|
|
71
|
+
shell?: boolean;
|
|
72
|
+
shrinkwrap?: boolean;
|
|
73
|
+
squat?: SquatInsights;
|
|
74
|
+
suspicious?: boolean;
|
|
75
|
+
tracker?: boolean;
|
|
76
|
+
trivial?: boolean;
|
|
77
|
+
undesirable?: boolean;
|
|
78
|
+
unknown?: boolean;
|
|
79
|
+
unmaintained?: boolean;
|
|
80
|
+
unpopular?: boolean;
|
|
81
|
+
unstable?: boolean;
|
|
82
|
+
};
|
|
83
|
+
export type LicenseInsights = {
|
|
84
|
+
unlicensed: boolean;
|
|
85
|
+
misc: boolean;
|
|
86
|
+
restricted: boolean;
|
|
87
|
+
ambiguous: boolean;
|
|
88
|
+
copyleft: boolean;
|
|
89
|
+
unknown: boolean;
|
|
90
|
+
none: boolean;
|
|
91
|
+
exception: boolean;
|
|
92
|
+
};
|
|
93
|
+
export type LeveledInsights = {
|
|
94
|
+
low: boolean;
|
|
95
|
+
medium: boolean;
|
|
96
|
+
high: boolean;
|
|
97
|
+
critical: boolean;
|
|
98
|
+
};
|
|
99
|
+
export type MalwareInsights = LeveledInsights;
|
|
100
|
+
export type SeverityInsights = LeveledInsights;
|
|
101
|
+
export type SquatInsights = {
|
|
102
|
+
medium: boolean;
|
|
103
|
+
critical: boolean;
|
|
27
104
|
};
|
|
28
105
|
export type ParserFn = (opt: ParserState) => Promise<ParserState>;
|
|
29
|
-
export
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
export declare const asAttributeNode: (node?: PostcssNode) => Attribute;
|
|
33
|
-
export declare const isClassNode: (node: unknown) => node is ClassName;
|
|
34
|
-
export declare const asClassNode: (node?: PostcssNode) => ClassName;
|
|
35
|
-
export declare const isCombinatorNode: (node: unknown) => node is Combinator;
|
|
36
|
-
export declare const asCombinatorNode: (node?: PostcssNode) => Combinator;
|
|
37
|
-
export declare const isIdentifierNode: (node: any) => node is Identifier;
|
|
38
|
-
export declare const asIdentifierNode: (node?: PostcssNode) => Identifier;
|
|
39
|
-
export declare const isSelectorNode: (node: any) => node is Selector;
|
|
40
|
-
export declare const isPseudoNode: (node: unknown) => node is Pseudo;
|
|
41
|
-
export declare const asPseudoNode: (node?: PostcssNode) => Pseudo;
|
|
42
|
-
export declare const isTagNode: (node: unknown) => node is Tag;
|
|
43
|
-
export declare const asTagNode: (node?: PostcssNode) => Tag;
|
|
44
|
-
export declare const isStringNode: (node: unknown) => node is String;
|
|
45
|
-
export declare const asStringNode: (node?: PostcssNode) => String;
|
|
106
|
+
export type ParsedSelectorToken = PostcssNode & {
|
|
107
|
+
token: string;
|
|
108
|
+
};
|
|
46
109
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/types.js
CHANGED
|
@@ -1,107 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export const isPostcssNodeWithChildren = (node) => 'type' in node && 'nodes' in node;
|
|
3
|
-
export const asPostcssNodeWithChildren = (node) => {
|
|
4
|
-
if (!node) {
|
|
5
|
-
throw error('Expected a query node');
|
|
6
|
-
}
|
|
7
|
-
if (!isPostcssNodeWithChildren(node)) {
|
|
8
|
-
throw error('Not a query selector node with children', {
|
|
9
|
-
found: node,
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
return node;
|
|
13
|
-
};
|
|
14
|
-
const isObj = (o) => !!o && typeof o === 'object';
|
|
15
|
-
export const isAttributeNode = (node) => isObj(node) && !!node.attribute && node.type === 'attribute';
|
|
16
|
-
export const asAttributeNode = (node) => {
|
|
17
|
-
if (!node) {
|
|
18
|
-
throw error('Expected a query node');
|
|
19
|
-
}
|
|
20
|
-
if (!isAttributeNode(node)) {
|
|
21
|
-
throw error('Mismatching query node', {
|
|
22
|
-
wanted: 'attribute',
|
|
23
|
-
found: node.type,
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
return node;
|
|
27
|
-
};
|
|
28
|
-
export const isClassNode = (node) => isObj(node) && !!node.value && node.type === 'class';
|
|
29
|
-
export const asClassNode = (node) => {
|
|
30
|
-
if (!node) {
|
|
31
|
-
throw error('Expected a query node');
|
|
32
|
-
}
|
|
33
|
-
if (!isClassNode(node)) {
|
|
34
|
-
throw error('Mismatching query node', {
|
|
35
|
-
wanted: 'class',
|
|
36
|
-
found: node.type,
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
return node;
|
|
40
|
-
};
|
|
41
|
-
export const isCombinatorNode = (node) => isObj(node) && !!node.value && node.type === 'combinator';
|
|
42
|
-
export const asCombinatorNode = (node) => {
|
|
43
|
-
if (!node) {
|
|
44
|
-
throw error('Expected a query node');
|
|
45
|
-
}
|
|
46
|
-
if (!isCombinatorNode(node)) {
|
|
47
|
-
throw error('Mismatching query node', {
|
|
48
|
-
wanted: 'combinator',
|
|
49
|
-
found: node.type,
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
return node;
|
|
53
|
-
};
|
|
54
|
-
export const isIdentifierNode = (node) => isObj(node) && !!node.value && node.type === 'id';
|
|
55
|
-
export const asIdentifierNode = (node) => {
|
|
56
|
-
if (!node) {
|
|
57
|
-
throw error('Expected a query node');
|
|
58
|
-
}
|
|
59
|
-
if (!isIdentifierNode(node)) {
|
|
60
|
-
throw error('Mismatching query node', {
|
|
61
|
-
wanted: 'id',
|
|
62
|
-
found: node.type,
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
return node;
|
|
66
|
-
};
|
|
67
|
-
export const isSelectorNode = (node) => isPostcssNodeWithChildren(node) && node.type === 'selector';
|
|
68
|
-
export const isPseudoNode = (node) => isObj(node) && !!node.value && node.type === 'pseudo';
|
|
69
|
-
export const asPseudoNode = (node) => {
|
|
70
|
-
if (!node) {
|
|
71
|
-
throw error('Expected a query node');
|
|
72
|
-
}
|
|
73
|
-
if (!isPseudoNode(node)) {
|
|
74
|
-
throw error('Mismatching query node', {
|
|
75
|
-
wanted: 'pseudo',
|
|
76
|
-
found: node.type,
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
return node;
|
|
80
|
-
};
|
|
81
|
-
export const isTagNode = (node) => isObj(node) && !!node.value && node.type === 'tag';
|
|
82
|
-
export const asTagNode = (node) => {
|
|
83
|
-
if (!node) {
|
|
84
|
-
throw error('Expected a query node');
|
|
85
|
-
}
|
|
86
|
-
if (!isTagNode(node)) {
|
|
87
|
-
throw error('Mismatching query node', {
|
|
88
|
-
wanted: 'tag',
|
|
89
|
-
found: node.type,
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
return node;
|
|
93
|
-
};
|
|
94
|
-
export const isStringNode = (node) => isObj(node) && !!node.value && node.type === 'string';
|
|
95
|
-
export const asStringNode = (node) => {
|
|
96
|
-
if (!node) {
|
|
97
|
-
throw error('Expected a query node');
|
|
98
|
-
}
|
|
99
|
-
if (!isStringNode(node)) {
|
|
100
|
-
throw error('Mismatching query node', {
|
|
101
|
-
wanted: 'string',
|
|
102
|
-
found: node.type,
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
return node;
|
|
106
|
-
};
|
|
1
|
+
export {};
|
|
107
2
|
//# sourceMappingURL=types.js.map
|
package/dist/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { EdgeLike, NodeLike } from '@vltpkg/graph'\nimport type { SpecOptions } from '@vltpkg/spec/browser'\nimport type {\n SecurityArchiveLike,\n PackageScore,\n} from '@vltpkg/security-archive'\nimport type { DepID } from '@vltpkg/dep-id'\nimport type { PostcssNode } from '@vltpkg/dss-parser'\n\nexport type Specificity = {\n idCounter: number\n commonCounter: number\n}\n\nexport type GraphSelectionState = {\n nodes: Set<NodeLike>\n edges: Set<EdgeLike>\n}\n\nexport type ParserState = {\n cancellable: () => Promise<void>\n collect: GraphSelectionState\n comment: string\n current: PostcssNode\n initial: GraphSelectionState\n loose?: boolean\n next?: PostcssNode\n prev?: PostcssNode\n result?: NodeLike[]\n signal: AbortSignal\n walk: ParserFn\n partial: GraphSelectionState\n retries: number\n securityArchive: SecurityArchiveLike | undefined\n specOptions: SpecOptions\n scopeIDs?: DepID[]\n specificity: Specificity\n}\n\nexport type QueryResponse = {\n edges: QueryResponseEdge[]\n nodes: QueryResponseNode[]\n comment: string\n specificity: Specificity\n}\n\nexport type QueryResponseEdge = Omit<EdgeLike, 'from' | 'to'> & {\n from: QueryResponseNode\n to?: QueryResponseNode\n}\n\nexport type QueryResponseNode = Omit<\n NodeLike,\n 'edgesIn' | 'edgesOut'\n> & {\n edgesIn: Set<QueryResponseEdge>\n edgesOut: Map<string, QueryResponseEdge>\n insights: Insights\n toJSON: () => Pick<\n QueryResponseNode,\n | 'id'\n | 'name'\n | 'version'\n | 'location'\n | 'importer'\n | 'manifest'\n | 'projectRoot'\n | 'integrity'\n | 'resolved'\n | 'dev'\n | 'optional'\n | 'insights'\n | 'confused'\n >\n}\n\nexport type Insights = {\n abandoned?: boolean\n confused?: boolean\n cve?: `CVE-${string}`[]\n cwe?: `CWE-${string}`[]\n debug?: boolean\n deprecated?: boolean\n dynamic?: boolean\n entropic?: boolean\n env?: boolean\n eval?: boolean\n fs?: boolean\n license?: LicenseInsights\n malware?: MalwareInsights\n minified?: boolean\n native?: boolean\n network?: boolean\n obfuscated?: boolean\n scanned: boolean\n score?: PackageScore\n scripts?: boolean\n severity?: SeverityInsights\n shell?: boolean\n shrinkwrap?: boolean\n squat?: SquatInsights\n suspicious?: boolean\n tracker?: boolean\n trivial?: boolean\n undesirable?: boolean\n unknown?: boolean\n unmaintained?: boolean\n unpopular?: boolean\n unstable?: boolean\n}\n\nexport type LicenseInsights = {\n unlicensed: boolean\n misc: boolean\n restricted: boolean\n ambiguous: boolean\n copyleft: boolean\n unknown: boolean\n none: boolean\n exception: boolean\n}\n\nexport type LeveledInsights = {\n low: boolean\n medium: boolean\n high: boolean\n critical: boolean\n}\n\nexport type MalwareInsights = LeveledInsights\nexport type SeverityInsights = LeveledInsights\n\nexport type SquatInsights = {\n medium: boolean\n critical: boolean\n}\n\nexport type ParserFn = (opt: ParserState) => Promise<ParserState>\n\nexport type ParsedSelectorToken = PostcssNode & {\n token: string\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vltpkg/query",
|
|
3
3
|
"description": "Query syntax parser that retrieves items from a graph",
|
|
4
|
-
"version": "0.0.0-
|
|
4
|
+
"version": "0.0.0-21",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "git+https://github.com/vltpkg/vltpkg.git",
|
|
@@ -19,25 +19,28 @@
|
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"@vltpkg/
|
|
26
|
-
"@vltpkg/
|
|
27
|
-
"@vltpkg/
|
|
22
|
+
"minimatch": "^10.0.1",
|
|
23
|
+
"p-retry": "^6.2.1",
|
|
24
|
+
"postcss-selector-parser": "^7.1.0",
|
|
25
|
+
"@vltpkg/dep-id": "0.0.0-21",
|
|
26
|
+
"@vltpkg/dss-parser": "0.0.0-21",
|
|
27
|
+
"@vltpkg/graph": "0.0.0-21",
|
|
28
|
+
"@vltpkg/error-cause": "0.0.0-21",
|
|
29
|
+
"@vltpkg/security-archive": "0.0.0-21",
|
|
30
|
+
"@vltpkg/semver": "0.0.0-21",
|
|
31
|
+
"@vltpkg/types": "0.0.0-21"
|
|
28
32
|
},
|
|
29
33
|
"devDependencies": {
|
|
30
|
-
"@eslint/js": "^9.
|
|
31
|
-
"@types/
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"prettier": "^3.4.2",
|
|
34
|
+
"@eslint/js": "^9.28.0",
|
|
35
|
+
"@types/node": "^22.15.29",
|
|
36
|
+
"eslint": "^9.28.0",
|
|
37
|
+
"prettier": "^3.6.0",
|
|
35
38
|
"tap": "^21.1.0",
|
|
36
39
|
"tshy": "^3.0.2",
|
|
37
|
-
"typedoc": "0.27.
|
|
40
|
+
"typedoc": "~0.27.9",
|
|
38
41
|
"typescript": "5.7.3",
|
|
39
|
-
"typescript-eslint": "^8.
|
|
40
|
-
"@vltpkg/spec": "0.0.0-
|
|
42
|
+
"typescript-eslint": "^8.33.1",
|
|
43
|
+
"@vltpkg/spec": "0.0.0-21"
|
|
41
44
|
},
|
|
42
45
|
"license": "BSD-2-Clause-Patent",
|
|
43
46
|
"engines": {
|
|
@@ -69,6 +72,7 @@
|
|
|
69
72
|
"snap": "tap",
|
|
70
73
|
"test": "tap",
|
|
71
74
|
"posttest": "tsc --noEmit",
|
|
75
|
+
"tshy": "tshy",
|
|
72
76
|
"typecheck": "tsc --noEmit"
|
|
73
77
|
}
|
|
74
78
|
}
|
package/dist/esm/class.d.ts
DELETED
package/dist/esm/class.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../src/class.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,WAAW,EAAE,MAAM,YAAY,CAAA;AAoHvD;;GAEG;AACH,eAAO,MAAM,OAAO,UAAiB,WAAW,yBAa/C,CAAA"}
|
package/dist/esm/class.js
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { asClassNode } from "./types.js";
|
|
2
|
-
const classSelectors = {
|
|
3
|
-
prod: async (state) => {
|
|
4
|
-
for (const edge of state.partial.edges) {
|
|
5
|
-
if (edge.type !== 'prod' || edge.from.dev) {
|
|
6
|
-
state.partial.edges.delete(edge);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
for (const node of state.partial.nodes) {
|
|
10
|
-
if (!node.edgesIn.size) {
|
|
11
|
-
state.partial.nodes.delete(node);
|
|
12
|
-
continue;
|
|
13
|
-
}
|
|
14
|
-
const iterator = new Set(node.edgesIn);
|
|
15
|
-
for (const edge of iterator) {
|
|
16
|
-
if (!state.partial.edges.has(edge)) {
|
|
17
|
-
iterator.delete(edge);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
if (!iterator.size) {
|
|
21
|
-
state.partial.nodes.delete(node);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return state;
|
|
25
|
-
},
|
|
26
|
-
dev: async (state) => {
|
|
27
|
-
for (const edge of state.partial.edges) {
|
|
28
|
-
if (edge.type !== 'dev' && !edge.from.dev) {
|
|
29
|
-
state.partial.edges.delete(edge);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
for (const node of state.partial.nodes) {
|
|
33
|
-
if (!node.edgesIn.size) {
|
|
34
|
-
state.partial.nodes.delete(node);
|
|
35
|
-
continue;
|
|
36
|
-
}
|
|
37
|
-
const iterator = new Set(node.edgesIn);
|
|
38
|
-
for (const edge of iterator) {
|
|
39
|
-
if (!state.partial.edges.has(edge)) {
|
|
40
|
-
iterator.delete(edge);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
if (!iterator.size) {
|
|
44
|
-
state.partial.nodes.delete(node);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return state;
|
|
48
|
-
},
|
|
49
|
-
optional: async (state) => {
|
|
50
|
-
for (const edge of state.partial.edges) {
|
|
51
|
-
if (edge.type !== 'optional' && !edge.from.optional) {
|
|
52
|
-
state.partial.edges.delete(edge);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
for (const node of state.partial.nodes) {
|
|
56
|
-
if (!node.edgesIn.size) {
|
|
57
|
-
state.partial.nodes.delete(node);
|
|
58
|
-
continue;
|
|
59
|
-
}
|
|
60
|
-
const iterator = new Set(node.edgesIn);
|
|
61
|
-
for (const edge of iterator) {
|
|
62
|
-
if (!state.partial.edges.has(edge)) {
|
|
63
|
-
iterator.delete(edge);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
if (!iterator.size) {
|
|
67
|
-
state.partial.nodes.delete(node);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return state;
|
|
71
|
-
},
|
|
72
|
-
peer: async (state) => {
|
|
73
|
-
for (const edge of state.partial.edges) {
|
|
74
|
-
if (edge.type !== 'peer') {
|
|
75
|
-
state.partial.edges.delete(edge);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
for (const node of state.partial.nodes) {
|
|
79
|
-
if (!node.edgesIn.size) {
|
|
80
|
-
state.partial.nodes.delete(node);
|
|
81
|
-
continue;
|
|
82
|
-
}
|
|
83
|
-
for (const e of node.edgesIn) {
|
|
84
|
-
if (!state.partial.edges.has(e)) {
|
|
85
|
-
state.partial.nodes.delete(node);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return state;
|
|
90
|
-
},
|
|
91
|
-
workspace: async (state) => {
|
|
92
|
-
for (const node of state.partial.nodes) {
|
|
93
|
-
if (!node.importer || node.mainImporter) {
|
|
94
|
-
state.partial.nodes.delete(node);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
for (const edge of state.partial.edges) {
|
|
98
|
-
// workspaces can't be missing
|
|
99
|
-
if (!edge.to) {
|
|
100
|
-
state.partial.edges.delete(edge);
|
|
101
|
-
// keep only edges that are linking to preivously kept nodes
|
|
102
|
-
}
|
|
103
|
-
else if (!state.partial.nodes.has(edge.to)) {
|
|
104
|
-
state.partial.edges.delete(edge);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return state;
|
|
108
|
-
},
|
|
109
|
-
// TBD: all things bundled
|
|
110
|
-
// bundled: () => false,
|
|
111
|
-
};
|
|
112
|
-
const classSelectorsMap = new Map(Object.entries(classSelectors));
|
|
113
|
-
/**
|
|
114
|
-
* Parse classes, e.g: `.prod`, `.dev`, `.optional`, etc
|
|
115
|
-
*/
|
|
116
|
-
export const classFn = async (state) => {
|
|
117
|
-
await state.cancellable();
|
|
118
|
-
const curr = asClassNode(state.current);
|
|
119
|
-
const comparatorFn = curr.value && classSelectorsMap.get(curr.value);
|
|
120
|
-
if (!comparatorFn) {
|
|
121
|
-
if (state.loose) {
|
|
122
|
-
return state;
|
|
123
|
-
}
|
|
124
|
-
throw new Error(`Unsupported class: ${state.current.value}`);
|
|
125
|
-
}
|
|
126
|
-
return comparatorFn(state);
|
|
127
|
-
};
|
|
128
|
-
//# sourceMappingURL=class.js.map
|
package/dist/esm/class.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"class.js","sourceRoot":"","sources":["../../src/class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGxC,MAAM,cAAc,GAA6B;IAC/C,IAAI,EAAE,KAAK,EAAE,KAAkB,EAAE,EAAE;QACjC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC1C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACvB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAChC,SAAQ;YACV,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACvB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,GAAG,EAAE,KAAK,EAAE,KAAkB,EAAE,EAAE;QAChC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC1C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACvB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAChC,SAAQ;YACV,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACvB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,QAAQ,EAAE,KAAK,EAAE,KAAkB,EAAE,EAAE;QACrC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACvB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAChC,SAAQ;YACV,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACvB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,EAAE,KAAK,EAAE,KAAkB,EAAE,EAAE;QACjC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACvB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAChC,SAAQ;YACV,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,SAAS,EAAE,KAAK,EAAE,KAAkB,EAAE,EAAE;QACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACxC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvC,8BAA8B;YAC9B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACb,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAChC,4DAA4D;YAC9D,CAAC;iBAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,0BAA0B;IAC1B,wBAAwB;CACzB,CAAA;AAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAC/B,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,KAAkB,EAAE,EAAE;IAClD,MAAM,KAAK,CAAC,WAAW,EAAE,CAAA;IAEzB,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACpE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,YAAY,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC,CAAA","sourcesContent":["import { asClassNode } from './types.ts'\nimport type { ParserFn, ParserState } from './types.ts'\n\nconst classSelectors: Record<string, ParserFn> = {\n prod: async (state: ParserState) => {\n for (const edge of state.partial.edges) {\n if (edge.type !== 'prod' || edge.from.dev) {\n state.partial.edges.delete(edge)\n }\n }\n for (const node of state.partial.nodes) {\n if (!node.edgesIn.size) {\n state.partial.nodes.delete(node)\n continue\n }\n const iterator = new Set(node.edgesIn)\n for (const edge of iterator) {\n if (!state.partial.edges.has(edge)) {\n iterator.delete(edge)\n }\n }\n if (!iterator.size) {\n state.partial.nodes.delete(node)\n }\n }\n return state\n },\n dev: async (state: ParserState) => {\n for (const edge of state.partial.edges) {\n if (edge.type !== 'dev' && !edge.from.dev) {\n state.partial.edges.delete(edge)\n }\n }\n for (const node of state.partial.nodes) {\n if (!node.edgesIn.size) {\n state.partial.nodes.delete(node)\n continue\n }\n const iterator = new Set(node.edgesIn)\n for (const edge of iterator) {\n if (!state.partial.edges.has(edge)) {\n iterator.delete(edge)\n }\n }\n if (!iterator.size) {\n state.partial.nodes.delete(node)\n }\n }\n return state\n },\n optional: async (state: ParserState) => {\n for (const edge of state.partial.edges) {\n if (edge.type !== 'optional' && !edge.from.optional) {\n state.partial.edges.delete(edge)\n }\n }\n for (const node of state.partial.nodes) {\n if (!node.edgesIn.size) {\n state.partial.nodes.delete(node)\n continue\n }\n const iterator = new Set(node.edgesIn)\n for (const edge of iterator) {\n if (!state.partial.edges.has(edge)) {\n iterator.delete(edge)\n }\n }\n if (!iterator.size) {\n state.partial.nodes.delete(node)\n }\n }\n return state\n },\n peer: async (state: ParserState) => {\n for (const edge of state.partial.edges) {\n if (edge.type !== 'peer') {\n state.partial.edges.delete(edge)\n }\n }\n for (const node of state.partial.nodes) {\n if (!node.edgesIn.size) {\n state.partial.nodes.delete(node)\n continue\n }\n for (const e of node.edgesIn) {\n if (!state.partial.edges.has(e)) {\n state.partial.nodes.delete(node)\n }\n }\n }\n return state\n },\n workspace: async (state: ParserState) => {\n for (const node of state.partial.nodes) {\n if (!node.importer || node.mainImporter) {\n state.partial.nodes.delete(node)\n }\n }\n for (const edge of state.partial.edges) {\n // workspaces can't be missing\n if (!edge.to) {\n state.partial.edges.delete(edge)\n // keep only edges that are linking to preivously kept nodes\n } else if (!state.partial.nodes.has(edge.to)) {\n state.partial.edges.delete(edge)\n }\n }\n return state\n },\n // TBD: all things bundled\n // bundled: () => false,\n}\n\nconst classSelectorsMap = new Map<string, ParserFn>(\n Object.entries(classSelectors),\n)\n\n/**\n * Parse classes, e.g: `.prod`, `.dev`, `.optional`, etc\n */\nexport const classFn = async (state: ParserState) => {\n await state.cancellable()\n\n const curr = asClassNode(state.current)\n const comparatorFn = curr.value && classSelectorsMap.get(curr.value)\n if (!comparatorFn) {\n if (state.loose) {\n return state\n }\n\n throw new Error(`Unsupported class: ${state.current.value}`)\n }\n return comparatorFn(state)\n}\n"]}
|