@vltpkg/query 1.0.0-rc.2 → 1.0.0-rc.23

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 (246) hide show
  1. package/package.json +36 -47
  2. package/dist/esm/attribute.d.ts +0 -15
  3. package/dist/esm/attribute.d.ts.map +0 -1
  4. package/dist/esm/attribute.js +0 -133
  5. package/dist/esm/attribute.js.map +0 -1
  6. package/dist/esm/combinator.d.ts +0 -6
  7. package/dist/esm/combinator.d.ts.map +0 -1
  8. package/dist/esm/combinator.js +0 -112
  9. package/dist/esm/combinator.js.map +0 -1
  10. package/dist/esm/id.d.ts +0 -6
  11. package/dist/esm/id.d.ts.map +0 -1
  12. package/dist/esm/id.js +0 -36
  13. package/dist/esm/id.js.map +0 -1
  14. package/dist/esm/index.d.ts +0 -48
  15. package/dist/esm/index.d.ts.map +0 -1
  16. package/dist/esm/index.js +0 -408
  17. package/dist/esm/index.js.map +0 -1
  18. package/dist/esm/package.json +0 -3
  19. package/dist/esm/parser.d.ts +0 -15
  20. package/dist/esm/parser.d.ts.map +0 -1
  21. package/dist/esm/parser.js +0 -93
  22. package/dist/esm/parser.js.map +0 -1
  23. package/dist/esm/pseudo/abandoned.d.ts +0 -7
  24. package/dist/esm/pseudo/abandoned.d.ts.map +0 -1
  25. package/dist/esm/pseudo/abandoned.js +0 -6
  26. package/dist/esm/pseudo/abandoned.js.map +0 -1
  27. package/dist/esm/pseudo/attr.d.ts +0 -19
  28. package/dist/esm/pseudo/attr.d.ts.map +0 -1
  29. package/dist/esm/pseudo/attr.js +0 -58
  30. package/dist/esm/pseudo/attr.js.map +0 -1
  31. package/dist/esm/pseudo/built.d.ts +0 -8
  32. package/dist/esm/pseudo/built.d.ts.map +0 -1
  33. package/dist/esm/pseudo/built.js +0 -16
  34. package/dist/esm/pseudo/built.js.map +0 -1
  35. package/dist/esm/pseudo/confused.d.ts +0 -9
  36. package/dist/esm/pseudo/confused.d.ts.map +0 -1
  37. package/dist/esm/pseudo/confused.js +0 -19
  38. package/dist/esm/pseudo/confused.js.map +0 -1
  39. package/dist/esm/pseudo/cve.d.ts +0 -13
  40. package/dist/esm/pseudo/cve.d.ts.map +0 -1
  41. package/dist/esm/pseudo/cve.js +0 -44
  42. package/dist/esm/pseudo/cve.js.map +0 -1
  43. package/dist/esm/pseudo/cwe.d.ts +0 -13
  44. package/dist/esm/pseudo/cwe.d.ts.map +0 -1
  45. package/dist/esm/pseudo/cwe.js +0 -43
  46. package/dist/esm/pseudo/cwe.js.map +0 -1
  47. package/dist/esm/pseudo/debug.d.ts +0 -7
  48. package/dist/esm/pseudo/debug.d.ts.map +0 -1
  49. package/dist/esm/pseudo/debug.js +0 -6
  50. package/dist/esm/pseudo/debug.js.map +0 -1
  51. package/dist/esm/pseudo/deprecated.d.ts +0 -7
  52. package/dist/esm/pseudo/deprecated.d.ts.map +0 -1
  53. package/dist/esm/pseudo/deprecated.js +0 -6
  54. package/dist/esm/pseudo/deprecated.js.map +0 -1
  55. package/dist/esm/pseudo/dev.d.ts +0 -6
  56. package/dist/esm/pseudo/dev.d.ts.map +0 -1
  57. package/dist/esm/pseudo/dev.js +0 -15
  58. package/dist/esm/pseudo/dev.js.map +0 -1
  59. package/dist/esm/pseudo/dynamic.d.ts +0 -7
  60. package/dist/esm/pseudo/dynamic.d.ts.map +0 -1
  61. package/dist/esm/pseudo/dynamic.js +0 -6
  62. package/dist/esm/pseudo/dynamic.js.map +0 -1
  63. package/dist/esm/pseudo/empty.d.ts +0 -7
  64. package/dist/esm/pseudo/empty.d.ts.map +0 -1
  65. package/dist/esm/pseudo/empty.js +0 -14
  66. package/dist/esm/pseudo/empty.js.map +0 -1
  67. package/dist/esm/pseudo/entropic.d.ts +0 -7
  68. package/dist/esm/pseudo/entropic.d.ts.map +0 -1
  69. package/dist/esm/pseudo/entropic.js +0 -6
  70. package/dist/esm/pseudo/entropic.js.map +0 -1
  71. package/dist/esm/pseudo/env.d.ts +0 -7
  72. package/dist/esm/pseudo/env.d.ts.map +0 -1
  73. package/dist/esm/pseudo/env.js +0 -6
  74. package/dist/esm/pseudo/env.js.map +0 -1
  75. package/dist/esm/pseudo/eval.d.ts +0 -7
  76. package/dist/esm/pseudo/eval.d.ts.map +0 -1
  77. package/dist/esm/pseudo/eval.js +0 -6
  78. package/dist/esm/pseudo/eval.js.map +0 -1
  79. package/dist/esm/pseudo/fs.d.ts +0 -7
  80. package/dist/esm/pseudo/fs.d.ts.map +0 -1
  81. package/dist/esm/pseudo/fs.js +0 -6
  82. package/dist/esm/pseudo/fs.js.map +0 -1
  83. package/dist/esm/pseudo/helpers.d.ts +0 -39
  84. package/dist/esm/pseudo/helpers.d.ts.map +0 -1
  85. package/dist/esm/pseudo/helpers.js +0 -77
  86. package/dist/esm/pseudo/helpers.js.map +0 -1
  87. package/dist/esm/pseudo/host.d.ts +0 -20
  88. package/dist/esm/pseudo/host.d.ts.map +0 -1
  89. package/dist/esm/pseudo/host.js +0 -80
  90. package/dist/esm/pseudo/host.js.map +0 -1
  91. package/dist/esm/pseudo/license.d.ts +0 -13
  92. package/dist/esm/pseudo/license.d.ts.map +0 -1
  93. package/dist/esm/pseudo/license.js +0 -75
  94. package/dist/esm/pseudo/license.js.map +0 -1
  95. package/dist/esm/pseudo/link.d.ts +0 -9
  96. package/dist/esm/pseudo/link.d.ts.map +0 -1
  97. package/dist/esm/pseudo/link.js +0 -25
  98. package/dist/esm/pseudo/link.js.map +0 -1
  99. package/dist/esm/pseudo/malware.d.ts +0 -24
  100. package/dist/esm/pseudo/malware.d.ts.map +0 -1
  101. package/dist/esm/pseudo/malware.js +0 -187
  102. package/dist/esm/pseudo/malware.js.map +0 -1
  103. package/dist/esm/pseudo/minified.d.ts +0 -7
  104. package/dist/esm/pseudo/minified.d.ts.map +0 -1
  105. package/dist/esm/pseudo/minified.js +0 -6
  106. package/dist/esm/pseudo/minified.js.map +0 -1
  107. package/dist/esm/pseudo/missing.d.ts +0 -8
  108. package/dist/esm/pseudo/missing.d.ts.map +0 -1
  109. package/dist/esm/pseudo/missing.js +0 -15
  110. package/dist/esm/pseudo/missing.js.map +0 -1
  111. package/dist/esm/pseudo/native.d.ts +0 -7
  112. package/dist/esm/pseudo/native.d.ts.map +0 -1
  113. package/dist/esm/pseudo/native.js +0 -6
  114. package/dist/esm/pseudo/native.js.map +0 -1
  115. package/dist/esm/pseudo/network.d.ts +0 -7
  116. package/dist/esm/pseudo/network.d.ts.map +0 -1
  117. package/dist/esm/pseudo/network.js +0 -6
  118. package/dist/esm/pseudo/network.js.map +0 -1
  119. package/dist/esm/pseudo/obfuscated.d.ts +0 -7
  120. package/dist/esm/pseudo/obfuscated.d.ts.map +0 -1
  121. package/dist/esm/pseudo/obfuscated.js +0 -6
  122. package/dist/esm/pseudo/obfuscated.js.map +0 -1
  123. package/dist/esm/pseudo/optional.d.ts +0 -6
  124. package/dist/esm/pseudo/optional.d.ts.map +0 -1
  125. package/dist/esm/pseudo/optional.js +0 -15
  126. package/dist/esm/pseudo/optional.js.map +0 -1
  127. package/dist/esm/pseudo/outdated.d.ts +0 -54
  128. package/dist/esm/pseudo/outdated.d.ts.map +0 -1
  129. package/dist/esm/pseudo/outdated.js +0 -212
  130. package/dist/esm/pseudo/outdated.js.map +0 -1
  131. package/dist/esm/pseudo/overridden.d.ts +0 -8
  132. package/dist/esm/pseudo/overridden.d.ts.map +0 -1
  133. package/dist/esm/pseudo/overridden.js +0 -17
  134. package/dist/esm/pseudo/overridden.js.map +0 -1
  135. package/dist/esm/pseudo/path.d.ts +0 -19
  136. package/dist/esm/pseudo/path.d.ts.map +0 -1
  137. package/dist/esm/pseudo/path.js +0 -113
  138. package/dist/esm/pseudo/path.js.map +0 -1
  139. package/dist/esm/pseudo/peer.d.ts +0 -6
  140. package/dist/esm/pseudo/peer.d.ts.map +0 -1
  141. package/dist/esm/pseudo/peer.js +0 -15
  142. package/dist/esm/pseudo/peer.js.map +0 -1
  143. package/dist/esm/pseudo/prerelease.d.ts +0 -18
  144. package/dist/esm/pseudo/prerelease.d.ts.map +0 -1
  145. package/dist/esm/pseudo/prerelease.js +0 -41
  146. package/dist/esm/pseudo/prerelease.js.map +0 -1
  147. package/dist/esm/pseudo/private.d.ts +0 -7
  148. package/dist/esm/pseudo/private.d.ts.map +0 -1
  149. package/dist/esm/pseudo/private.js +0 -16
  150. package/dist/esm/pseudo/private.js.map +0 -1
  151. package/dist/esm/pseudo/prod.d.ts +0 -6
  152. package/dist/esm/pseudo/prod.d.ts.map +0 -1
  153. package/dist/esm/pseudo/prod.js +0 -15
  154. package/dist/esm/pseudo/prod.js.map +0 -1
  155. package/dist/esm/pseudo/published.d.ts +0 -40
  156. package/dist/esm/pseudo/published.d.ts.map +0 -1
  157. package/dist/esm/pseudo/published.js +0 -180
  158. package/dist/esm/pseudo/published.js.map +0 -1
  159. package/dist/esm/pseudo/root.d.ts +0 -7
  160. package/dist/esm/pseudo/root.d.ts.map +0 -1
  161. package/dist/esm/pseudo/root.js +0 -18
  162. package/dist/esm/pseudo/root.js.map +0 -1
  163. package/dist/esm/pseudo/scanned.d.ts +0 -9
  164. package/dist/esm/pseudo/scanned.d.ts.map +0 -1
  165. package/dist/esm/pseudo/scanned.js +0 -17
  166. package/dist/esm/pseudo/scanned.js.map +0 -1
  167. package/dist/esm/pseudo/score.d.ts +0 -16
  168. package/dist/esm/pseudo/score.d.ts.map +0 -1
  169. package/dist/esm/pseudo/score.js +0 -133
  170. package/dist/esm/pseudo/score.js.map +0 -1
  171. package/dist/esm/pseudo/scripts.d.ts +0 -10
  172. package/dist/esm/pseudo/scripts.d.ts.map +0 -1
  173. package/dist/esm/pseudo/scripts.js +0 -44
  174. package/dist/esm/pseudo/scripts.js.map +0 -1
  175. package/dist/esm/pseudo/semver.d.ts +0 -17
  176. package/dist/esm/pseudo/semver.d.ts.map +0 -1
  177. package/dist/esm/pseudo/semver.js +0 -167
  178. package/dist/esm/pseudo/semver.js.map +0 -1
  179. package/dist/esm/pseudo/severity.d.ts +0 -15
  180. package/dist/esm/pseudo/severity.d.ts.map +0 -1
  181. package/dist/esm/pseudo/severity.js +0 -160
  182. package/dist/esm/pseudo/severity.js.map +0 -1
  183. package/dist/esm/pseudo/shell.d.ts +0 -7
  184. package/dist/esm/pseudo/shell.d.ts.map +0 -1
  185. package/dist/esm/pseudo/shell.js +0 -6
  186. package/dist/esm/pseudo/shell.js.map +0 -1
  187. package/dist/esm/pseudo/shrinkwrap.d.ts +0 -7
  188. package/dist/esm/pseudo/shrinkwrap.d.ts.map +0 -1
  189. package/dist/esm/pseudo/shrinkwrap.js +0 -6
  190. package/dist/esm/pseudo/shrinkwrap.js.map +0 -1
  191. package/dist/esm/pseudo/spec.d.ts +0 -17
  192. package/dist/esm/pseudo/spec.d.ts.map +0 -1
  193. package/dist/esm/pseudo/spec.js +0 -102
  194. package/dist/esm/pseudo/spec.js.map +0 -1
  195. package/dist/esm/pseudo/squat.d.ts +0 -15
  196. package/dist/esm/pseudo/squat.d.ts.map +0 -1
  197. package/dist/esm/pseudo/squat.js +0 -172
  198. package/dist/esm/pseudo/squat.js.map +0 -1
  199. package/dist/esm/pseudo/suspicious.d.ts +0 -7
  200. package/dist/esm/pseudo/suspicious.d.ts.map +0 -1
  201. package/dist/esm/pseudo/suspicious.js +0 -6
  202. package/dist/esm/pseudo/suspicious.js.map +0 -1
  203. package/dist/esm/pseudo/tracker.d.ts +0 -7
  204. package/dist/esm/pseudo/tracker.d.ts.map +0 -1
  205. package/dist/esm/pseudo/tracker.js +0 -6
  206. package/dist/esm/pseudo/tracker.js.map +0 -1
  207. package/dist/esm/pseudo/trivial.d.ts +0 -7
  208. package/dist/esm/pseudo/trivial.d.ts.map +0 -1
  209. package/dist/esm/pseudo/trivial.js +0 -6
  210. package/dist/esm/pseudo/trivial.js.map +0 -1
  211. package/dist/esm/pseudo/type.d.ts +0 -8
  212. package/dist/esm/pseudo/type.d.ts.map +0 -1
  213. package/dist/esm/pseudo/type.js +0 -22
  214. package/dist/esm/pseudo/type.js.map +0 -1
  215. package/dist/esm/pseudo/undesirable.d.ts +0 -7
  216. package/dist/esm/pseudo/undesirable.d.ts.map +0 -1
  217. package/dist/esm/pseudo/undesirable.js +0 -6
  218. package/dist/esm/pseudo/undesirable.js.map +0 -1
  219. package/dist/esm/pseudo/unknown.d.ts +0 -7
  220. package/dist/esm/pseudo/unknown.d.ts.map +0 -1
  221. package/dist/esm/pseudo/unknown.js +0 -6
  222. package/dist/esm/pseudo/unknown.js.map +0 -1
  223. package/dist/esm/pseudo/unmaintained.d.ts +0 -7
  224. package/dist/esm/pseudo/unmaintained.d.ts.map +0 -1
  225. package/dist/esm/pseudo/unmaintained.js +0 -6
  226. package/dist/esm/pseudo/unmaintained.js.map +0 -1
  227. package/dist/esm/pseudo/unpopular.d.ts +0 -7
  228. package/dist/esm/pseudo/unpopular.d.ts.map +0 -1
  229. package/dist/esm/pseudo/unpopular.js +0 -6
  230. package/dist/esm/pseudo/unpopular.js.map +0 -1
  231. package/dist/esm/pseudo/unstable.d.ts +0 -7
  232. package/dist/esm/pseudo/unstable.d.ts.map +0 -1
  233. package/dist/esm/pseudo/unstable.js +0 -6
  234. package/dist/esm/pseudo/unstable.js.map +0 -1
  235. package/dist/esm/pseudo/workspace.d.ts +0 -6
  236. package/dist/esm/pseudo/workspace.d.ts.map +0 -1
  237. package/dist/esm/pseudo/workspace.js +0 -20
  238. package/dist/esm/pseudo/workspace.js.map +0 -1
  239. package/dist/esm/pseudo.d.ts +0 -6
  240. package/dist/esm/pseudo.d.ts.map +0 -1
  241. package/dist/esm/pseudo.js +0 -361
  242. package/dist/esm/pseudo.js.map +0 -1
  243. package/dist/esm/types.d.ts +0 -118
  244. package/dist/esm/types.d.ts.map +0 -1
  245. package/dist/esm/types.js +0 -2
  246. package/dist/esm/types.js.map +0 -1
@@ -1,6 +0,0 @@
1
- import { createSecuritySelectorFilter } from "./helpers.js";
2
- /**
3
- * Filters out any node that does not have a **unpopularPackage** report alert.
4
- */
5
- export const unpopular = createSecuritySelectorFilter('unpopular', 'unpopularPackage');
6
- //# sourceMappingURL=unpopular.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unpopular.js","sourceRoot":"","sources":["../../../src/pseudo/unpopular.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAA;AAE3D;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,4BAA4B,CACnD,WAAW,EACX,kBAAkB,CACnB,CAAA","sourcesContent":["import { createSecuritySelectorFilter } from './helpers.ts'\n\n/**\n * Filters out any node that does not have a **unpopularPackage** report alert.\n */\nexport const unpopular = createSecuritySelectorFilter(\n 'unpopular',\n 'unpopularPackage',\n)\n"]}
@@ -1,7 +0,0 @@
1
- /**
2
- * Filters out any node that does not have a **unstableOwnership** report alert.
3
- */
4
- export declare const unstable: (state: import("../types.ts").ParserState) => Promise<import("../types.ts").ParserState & {
5
- securityArchive: NonNullable<import("../types.ts").ParserState["securityArchive"]>;
6
- }>;
7
- //# sourceMappingURL=unstable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unstable.d.ts","sourceRoot":"","sources":["../../../src/pseudo/unstable.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,QAAQ;;EAGpB,CAAA"}
@@ -1,6 +0,0 @@
1
- import { createSecuritySelectorFilter } from "./helpers.js";
2
- /**
3
- * Filters out any node that does not have a **unstableOwnership** report alert.
4
- */
5
- export const unstable = createSecuritySelectorFilter('unstable', 'unstableOwnership');
6
- //# sourceMappingURL=unstable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unstable.js","sourceRoot":"","sources":["../../../src/pseudo/unstable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAA;AAE3D;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,4BAA4B,CAClD,UAAU,EACV,mBAAmB,CACpB,CAAA","sourcesContent":["import { createSecuritySelectorFilter } from './helpers.ts'\n\n/**\n * Filters out any node that does not have a **unstableOwnership** report alert.\n */\nexport const unstable = createSecuritySelectorFilter(\n 'unstable',\n 'unstableOwnership',\n)\n"]}
@@ -1,6 +0,0 @@
1
- import type { ParserState } from '../types.ts';
2
- /**
3
- * :workspace Pseudo-Selector will only match workspace dependencies.
4
- */
5
- export declare const workspace: (state: ParserState) => Promise<ParserState>;
6
- //# sourceMappingURL=workspace.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../../src/pseudo/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAG9C;;GAEG;AACH,eAAO,MAAM,SAAS,UAAiB,WAAW,yBAejD,CAAA"}
@@ -1,20 +0,0 @@
1
- import { removeNode } from "./helpers.js";
2
- /**
3
- * :workspace Pseudo-Selector will only match workspace dependencies.
4
- */
5
- export const workspace = async (state) => {
6
- // Filter out the root node and any nodes that are not marked as workspaces
7
- for (const node of state.partial.nodes) {
8
- if (!node.importer || node.mainImporter) {
9
- removeNode(state, node);
10
- }
11
- }
12
- // Clears up any edges that are not pointing to workspace nodes
13
- for (const edge of state.partial.edges) {
14
- if (edge.to?.importer && !edge.to.mainImporter)
15
- continue;
16
- state.partial.edges.delete(edge);
17
- }
18
- return state;
19
- };
20
- //# sourceMappingURL=workspace.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/pseudo/workspace.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,KAAkB,EAAE,EAAE;IACpD,2EAA2E;IAC3E,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACxC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,EAAE,EAAE,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY;YAAE,SAAQ;QACxD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA","sourcesContent":["import type { ParserState } from '../types.ts'\nimport { removeNode } from './helpers.ts'\n\n/**\n * :workspace Pseudo-Selector will only match workspace dependencies.\n */\nexport const workspace = async (state: ParserState) => {\n // Filter out the root node and any nodes that are not marked as workspaces\n for (const node of state.partial.nodes) {\n if (!node.importer || node.mainImporter) {\n removeNode(state, node)\n }\n }\n\n // Clears up any edges that are not pointing to workspace nodes\n for (const edge of state.partial.edges) {\n if (edge.to?.importer && !edge.to.mainImporter) continue\n state.partial.edges.delete(edge)\n }\n\n return state\n}\n"]}
@@ -1,6 +0,0 @@
1
- import type { ParserState } from './types.ts';
2
- /**
3
- * Parsers the `pseudo` node types.
4
- */
5
- export declare const pseudo: (state: ParserState) => Promise<ParserState>;
6
- //# sourceMappingURL=pseudo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pseudo.d.ts","sourceRoot":"","sources":["../../src/pseudo.ts"],"names":[],"mappings":"AAgEA,OAAO,KAAK,EAAY,WAAW,EAAE,MAAM,YAAY,CAAA;AAuSvD;;GAEG;AACH,eAAO,MAAM,MAAM,UAAiB,WAAW,yBAkC9C,CAAA"}
@@ -1,361 +0,0 @@
1
- import { error } from '@vltpkg/error-cause';
2
- import { removeDanglingEdges, removeNode } from "./pseudo/helpers.js";
3
- import { asPostcssNodeWithChildren, asPseudoNode, isSelectorNode, } from '@vltpkg/dss-parser';
4
- // imported pseudo selectors
5
- import { abandoned } from "./pseudo/abandoned.js";
6
- import { attr } from "./pseudo/attr.js";
7
- import { built } from "./pseudo/built.js";
8
- import { confused } from "./pseudo/confused.js";
9
- import { cve } from "./pseudo/cve.js";
10
- import { cwe } from "./pseudo/cwe.js";
11
- import { debug } from "./pseudo/debug.js";
12
- import { deprecated } from "./pseudo/deprecated.js";
13
- import { dev } from "./pseudo/dev.js";
14
- import { dynamic } from "./pseudo/dynamic.js";
15
- import { empty } from "./pseudo/empty.js";
16
- import { entropic } from "./pseudo/entropic.js";
17
- import { env } from "./pseudo/env.js";
18
- import { evalParser } from "./pseudo/eval.js";
19
- import { fs } from "./pseudo/fs.js";
20
- import { hostContext } from "./pseudo/host.js";
21
- import { license } from "./pseudo/license.js";
22
- import { link } from "./pseudo/link.js";
23
- import { malware } from "./pseudo/malware.js";
24
- import { minified } from "./pseudo/minified.js";
25
- import { missing } from "./pseudo/missing.js";
26
- import { nativeParser } from "./pseudo/native.js";
27
- import { network } from "./pseudo/network.js";
28
- import { obfuscated } from "./pseudo/obfuscated.js";
29
- import { optional } from "./pseudo/optional.js";
30
- import { outdated } from "./pseudo/outdated.js";
31
- import { overridden } from "./pseudo/overridden.js";
32
- import { path } from "./pseudo/path.js";
33
- import { peer } from "./pseudo/peer.js";
34
- import { prerelease } from "./pseudo/prerelease.js";
35
- import { published } from "./pseudo/published.js";
36
- import { privateParser } from "./pseudo/private.js";
37
- import { prod } from "./pseudo/prod.js";
38
- import { root } from "./pseudo/root.js";
39
- import { scanned } from "./pseudo/scanned.js";
40
- import { score } from "./pseudo/score.js";
41
- import { scripts } from "./pseudo/scripts.js";
42
- import { shell } from "./pseudo/shell.js";
43
- import { semverParser as semver } from "./pseudo/semver.js";
44
- import { severity } from "./pseudo/severity.js";
45
- import { spec } from "./pseudo/spec.js";
46
- import { shrinkwrap } from "./pseudo/shrinkwrap.js";
47
- import { squat } from "./pseudo/squat.js";
48
- import { suspicious } from "./pseudo/suspicious.js";
49
- import { tracker } from "./pseudo/tracker.js";
50
- import { trivial } from "./pseudo/trivial.js";
51
- import { type } from "./pseudo/type.js";
52
- import { undesirable } from "./pseudo/undesirable.js";
53
- import { unknown } from "./pseudo/unknown.js";
54
- import { unmaintained } from "./pseudo/unmaintained.js";
55
- import { unpopular } from "./pseudo/unpopular.js";
56
- import { unstable } from "./pseudo/unstable.js";
57
- import { workspace } from "./pseudo/workspace.js";
58
- /**
59
- * :has Pseudo-Selector, matches only nodes that have valid results
60
- * for its nested selector expressions.
61
- */
62
- const has = async (state) => {
63
- const top = asPostcssNodeWithChildren(state.current);
64
- const collectNodes = new Set();
65
- const collectEdges = new Set();
66
- for (const node of top.nodes) {
67
- if (isSelectorNode(node)) {
68
- const nestedState = await state.walk({
69
- cancellable: state.cancellable,
70
- initial: {
71
- edges: new Set(state.initial.edges),
72
- nodes: new Set(state.initial.nodes),
73
- },
74
- current: node,
75
- walk: state.walk,
76
- collect: {
77
- edges: new Set(),
78
- nodes: new Set(),
79
- },
80
- partial: {
81
- edges: new Set(state.partial.edges),
82
- nodes: new Set(state.partial.nodes),
83
- },
84
- hostContexts: state.hostContexts,
85
- importers: state.importers,
86
- retries: state.retries,
87
- securityArchive: state.securityArchive,
88
- signal: state.signal,
89
- scopeIDs: state.scopeIDs,
90
- comment: state.comment,
91
- specificity: { ...state.specificity },
92
- });
93
- for (const n of nestedState.collect.nodes) {
94
- collectNodes.add(n);
95
- }
96
- for (const e of nestedState.partial.edges) {
97
- collectEdges.add(e);
98
- }
99
- }
100
- }
101
- // if the nested selector did not match anything, that means
102
- // no current node has any matches
103
- if (collectNodes.size === 0) {
104
- state.partial.edges.clear();
105
- state.partial.nodes.clear();
106
- return state;
107
- }
108
- // handles transitive dependencies
109
- // compareNodes collects a list of all ancestor nodes
110
- // from the resulting nodes of the nested selector
111
- const compareNodes = new Set();
112
- const traverse = new Set(collectNodes);
113
- for (const node of traverse) {
114
- for (const edge of node.edgesIn) {
115
- compareNodes.add(edge.from);
116
- if (edge.from.edgesIn.size) {
117
- traverse.add(edge.from);
118
- }
119
- }
120
- }
121
- // for each node in the current list checks to see if
122
- // it has a node in the resulting nested state that is
123
- // a transitive dependency / children.
124
- nodesLoop: for (const node of state.partial.nodes) {
125
- if (node.edgesOut.size === 0 || !compareNodes.has(node)) {
126
- removeNode(state, node);
127
- continue;
128
- }
129
- for (const edge of node.edgesOut.values()) {
130
- if (collectEdges.has(edge)) {
131
- continue nodesLoop;
132
- }
133
- }
134
- removeNode(state, node);
135
- }
136
- removeDanglingEdges(state);
137
- return state;
138
- };
139
- /**
140
- * :is Pseudo-selector, acts as a shortcut for writing more compact expressions
141
- * by allowing multiple nested selectors to match on the previous results.
142
- *
143
- * It also enables the loose parsing mode, skipping instead of erroring usage
144
- * of non-existing classes, identifiers, pseudo-classes, etc.
145
- */
146
- const is = async (state) => {
147
- const top = asPostcssNodeWithChildren(state.current);
148
- const collect = new Set();
149
- for (const node of top.nodes) {
150
- if (isSelectorNode(node)) {
151
- const nestedState = await state.walk({
152
- cancellable: state.cancellable,
153
- collect: {
154
- edges: new Set(),
155
- nodes: new Set(),
156
- },
157
- current: node,
158
- initial: state.initial,
159
- loose: true,
160
- partial: {
161
- nodes: new Set(state.partial.nodes),
162
- edges: new Set(state.partial.edges),
163
- },
164
- importers: state.importers,
165
- hostContexts: state.hostContexts,
166
- walk: state.walk,
167
- retries: state.retries,
168
- securityArchive: state.securityArchive,
169
- signal: state.signal,
170
- scopeIDs: state.scopeIDs,
171
- comment: state.comment,
172
- specificity: { ...state.specificity },
173
- });
174
- for (const n of nestedState.collect.nodes) {
175
- collect.add(n);
176
- }
177
- }
178
- }
179
- for (const node of state.partial.nodes) {
180
- if (!collect.has(node)) {
181
- removeNode(state, node);
182
- }
183
- }
184
- return state;
185
- };
186
- /**
187
- * :not Pseudo-class, serves to create negate expressions, anything that
188
- * matches selectors declared inside the `:not()` expression is going to be
189
- * filtered out in the final result.
190
- */
191
- const not = async (state) => {
192
- const top = asPostcssNodeWithChildren(state.current);
193
- const collect = new Set();
194
- for (const node of top.nodes) {
195
- if (isSelectorNode(node)) {
196
- const nestedState = await state.walk({
197
- cancellable: state.cancellable,
198
- collect: {
199
- edges: new Set(),
200
- nodes: new Set(),
201
- },
202
- current: node,
203
- initial: state.initial,
204
- partial: {
205
- nodes: new Set(state.partial.nodes),
206
- edges: new Set(state.partial.edges),
207
- },
208
- importers: state.importers,
209
- hostContexts: state.hostContexts,
210
- walk: state.walk,
211
- retries: state.retries,
212
- securityArchive: state.securityArchive,
213
- signal: state.signal,
214
- scopeIDs: state.scopeIDs,
215
- comment: state.comment,
216
- specificity: { ...state.specificity },
217
- });
218
- for (const n of nestedState.collect.nodes) {
219
- collect.add(n);
220
- }
221
- /* c8 ignore start - should be impossible */
222
- }
223
- else {
224
- throw error('Error parsing :not() selectors', {
225
- wanted: { type: 'selector' },
226
- found: node,
227
- });
228
- }
229
- /* c8 ignore stop */
230
- }
231
- for (const node of state.partial.nodes) {
232
- if (collect.has(node)) {
233
- removeNode(state, node);
234
- }
235
- }
236
- removeDanglingEdges(state);
237
- return state;
238
- };
239
- /**
240
- * :project Pseudo-Class, matches only graph importers (e.g: the
241
- * root node along with any configured workspace)
242
- */
243
- const project = async (state) => {
244
- for (const node of state.partial.nodes) {
245
- if (!node.importer) {
246
- removeNode(state, node);
247
- }
248
- }
249
- for (const edge of state.partial.edges) {
250
- if (!edge.to?.importer) {
251
- state.partial.edges.delete(edge);
252
- }
253
- }
254
- return state;
255
- };
256
- /**
257
- * :scope Pseudo-Element, returns only the nodes that match the provided scopeIDs
258
- * from the Query.search method.
259
- */
260
- const scope = async (state) => {
261
- const scopeIDSet = new Set(state.scopeIDs);
262
- for (const node of state.partial.nodes) {
263
- if (!scopeIDSet.has(node.id)) {
264
- removeNode(state, node);
265
- }
266
- }
267
- removeDanglingEdges(state);
268
- return state;
269
- };
270
- const pseudoSelectors = new Map(Object.entries({
271
- abandoned,
272
- attr,
273
- built,
274
- confused,
275
- cve,
276
- cwe,
277
- debug,
278
- deprecated,
279
- dev,
280
- dynamic,
281
- eval: evalParser,
282
- empty,
283
- entropic,
284
- env,
285
- fs,
286
- has,
287
- host: hostContext,
288
- is,
289
- license,
290
- link,
291
- malware,
292
- minified,
293
- missing,
294
- native: nativeParser,
295
- network,
296
- not,
297
- obfuscated,
298
- optional,
299
- outdated,
300
- overridden,
301
- path,
302
- peer,
303
- prerelease,
304
- published,
305
- private: privateParser,
306
- prod,
307
- project,
308
- root,
309
- scanned,
310
- scope,
311
- score,
312
- scripts,
313
- semver,
314
- sev: severity,
315
- spec,
316
- severity,
317
- shell,
318
- shrinkwrap,
319
- squat,
320
- suspicious,
321
- tracker,
322
- trivial,
323
- type,
324
- undesirable,
325
- unknown,
326
- unmaintained,
327
- unpopular,
328
- unstable,
329
- v: semver,
330
- workspace,
331
- }));
332
- /**
333
- * Parsers the `pseudo` node types.
334
- */
335
- export const pseudo = async (state) => {
336
- await state.cancellable();
337
- const curr = asPseudoNode(state.current);
338
- const parserFn = curr.value && pseudoSelectors.get(curr.value.slice(1));
339
- if (!parserFn) {
340
- if (state.loose) {
341
- state.partial.edges.clear();
342
- state.partial.nodes.clear();
343
- return state;
344
- }
345
- throw error(`Unsupported pseudo-class: ${state.current.value}`, {
346
- found: state.current,
347
- });
348
- }
349
- const result = await parserFn(state);
350
- // Increment the commonCounter for specificity, except for
351
- // nesting selectors which don't contribute to specificity
352
- const pseudoValue = curr.value.slice(1);
353
- if (pseudoValue &&
354
- pseudoValue !== 'not' &&
355
- pseudoValue !== 'is' &&
356
- pseudoValue !== 'has') {
357
- result.specificity.commonCounter += 1;
358
- }
359
- return result;
360
- };
361
- //# sourceMappingURL=pseudo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pseudo.js","sourceRoot":"","sources":["../../src/pseudo.ts"],"names":[],"mappings":"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","sourcesContent":["import { error } from '@vltpkg/error-cause'\nimport { removeDanglingEdges, removeNode } from './pseudo/helpers.ts'\nimport {\n asPostcssNodeWithChildren,\n asPseudoNode,\n isSelectorNode,\n} from '@vltpkg/dss-parser'\n\n// imported pseudo selectors\nimport { abandoned } from './pseudo/abandoned.ts'\nimport { attr } from './pseudo/attr.ts'\nimport { built } from './pseudo/built.ts'\nimport { confused } from './pseudo/confused.ts'\nimport { cve } from './pseudo/cve.ts'\nimport { cwe } from './pseudo/cwe.ts'\nimport { debug } from './pseudo/debug.ts'\nimport { deprecated } from './pseudo/deprecated.ts'\nimport { dev } from './pseudo/dev.ts'\nimport { dynamic } from './pseudo/dynamic.ts'\nimport { empty } from './pseudo/empty.ts'\nimport { entropic } from './pseudo/entropic.ts'\nimport { env } from './pseudo/env.ts'\nimport { evalParser } from './pseudo/eval.ts'\nimport { fs } from './pseudo/fs.ts'\nimport { hostContext } from './pseudo/host.ts'\nimport { license } from './pseudo/license.ts'\nimport { link } from './pseudo/link.ts'\nimport { malware } from './pseudo/malware.ts'\nimport { minified } from './pseudo/minified.ts'\nimport { missing } from './pseudo/missing.ts'\nimport { nativeParser } from './pseudo/native.ts'\nimport { network } from './pseudo/network.ts'\nimport { obfuscated } from './pseudo/obfuscated.ts'\nimport { optional } from './pseudo/optional.ts'\nimport { outdated } from './pseudo/outdated.ts'\nimport { overridden } from './pseudo/overridden.ts'\nimport { path } from './pseudo/path.ts'\nimport { peer } from './pseudo/peer.ts'\nimport { prerelease } from './pseudo/prerelease.ts'\nimport { published } from './pseudo/published.ts'\nimport { privateParser } from './pseudo/private.ts'\nimport { prod } from './pseudo/prod.ts'\nimport { root } from './pseudo/root.ts'\nimport { scanned } from './pseudo/scanned.ts'\nimport { score } from './pseudo/score.ts'\nimport { scripts } from './pseudo/scripts.ts'\nimport { shell } from './pseudo/shell.ts'\nimport { semverParser as semver } from './pseudo/semver.ts'\nimport { severity } from './pseudo/severity.ts'\nimport { spec } from './pseudo/spec.ts'\nimport { shrinkwrap } from './pseudo/shrinkwrap.ts'\nimport { squat } from './pseudo/squat.ts'\nimport { suspicious } from './pseudo/suspicious.ts'\nimport { tracker } from './pseudo/tracker.ts'\nimport { trivial } from './pseudo/trivial.ts'\nimport { type } from './pseudo/type.ts'\nimport { undesirable } from './pseudo/undesirable.ts'\nimport { unknown } from './pseudo/unknown.ts'\nimport { unmaintained } from './pseudo/unmaintained.ts'\nimport { unpopular } from './pseudo/unpopular.ts'\nimport { unstable } from './pseudo/unstable.ts'\nimport { workspace } from './pseudo/workspace.ts'\n\nimport type { EdgeLike, NodeLike } from '@vltpkg/types'\nimport type { ParserFn, ParserState } from './types.ts'\n\n/**\n * :has Pseudo-Selector, matches only nodes that have valid results\n * for its nested selector expressions.\n */\nconst has = async (state: ParserState) => {\n const top = asPostcssNodeWithChildren(state.current)\n const collectNodes = new Set<NodeLike>()\n const collectEdges = new Set<EdgeLike>()\n\n for (const node of top.nodes) {\n if (isSelectorNode(node)) {\n const nestedState = await state.walk({\n cancellable: state.cancellable,\n initial: {\n edges: new Set(state.initial.edges),\n nodes: new Set(state.initial.nodes),\n },\n current: node,\n walk: state.walk,\n collect: {\n edges: new Set(),\n nodes: new Set(),\n },\n partial: {\n edges: new Set(state.partial.edges),\n nodes: new Set(state.partial.nodes),\n },\n hostContexts: state.hostContexts,\n importers: state.importers,\n retries: state.retries,\n securityArchive: state.securityArchive,\n signal: state.signal,\n scopeIDs: state.scopeIDs,\n comment: state.comment,\n specificity: { ...state.specificity },\n })\n for (const n of nestedState.collect.nodes) {\n collectNodes.add(n)\n }\n for (const e of nestedState.partial.edges) {\n collectEdges.add(e)\n }\n }\n }\n\n // if the nested selector did not match anything, that means\n // no current node has any matches\n if (collectNodes.size === 0) {\n state.partial.edges.clear()\n state.partial.nodes.clear()\n return state\n }\n\n // handles transitive dependencies\n // compareNodes collects a list of all ancestor nodes\n // from the resulting nodes of the nested selector\n const compareNodes = new Set<NodeLike>()\n const traverse = new Set(collectNodes)\n for (const node of traverse) {\n for (const edge of node.edgesIn) {\n compareNodes.add(edge.from)\n if (edge.from.edgesIn.size) {\n traverse.add(edge.from)\n }\n }\n }\n\n // for each node in the current list checks to see if\n // it has a node in the resulting nested state that is\n // a transitive dependency / children.\n nodesLoop: for (const node of state.partial.nodes) {\n if (node.edgesOut.size === 0 || !compareNodes.has(node)) {\n removeNode(state, node)\n continue\n }\n\n for (const edge of node.edgesOut.values()) {\n if (collectEdges.has(edge)) {\n continue nodesLoop\n }\n }\n removeNode(state, node)\n }\n\n removeDanglingEdges(state)\n\n return state\n}\n\n/**\n * :is Pseudo-selector, acts as a shortcut for writing more compact expressions\n * by allowing multiple nested selectors to match on the previous results.\n *\n * It also enables the loose parsing mode, skipping instead of erroring usage\n * of non-existing classes, identifiers, pseudo-classes, etc.\n */\nconst is = async (state: ParserState) => {\n const top = asPostcssNodeWithChildren(state.current)\n const collect = new Set()\n for (const node of top.nodes) {\n if (isSelectorNode(node)) {\n const nestedState = await state.walk({\n cancellable: state.cancellable,\n collect: {\n edges: new Set(),\n nodes: new Set(),\n },\n current: node,\n initial: state.initial,\n loose: true,\n partial: {\n nodes: new Set(state.partial.nodes),\n edges: new Set(state.partial.edges),\n },\n importers: state.importers,\n hostContexts: state.hostContexts,\n walk: state.walk,\n retries: state.retries,\n securityArchive: state.securityArchive,\n signal: state.signal,\n scopeIDs: state.scopeIDs,\n comment: state.comment,\n specificity: { ...state.specificity },\n })\n for (const n of nestedState.collect.nodes) {\n collect.add(n)\n }\n }\n }\n for (const node of state.partial.nodes) {\n if (!collect.has(node)) {\n removeNode(state, node)\n }\n }\n return state\n}\n\n/**\n * :not Pseudo-class, serves to create negate expressions, anything that\n * matches selectors declared inside the `:not()` expression is going to be\n * filtered out in the final result.\n */\nconst not = async (state: ParserState) => {\n const top = asPostcssNodeWithChildren(state.current)\n const collect = new Set()\n for (const node of top.nodes) {\n if (isSelectorNode(node)) {\n const nestedState = await state.walk({\n cancellable: state.cancellable,\n collect: {\n edges: new Set(),\n nodes: new Set(),\n },\n current: node,\n initial: state.initial,\n partial: {\n nodes: new Set(state.partial.nodes),\n edges: new Set(state.partial.edges),\n },\n importers: state.importers,\n hostContexts: state.hostContexts,\n walk: state.walk,\n retries: state.retries,\n securityArchive: state.securityArchive,\n signal: state.signal,\n scopeIDs: state.scopeIDs,\n comment: state.comment,\n specificity: { ...state.specificity },\n })\n for (const n of nestedState.collect.nodes) {\n collect.add(n)\n }\n /* c8 ignore start - should be impossible */\n } else {\n throw error('Error parsing :not() selectors', {\n wanted: { type: 'selector' },\n found: node,\n })\n }\n /* c8 ignore stop */\n }\n for (const node of state.partial.nodes) {\n if (collect.has(node)) {\n removeNode(state, node)\n }\n }\n\n removeDanglingEdges(state)\n\n return state\n}\n\n/**\n * :project Pseudo-Class, matches only graph importers (e.g: the\n * root node along with any configured workspace)\n */\nconst project = async (state: ParserState) => {\n for (const node of state.partial.nodes) {\n if (!node.importer) {\n removeNode(state, node)\n }\n }\n for (const edge of state.partial.edges) {\n if (!edge.to?.importer) {\n state.partial.edges.delete(edge)\n }\n }\n return state\n}\n\n/**\n * :scope Pseudo-Element, returns only the nodes that match the provided scopeIDs\n * from the Query.search method.\n */\nconst scope = async (state: ParserState) => {\n const scopeIDSet = new Set(state.scopeIDs)\n\n for (const node of state.partial.nodes) {\n if (!scopeIDSet.has(node.id)) {\n removeNode(state, node)\n }\n }\n\n removeDanglingEdges(state)\n\n return state\n}\n\nconst pseudoSelectors = new Map<string, ParserFn>(\n Object.entries({\n abandoned,\n attr,\n built,\n confused,\n cve,\n cwe,\n debug,\n deprecated,\n dev,\n dynamic,\n eval: evalParser,\n empty,\n entropic,\n env,\n fs,\n has,\n host: hostContext,\n is,\n license,\n link,\n malware,\n minified,\n missing,\n native: nativeParser,\n network,\n not,\n obfuscated,\n optional,\n outdated,\n overridden,\n path,\n peer,\n prerelease,\n published,\n private: privateParser,\n prod,\n project,\n root,\n scanned,\n scope,\n score,\n scripts,\n semver,\n sev: severity,\n spec,\n severity,\n shell,\n shrinkwrap,\n squat,\n suspicious,\n tracker,\n trivial,\n type,\n undesirable,\n unknown,\n unmaintained,\n unpopular,\n unstable,\n v: semver,\n workspace,\n }),\n)\n\n/**\n * Parsers the `pseudo` node types.\n */\nexport const pseudo = async (state: ParserState) => {\n await state.cancellable()\n\n const curr = asPseudoNode(state.current)\n const parserFn =\n curr.value && pseudoSelectors.get(curr.value.slice(1))\n\n if (!parserFn) {\n if (state.loose) {\n state.partial.edges.clear()\n state.partial.nodes.clear()\n return state\n }\n\n throw error(`Unsupported pseudo-class: ${state.current.value}`, {\n found: state.current,\n })\n }\n\n const result = await parserFn(state)\n\n // Increment the commonCounter for specificity, except for\n // nesting selectors which don't contribute to specificity\n const pseudoValue = curr.value.slice(1)\n if (\n pseudoValue &&\n pseudoValue !== 'not' &&\n pseudoValue !== 'is' &&\n pseudoValue !== 'has'\n ) {\n result.specificity.commonCounter += 1\n }\n\n return result\n}\n"]}
@@ -1,118 +0,0 @@
1
- import type { EdgeLike, NodeLike } from '@vltpkg/types';
2
- import type { SecurityArchiveLike, PackageScore } from '@vltpkg/security-archive';
3
- import type { DepID } from '@vltpkg/dep-id';
4
- import type { PostcssNode } from '@vltpkg/dss-parser';
5
- export type HostContextsMapResult = {
6
- initialEdges: EdgeLike[];
7
- initialNodes: NodeLike[];
8
- edges: EdgeLike[];
9
- nodes: NodeLike[];
10
- securityArchive: SecurityArchiveLike | undefined;
11
- };
12
- export type HostContextsMap = Map<string, () => Promise<HostContextsMapResult>>;
13
- export type Specificity = {
14
- idCounter: number;
15
- commonCounter: number;
16
- };
17
- export type GraphSelectionState = {
18
- nodes: Set<NodeLike>;
19
- edges: Set<EdgeLike>;
20
- };
21
- export type ParserState = {
22
- cancellable: () => Promise<void>;
23
- collect: GraphSelectionState;
24
- comment: string;
25
- current: PostcssNode;
26
- hostContexts?: HostContextsMap;
27
- importers: Set<NodeLike>;
28
- initial: GraphSelectionState;
29
- loose?: boolean;
30
- next?: PostcssNode;
31
- prev?: PostcssNode;
32
- result?: NodeLike[];
33
- signal: AbortSignal;
34
- walk: ParserFn;
35
- partial: GraphSelectionState;
36
- retries: number;
37
- securityArchive: SecurityArchiveLike | undefined;
38
- scopeIDs?: DepID[];
39
- specificity: Specificity;
40
- };
41
- export type QueryResponse = {
42
- edges: QueryResponseEdge[];
43
- nodes: QueryResponseNode[];
44
- importers: QueryResponseNode[];
45
- comment: string;
46
- specificity: Specificity;
47
- };
48
- export type QueryResponseEdge = Omit<EdgeLike, 'from' | 'to'> & {
49
- from: QueryResponseNode;
50
- to?: QueryResponseNode;
51
- };
52
- export type QueryResponseNode = Omit<NodeLike, 'edgesIn' | 'edgesOut'> & {
53
- edgesIn: Set<QueryResponseEdge>;
54
- edgesOut: Map<string, QueryResponseEdge>;
55
- insights: Insights;
56
- toJSON: () => Pick<QueryResponseNode, 'id' | 'name' | 'version' | 'location' | 'importer' | 'manifest' | 'projectRoot' | 'integrity' | 'resolved' | 'dev' | 'optional' | 'insights' | 'confused'>;
57
- };
58
- export type Insights = {
59
- abandoned?: boolean;
60
- confused?: boolean;
61
- cve?: `CVE-${string}`[];
62
- cwe?: `CWE-${string}`[];
63
- debug?: boolean;
64
- deprecated?: boolean;
65
- dynamic?: boolean;
66
- entropic?: boolean;
67
- env?: boolean;
68
- eval?: boolean;
69
- fs?: boolean;
70
- license?: LicenseInsights;
71
- malware?: MalwareInsights;
72
- minified?: boolean;
73
- native?: boolean;
74
- network?: boolean;
75
- obfuscated?: boolean;
76
- scanned: boolean;
77
- score?: PackageScore;
78
- scripts?: boolean;
79
- severity?: SeverityInsights;
80
- shell?: boolean;
81
- shrinkwrap?: boolean;
82
- squat?: SquatInsights;
83
- suspicious?: boolean;
84
- tracker?: boolean;
85
- trivial?: boolean;
86
- undesirable?: boolean;
87
- unknown?: boolean;
88
- unmaintained?: boolean;
89
- unpopular?: boolean;
90
- unstable?: boolean;
91
- };
92
- export type LicenseInsights = {
93
- unlicensed: boolean;
94
- misc: boolean;
95
- restricted: boolean;
96
- ambiguous: boolean;
97
- copyleft: boolean;
98
- unknown: boolean;
99
- none: boolean;
100
- exception: boolean;
101
- };
102
- export type LeveledInsights = {
103
- low: boolean;
104
- medium: boolean;
105
- high: boolean;
106
- critical: boolean;
107
- };
108
- export type MalwareInsights = LeveledInsights;
109
- export type SeverityInsights = LeveledInsights;
110
- export type SquatInsights = {
111
- medium: boolean;
112
- critical: boolean;
113
- };
114
- export type ParserFn = (opt: ParserState) => Promise<ParserState>;
115
- export type ParsedSelectorToken = PostcssNode & {
116
- token: string;
117
- };
118
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/dist/esm/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { EdgeLike, NodeLike } from '@vltpkg/types'\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 HostContextsMapResult = {\n initialEdges: EdgeLike[]\n initialNodes: NodeLike[]\n edges: EdgeLike[]\n nodes: NodeLike[]\n securityArchive: SecurityArchiveLike | undefined\n}\n\nexport type HostContextsMap = Map<\n string,\n () => Promise<HostContextsMapResult>\n>\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 hostContexts?: HostContextsMap\n importers: Set<NodeLike>\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 scopeIDs?: DepID[]\n specificity: Specificity\n}\n\nexport type QueryResponse = {\n edges: QueryResponseEdge[]\n nodes: QueryResponseNode[]\n importers: 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"]}