@g3nomaly/core 0.3.1 → 0.3.3

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 (223) hide show
  1. package/README.md +122 -0
  2. package/dist/cli/commands/add.d.ts +24 -4
  3. package/dist/cli/commands/add.d.ts.map +1 -1
  4. package/dist/cli/commands/add.js +37 -14
  5. package/dist/cli/commands/add.js.map +1 -1
  6. package/dist/cli/commands/conflict.d.ts +52 -0
  7. package/dist/cli/commands/conflict.d.ts.map +1 -0
  8. package/dist/cli/commands/conflict.js +88 -0
  9. package/dist/cli/commands/conflict.js.map +1 -0
  10. package/dist/cli/commands/installFromSources.d.ts +42 -13
  11. package/dist/cli/commands/installFromSources.d.ts.map +1 -1
  12. package/dist/cli/commands/installFromSources.js +68 -19
  13. package/dist/cli/commands/installFromSources.js.map +1 -1
  14. package/dist/cli/commands/ls.d.ts +13 -3
  15. package/dist/cli/commands/ls.d.ts.map +1 -1
  16. package/dist/cli/commands/ls.js +26 -6
  17. package/dist/cli/commands/ls.js.map +1 -1
  18. package/dist/cli/commands/remove.d.ts +7 -1
  19. package/dist/cli/commands/remove.d.ts.map +1 -1
  20. package/dist/cli/commands/remove.js +15 -1
  21. package/dist/cli/commands/remove.js.map +1 -1
  22. package/dist/cli/commands/sources.d.ts +34 -10
  23. package/dist/cli/commands/sources.d.ts.map +1 -1
  24. package/dist/cli/commands/sources.js +17 -3
  25. package/dist/cli/commands/sources.js.map +1 -1
  26. package/dist/cli/commands/update.d.ts +11 -4
  27. package/dist/cli/commands/update.d.ts.map +1 -1
  28. package/dist/cli/commands/update.js +32 -14
  29. package/dist/cli/commands/update.js.map +1 -1
  30. package/dist/cli/dialogue.d.ts +65 -13
  31. package/dist/cli/dialogue.d.ts.map +1 -1
  32. package/dist/cli/dialogue.js +46 -7
  33. package/dist/cli/dialogue.js.map +1 -1
  34. package/dist/cli/index.d.ts +1 -1
  35. package/dist/cli/index.d.ts.map +1 -1
  36. package/dist/cli/index.js +1 -1
  37. package/dist/cli/index.js.map +1 -1
  38. package/dist/cli/installDialogues.d.ts +11 -3
  39. package/dist/cli/installDialogues.d.ts.map +1 -1
  40. package/dist/cli/installDialogues.js +22 -5
  41. package/dist/cli/installDialogues.js.map +1 -1
  42. package/dist/cli/pick.d.ts +11 -2
  43. package/dist/cli/pick.d.ts.map +1 -1
  44. package/dist/cli/pick.js +11 -2
  45. package/dist/cli/pick.js.map +1 -1
  46. package/dist/cli/report.d.ts +32 -8
  47. package/dist/cli/report.d.ts.map +1 -1
  48. package/dist/cli/report.js +26 -5
  49. package/dist/cli/report.js.map +1 -1
  50. package/dist/cli/theme.d.ts +4 -0
  51. package/dist/cli/theme.d.ts.map +1 -1
  52. package/dist/cli/theme.js +4 -0
  53. package/dist/cli/theme.js.map +1 -1
  54. package/dist/cli/types.d.ts +56 -5
  55. package/dist/cli/types.d.ts.map +1 -1
  56. package/dist/config/config.d.ts +32 -7
  57. package/dist/config/config.d.ts.map +1 -1
  58. package/dist/config/config.js +37 -7
  59. package/dist/config/config.js.map +1 -1
  60. package/dist/config/types.d.ts +58 -0
  61. package/dist/config/types.d.ts.map +1 -1
  62. package/dist/config/types.js +0 -10
  63. package/dist/config/types.js.map +1 -1
  64. package/dist/hash/hash.d.ts +6 -8
  65. package/dist/hash/hash.d.ts.map +1 -1
  66. package/dist/hash/hash.js +7 -8
  67. package/dist/hash/hash.js.map +1 -1
  68. package/dist/hash/index.d.ts.map +1 -1
  69. package/dist/hash/index.js +1 -0
  70. package/dist/hash/index.js.map +1 -1
  71. package/dist/index.js +1 -0
  72. package/dist/index.js.map +1 -1
  73. package/dist/installer/classify.d.ts +27 -1
  74. package/dist/installer/classify.d.ts.map +1 -1
  75. package/dist/installer/classify.js +36 -1
  76. package/dist/installer/classify.js.map +1 -1
  77. package/dist/installer/files.d.ts +10 -6
  78. package/dist/installer/files.d.ts.map +1 -1
  79. package/dist/installer/files.js +4 -3
  80. package/dist/installer/files.js.map +1 -1
  81. package/dist/installer/index.d.ts +1 -1
  82. package/dist/installer/index.d.ts.map +1 -1
  83. package/dist/installer/index.js +1 -1
  84. package/dist/installer/index.js.map +1 -1
  85. package/dist/installer/install.d.ts +18 -6
  86. package/dist/installer/install.d.ts.map +1 -1
  87. package/dist/installer/install.js +20 -7
  88. package/dist/installer/install.js.map +1 -1
  89. package/dist/installer/io.d.ts +6 -1
  90. package/dist/installer/io.d.ts.map +1 -1
  91. package/dist/installer/io.js +6 -1
  92. package/dist/installer/io.js.map +1 -1
  93. package/dist/installer/manifest.d.ts +29 -19
  94. package/dist/installer/manifest.d.ts.map +1 -1
  95. package/dist/installer/manifest.js +20 -10
  96. package/dist/installer/manifest.js.map +1 -1
  97. package/dist/installer/manifestSources.d.ts +18 -7
  98. package/dist/installer/manifestSources.d.ts.map +1 -1
  99. package/dist/installer/manifestSources.js +18 -7
  100. package/dist/installer/manifestSources.js.map +1 -1
  101. package/dist/installer/marketplace.d.ts +24 -12
  102. package/dist/installer/marketplace.d.ts.map +1 -1
  103. package/dist/installer/marketplace.js +18 -10
  104. package/dist/installer/marketplace.js.map +1 -1
  105. package/dist/installer/origin.d.ts +23 -7
  106. package/dist/installer/origin.d.ts.map +1 -1
  107. package/dist/installer/origin.js +14 -7
  108. package/dist/installer/origin.js.map +1 -1
  109. package/dist/installer/remove.d.ts +17 -5
  110. package/dist/installer/remove.d.ts.map +1 -1
  111. package/dist/installer/remove.js +17 -5
  112. package/dist/installer/remove.js.map +1 -1
  113. package/dist/installer/resolve.d.ts +80 -31
  114. package/dist/installer/resolve.d.ts.map +1 -1
  115. package/dist/installer/resolve.js +96 -29
  116. package/dist/installer/resolve.js.map +1 -1
  117. package/dist/installer/sourceRegistry.d.ts +59 -22
  118. package/dist/installer/sourceRegistry.d.ts.map +1 -1
  119. package/dist/installer/sourceRegistry.js +25 -10
  120. package/dist/installer/sourceRegistry.js.map +1 -1
  121. package/dist/installer/types.d.ts +72 -19
  122. package/dist/installer/types.d.ts.map +1 -1
  123. package/dist/installer/types.js +18 -8
  124. package/dist/installer/types.js.map +1 -1
  125. package/dist/registry/index.d.ts +0 -4
  126. package/dist/registry/index.d.ts.map +1 -1
  127. package/dist/registry/index.js +1 -4
  128. package/dist/registry/index.js.map +1 -1
  129. package/dist/registry/registry.handlers.d.ts +7 -0
  130. package/dist/registry/registry.handlers.d.ts.map +1 -1
  131. package/dist/registry/registry.handlers.js.map +1 -1
  132. package/dist/registry/registry.io.d.ts +23 -7
  133. package/dist/registry/registry.io.d.ts.map +1 -1
  134. package/dist/registry/registry.io.js +37 -14
  135. package/dist/registry/registry.io.js.map +1 -1
  136. package/dist/registry/registry.mutations.d.ts +10 -3
  137. package/dist/registry/registry.mutations.d.ts.map +1 -1
  138. package/dist/registry/registry.mutations.js +10 -3
  139. package/dist/registry/registry.mutations.js.map +1 -1
  140. package/dist/registry/registry.selectors.d.ts +41 -11
  141. package/dist/registry/registry.selectors.d.ts.map +1 -1
  142. package/dist/registry/registry.selectors.js +41 -11
  143. package/dist/registry/registry.selectors.js.map +1 -1
  144. package/dist/registry/registry.store.d.ts +22 -9
  145. package/dist/registry/registry.store.d.ts.map +1 -1
  146. package/dist/registry/registry.store.js +12 -3
  147. package/dist/registry/registry.store.js.map +1 -1
  148. package/dist/registry/registry.template.d.ts +12 -6
  149. package/dist/registry/registry.template.d.ts.map +1 -1
  150. package/dist/registry/registry.template.js +13 -6
  151. package/dist/registry/registry.template.js.map +1 -1
  152. package/dist/registry/types.d.ts +17 -3
  153. package/dist/registry/types.d.ts.map +1 -1
  154. package/dist/registry/types.js +16 -6
  155. package/dist/registry/types.js.map +1 -1
  156. package/dist/security/index.d.ts.map +1 -1
  157. package/dist/security/index.js +1 -0
  158. package/dist/security/index.js.map +1 -1
  159. package/dist/security/securityParser.d.ts +9 -8
  160. package/dist/security/securityParser.d.ts.map +1 -1
  161. package/dist/security/securityParser.js +12 -22
  162. package/dist/security/securityParser.js.map +1 -1
  163. package/dist/security/securityWorker.d.ts +11 -0
  164. package/dist/security/securityWorker.d.ts.map +1 -1
  165. package/dist/security/securityWorker.js +17 -38
  166. package/dist/security/securityWorker.js.map +1 -1
  167. package/dist/sources/checkout.d.ts +10 -4
  168. package/dist/sources/checkout.d.ts.map +1 -1
  169. package/dist/sources/checkout.js +10 -4
  170. package/dist/sources/checkout.js.map +1 -1
  171. package/dist/sources/git.d.ts +5 -3
  172. package/dist/sources/git.d.ts.map +1 -1
  173. package/dist/sources/git.js +5 -3
  174. package/dist/sources/git.js.map +1 -1
  175. package/dist/sources/local.d.ts +6 -4
  176. package/dist/sources/local.d.ts.map +1 -1
  177. package/dist/sources/local.js +6 -4
  178. package/dist/sources/local.js.map +1 -1
  179. package/dist/sources/npm.d.ts +10 -7
  180. package/dist/sources/npm.d.ts.map +1 -1
  181. package/dist/sources/npm.js +49 -15
  182. package/dist/sources/npm.js.map +1 -1
  183. package/dist/sources/parse.d.ts +24 -16
  184. package/dist/sources/parse.d.ts.map +1 -1
  185. package/dist/sources/parse.js +40 -18
  186. package/dist/sources/parse.js.map +1 -1
  187. package/dist/sources/process.d.ts +10 -7
  188. package/dist/sources/process.d.ts.map +1 -1
  189. package/dist/sources/process.js +10 -7
  190. package/dist/sources/process.js.map +1 -1
  191. package/dist/sources/register.d.ts +20 -5
  192. package/dist/sources/register.d.ts.map +1 -1
  193. package/dist/sources/register.js +20 -5
  194. package/dist/sources/register.js.map +1 -1
  195. package/dist/sources/types.d.ts +43 -8
  196. package/dist/sources/types.d.ts.map +1 -1
  197. package/dist/sources/types.js +21 -4
  198. package/dist/sources/types.js.map +1 -1
  199. package/dist/utils/errors.d.ts +6 -1
  200. package/dist/utils/errors.d.ts.map +1 -1
  201. package/dist/utils/errors.js +6 -1
  202. package/dist/utils/errors.js.map +1 -1
  203. package/dist/utils/merge.d.ts +8 -2
  204. package/dist/utils/merge.d.ts.map +1 -1
  205. package/dist/utils/merge.js +9 -2
  206. package/dist/utils/merge.js.map +1 -1
  207. package/dist/utils/packageMeta.d.ts +16 -2
  208. package/dist/utils/packageMeta.d.ts.map +1 -1
  209. package/dist/utils/packageMeta.js +6 -2
  210. package/dist/utils/packageMeta.js.map +1 -1
  211. package/dist/utils/paths.d.ts +16 -5
  212. package/dist/utils/paths.d.ts.map +1 -1
  213. package/dist/utils/paths.js +16 -5
  214. package/dist/utils/paths.js.map +1 -1
  215. package/dist/utils/prompt.d.ts +6 -1
  216. package/dist/utils/prompt.d.ts.map +1 -1
  217. package/dist/utils/prompt.js +6 -1
  218. package/dist/utils/prompt.js.map +1 -1
  219. package/dist/utils/version.d.ts +7 -2
  220. package/dist/utils/version.d.ts.map +1 -1
  221. package/dist/utils/version.js +40 -3
  222. package/dist/utils/version.js.map +1 -1
  223. package/package.json +1 -1
@@ -1,75 +1,124 @@
1
1
  import type { OriginEntry } from "./origin";
2
2
  import type { SourceOffer } from "./sourceRegistry";
3
- /** An entry or group as named on the command line or in `registryDependencies`. */
3
+ /**
4
+ * @brief An entry or group as named on the command line or in `registryDependencies`.
5
+ *
6
+ * @property name - Entry key or group name, lowercased, e.g. `emphasise`.
7
+ * @property source - Registered source the name must come from, e.g. `g3n-skills`, when given as `<name>@<source>`. Absent when not given.
8
+ */
4
9
  export interface EntryRequest {
5
10
  name: string;
6
- /** Registered source the name must come from, when given as `<name>@<source>` */
7
11
  source?: string;
8
12
  }
9
- /** Entries a set of requests resolved to, and what could not be resolved. */
13
+ /**
14
+ * @brief Entries a set of requests resolved to, and what could not be resolved.
15
+ *
16
+ * @property entries - Resolved entries by key, `registryDependencies` rewritten to the resolved keys.
17
+ * @property unknown - Requests and dependencies no source offers, e.g. `ghost` or `ghost@mine`.
18
+ * @property ambiguous - One message per name more than one source offers, naming the qualified forms to pick from.
19
+ * @property notes - Why an entry nobody named is in the set, e.g. `{ vocabulary: "dep of plan" }`.
20
+ */
10
21
  export interface Resolution<T extends OriginEntry> {
11
- /** Resolved entries by key, `registryDependencies` rewritten to the resolved keys */
12
22
  entries: Map<string, SourceOffer<T>>;
13
- /** Requests and dependencies no source offers, e.g. `ghost` or `ghost@mine` */
14
23
  unknown: string[];
15
- /** One message per name more than one source offers, naming the qualified forms to pick from */
16
24
  ambiguous: string[];
17
- /** Why an entry nobody named is in the set, e.g. `{ vocabulary: "dep of plan" }` */
18
25
  notes: Record<string, string>;
19
26
  }
20
- /** One entry with its dependencies resolved across sources. */
27
+ /**
28
+ * @brief One entry with its dependencies resolved across sources.
29
+ *
30
+ * @property offer - The entry with `registryDependencies` rewritten to the resolved keys.
31
+ * @property dependencies - Offers of the dependencies found, in the order declared.
32
+ * @property unknown - Dependencies no source offers, e.g. `ghost (dep of plan)`.
33
+ * @property ambiguous - One message per dependency more than one source offers.
34
+ */
21
35
  export interface ResolvedDependencies<T extends OriginEntry> {
22
- /** The entry with `registryDependencies` rewritten to the resolved keys */
23
36
  offer: SourceOffer<T>;
24
37
  dependencies: SourceOffer<T>[];
25
- /** Dependencies no source offers, e.g. `ghost (dep of plan)` */
26
38
  unknown: string[];
27
39
  ambiguous: string[];
28
40
  }
29
41
  /**
30
- * Reads `emphasise` or `emphasise@g3n-skills`; names are matched in
31
- * lowercase. A leading `@` belongs to the name, as in `@shadcn/button@shadcn`.
42
+ * @brief Parses a typed request such as `emphasise` or `emphasise@g3n-skills`.
43
+ *
44
+ * Names are matched in lowercase. A leading `@` belongs to the name, as in
45
+ * `@shadcn/button@shadcn`, so the source starts at the first `@` after the first character.
46
+ *
47
+ * @param token - Word as typed on the command line, e.g. `emphasise@g3n-skills`.
48
+ * @returns Request with the lowercased name, and the source when one is given.
32
49
  */
33
50
  export declare function parseRequest(token: string): EntryRequest;
34
- /** A request as it is typed, e.g. `emphasise@g3n-skills`. */
51
+ /**
52
+ * @brief Formats a request as it is typed, e.g. `emphasise@g3n-skills`.
53
+ *
54
+ * @param request - Parsed request, e.g. `{ name: "emphasise", source: "g3n-skills" }`.
55
+ */
35
56
  export declare function formatRequest(request: EntryRequest): string;
36
57
  /**
37
- * Resolves the `registryDependencies` of one entry against every offer. A
38
- * dependency that cannot be resolved keeps its bare name in the rewritten
58
+ * @brief Resolves the `registryDependencies` of one entry against every offer.
59
+ *
60
+ * A dependency that cannot be resolved keeps its bare name in the rewritten
39
61
  * list and is reported in `unknown` or `ambiguous`.
40
62
  *
41
- * @param preferred - Source to take a key from when several offer it: where it is installed, or where the request named it
63
+ * @param offer - Offer whose dependencies are resolved.
64
+ * @param offers - Every offer to resolve against, across all sources.
65
+ * @param preferred - Source to take a key from when several offer it: where it is installed, or where the request named it.
66
+ * @returns The offer with rewritten dependencies, the dependency offers found, and the ones that did not resolve.
42
67
  */
43
68
  export declare function resolveDependencies<T extends OriginEntry>(offer: SourceOffer<T>, offers: readonly SourceOffer<T>[], preferred?: Record<string, string>): ResolvedDependencies<T>;
44
69
  /**
45
- * Resolves entry and group names against every offer, with the dependency
46
- * closure of each across sources. An entry named in the request settles which
47
- * source its key comes from for every dependency. Two different entries
48
- * wanted under one key are reported as ambiguous, since a target holds one
49
- * folder per key.
70
+ * @brief Resolves entry and group names against every offer, with the dependency closure of each across sources.
71
+ *
72
+ * An entry named in the request settles which source its key comes from for
73
+ * every dependency. Two different entries wanted under one key are reported as
74
+ * ambiguous, since a target holds one folder per key.
50
75
  *
51
- * @param installed - Source each installed key came from
76
+ * @param tokens - Names as typed on the command line, e.g. `["emphasise", "ui@g3n-skills"]`.
77
+ * @param offers - Every offer to resolve against, across all sources.
78
+ * @param installed - Source each installed key came from.
79
+ * @returns The entries to install, and what could not be resolved or was ambiguous.
52
80
  */
53
81
  export declare function resolveRequests<T extends OriginEntry>(tokens: readonly string[], offers: readonly SourceOffer<T>[], installed?: Record<string, string>): Resolution<T>;
54
82
  /**
55
- * Resolves entry and group names against what a target has installed, with
56
- * `<name>@<source>` keeping only entries installed from that source. Works
57
- * from the install manifest alone, so no source needs to be reachable.
83
+ * @brief Resolves entry and group names against what a target has installed.
58
84
  *
59
- * @returns installed keys in the order named, and the names that match nothing installed
85
+ * `<name>@<source>` keeps only entries installed from that source. Works from
86
+ * the install manifest alone, so no source needs to be reachable.
87
+ *
88
+ * @param tokens - Names as typed, e.g. `["emphasise@g3n-skills"]`.
89
+ * @param installed - Installed entries by key, from one target's manifest.
90
+ * @returns Installed keys in the order named, and the names that match nothing installed.
60
91
  */
61
92
  export declare function resolveInstalled<T extends OriginEntry>(tokens: readonly string[], installed: Record<string, T>): {
62
93
  keys: string[];
63
94
  unknown: string[];
64
95
  };
65
- /** Source each installed key came from, across manifests; the first manifest wins on a clash. */
96
+ /**
97
+ * @brief Maps each installed key to the source it came from, across manifests.
98
+ *
99
+ * The first manifest wins on a clash.
100
+ *
101
+ * @param installed - Installed entries by key, one record per target manifest.
102
+ * @returns Source name by installed key, e.g. `{ emphasise: "g3n-skills" }`.
103
+ */
66
104
  export declare function installedOrigins<T extends OriginEntry>(installed: readonly Record<string, T>[]): Record<string, string>;
67
105
  /**
68
- * The fresh offer for each installed key, from the source it was installed
69
- * from and never another, with its dependencies resolved.
106
+ * @brief Maps each forked key to the installed fork that stands in for it, across manifests.
107
+ *
108
+ * The first manifest wins on a clash.
109
+ *
110
+ * @param installed - Installed entries by key, one record per target manifest.
111
+ * @returns Installed fork key by forked key, e.g. `{ emphasise: "my-emphasise" }`.
112
+ */
113
+ export declare function installedForks<T extends OriginEntry>(installed: readonly Record<string, T>[]): Record<string, string>;
114
+ /**
115
+ * @brief Finds the fresh offer for each installed key, from the source it was installed from and never another, with its dependencies resolved.
70
116
  *
71
- * @param preferred - Source each installed key came from, across targets
72
- * @returns the offers found, and the keys whose source is gone or no longer offers them
117
+ * @param keys - Installed keys to update.
118
+ * @param installed - Installed entries by key, from one target's manifest.
119
+ * @param offers - Every offer to search, across all sources.
120
+ * @param preferred - Source each installed key came from, across targets.
121
+ * @returns The offers found, and the keys whose source is gone or no longer offers them.
73
122
  */
74
123
  export declare function resolveUpdates<T extends OriginEntry>(keys: readonly string[], installed: Record<string, T>, offers: readonly SourceOffer<T>[], preferred?: Record<string, string>): {
75
124
  offers: SourceOffer<T>[];
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/installer/resolve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,mFAAmF;AACnF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAK,MAAM,CAAA;IACf,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,6EAA6E;AAC7E,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,WAAW;IAC/C,qFAAqF;IACrF,OAAO,EAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IACtC,+EAA+E;IAC/E,OAAO,EAAI,MAAM,EAAE,CAAA;IACnB,gGAAgG;IAChG,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,oFAAoF;IACpF,KAAK,EAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC;AAED,+DAA+D;AAC/D,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,WAAW;IACzD,2EAA2E;IAC3E,KAAK,EAAS,WAAW,CAAC,CAAC,CAAC,CAAA;IAC5B,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9B,gEAAgE;IAChE,OAAO,EAAO,MAAM,EAAE,CAAA;IACtB,SAAS,EAAK,MAAM,EAAE,CAAA;CACvB;AAID;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAKxD;AAED,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAE3D;AAqDD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,WAAW,EACvD,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EACrB,MAAM,EAAE,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,EACjC,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACrC,oBAAoB,CAAC,CAAC,CAAC,CAiBzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,WAAW,EACnD,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,MAAM,EAAE,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,EACjC,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACrC,UAAU,CAAC,CAAC,CAAC,CAuCf;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,WAAW,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAYtJ;AAED,iGAAiG;AACjG,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,WAAW,EAAE,SAAS,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIvH;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,WAAW,EAClD,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAC5B,MAAM,EAAE,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,EACjC,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACrC;IAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CASjD"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/installer/resolve.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
1
  /**
2
- * Reads `emphasise` or `emphasise@g3n-skills`; names are matched in
3
- * lowercase. A leading `@` belongs to the name, as in `@shadcn/button@shadcn`.
2
+ * @brief Parses a typed request such as `emphasise` or `emphasise@g3n-skills`.
3
+ *
4
+ * Names are matched in lowercase. A leading `@` belongs to the name, as in
5
+ * `@shadcn/button@shadcn`, so the source starts at the first `@` after the first character.
6
+ *
7
+ * @param token - Word as typed on the command line, e.g. `emphasise@g3n-skills`.
8
+ * @returns Request with the lowercased name, and the source when one is given.
4
9
  */
5
10
  export function parseRequest(token) {
6
11
  const at = token.indexOf("@", 1);
@@ -8,22 +13,41 @@ export function parseRequest(token) {
8
13
  ? { name: token.slice(0, at).toLowerCase(), source: token.slice(at + 1) }
9
14
  : { name: token.toLowerCase() };
10
15
  }
11
- /** A request as it is typed, e.g. `emphasise@g3n-skills`. */
16
+ /**
17
+ * @brief Formats a request as it is typed, e.g. `emphasise@g3n-skills`.
18
+ *
19
+ * @param request - Parsed request, e.g. `{ name: "emphasise", source: "g3n-skills" }`.
20
+ */
12
21
  export function formatRequest(request) {
13
22
  return request.source === undefined ? request.name : `${request.name}@${request.source}`;
14
23
  }
15
- /** Name of the source an offer comes from. */
24
+ /**
25
+ * @brief Gets the name of the source an offer comes from.
26
+ *
27
+ * @param offer - Offer whose entry's origin names the source, e.g. `{ key: "emphasise", entry }`.
28
+ */
16
29
  function sourceOf(offer) {
17
30
  return offer.entry.origin.source;
18
31
  }
19
- /** Names of the sources the offers come from, each once, sorted. */
32
+ /**
33
+ * @brief Gets the names of the sources the offers come from, each once, sorted.
34
+ *
35
+ * @param offers - Offers to read the sources of, e.g. the matches of one request.
36
+ */
20
37
  function uniqueSources(offers) {
21
38
  return [...new Set(offers.map(sourceOf))].sort();
22
39
  }
23
40
  /**
24
- * Entries one request names. A group name expands to every entry in it and
25
- * wins over an entry with the same key. A name offered by several sources is
26
- * settled by the preferred source for it, and is ambiguous otherwise.
41
+ * @brief Finds the entries one request names.
42
+ *
43
+ * A group name expands to every entry in it and wins over an entry with the
44
+ * same key. A name offered by several sources is settled by the preferred
45
+ * source for it, and is ambiguous otherwise.
46
+ *
47
+ * @param request - Request being matched, e.g. `{ name: "emphasise" }`.
48
+ * @param offers - Every offer to search, across all sources.
49
+ * @param preferred - Source to pick for a key several sources offer, by key, e.g. `{ emphasise: "g3n-skills" }`.
50
+ * @returns The matching offers, an `{ ambiguous }` message when several sources offer the name, or `null` when none does.
27
51
  */
28
52
  function matchRequest(request, offers, preferred) {
29
53
  const pool = request.source === undefined ? offers : offers.filter((o) => sourceOf(o) === request.source);
@@ -40,9 +64,16 @@ function matchRequest(request, offers, preferred) {
40
64
  return { ambiguous: `${request.name} is offered by ${sources.length} sources, name one: ${sources.map((s) => `${request.name}@${s}`).join(", ")}` };
41
65
  }
42
66
  /**
43
- * The entry a dependency of `dependent` points at: the named source when the
44
- * dependency is qualified, else the dependent's own source, else the source
45
- * preferred for the key, else the only source offering it.
67
+ * @brief Finds the entry one dependency token points at.
68
+ *
69
+ * The named source when the dependency is qualified, else the dependent's own
70
+ * source, else the source preferred for the key, else the only source offering it.
71
+ *
72
+ * @param token - Dependency as written in `registryDependencies`, e.g. `ghost@mine`.
73
+ * @param dependent - Offer that declares the dependency.
74
+ * @param offers - Every offer to search, across all sources.
75
+ * @param preferred - Source to pick for a key several sources offer, by key.
76
+ * @returns The matched offer, an `{ ambiguous }` message, or `null` when no source offers it.
46
77
  */
47
78
  function matchDependency(token, dependent, offers, preferred) {
48
79
  const request = parseRequest(token);
@@ -58,11 +89,15 @@ function matchDependency(token, dependent, offers, preferred) {
58
89
  return { ambiguous: `${dependent.key} depends on ${request.name}, offered by ${uniqueSources(named).join(", ")}; qualify it as ${request.name}@<source>` };
59
90
  }
60
91
  /**
61
- * Resolves the `registryDependencies` of one entry against every offer. A
62
- * dependency that cannot be resolved keeps its bare name in the rewritten
92
+ * @brief Resolves the `registryDependencies` of one entry against every offer.
93
+ *
94
+ * A dependency that cannot be resolved keeps its bare name in the rewritten
63
95
  * list and is reported in `unknown` or `ambiguous`.
64
96
  *
65
- * @param preferred - Source to take a key from when several offer it: where it is installed, or where the request named it
97
+ * @param offer - Offer whose dependencies are resolved.
98
+ * @param offers - Every offer to resolve against, across all sources.
99
+ * @param preferred - Source to take a key from when several offer it: where it is installed, or where the request named it.
100
+ * @returns The offer with rewritten dependencies, the dependency offers found, and the ones that did not resolve.
66
101
  */
67
102
  export function resolveDependencies(offer, offers, preferred = {}) {
68
103
  const result = { offer, dependencies: [], unknown: [], ambiguous: [] };
@@ -83,13 +118,16 @@ export function resolveDependencies(offer, offers, preferred = {}) {
83
118
  return result;
84
119
  }
85
120
  /**
86
- * Resolves entry and group names against every offer, with the dependency
87
- * closure of each across sources. An entry named in the request settles which
88
- * source its key comes from for every dependency. Two different entries
89
- * wanted under one key are reported as ambiguous, since a target holds one
90
- * folder per key.
121
+ * @brief Resolves entry and group names against every offer, with the dependency closure of each across sources.
122
+ *
123
+ * An entry named in the request settles which source its key comes from for
124
+ * every dependency. Two different entries wanted under one key are reported as
125
+ * ambiguous, since a target holds one folder per key.
91
126
  *
92
- * @param installed - Source each installed key came from
127
+ * @param tokens - Names as typed on the command line, e.g. `["emphasise", "ui@g3n-skills"]`.
128
+ * @param offers - Every offer to resolve against, across all sources.
129
+ * @param installed - Source each installed key came from.
130
+ * @returns The entries to install, and what could not be resolved or was ambiguous.
93
131
  */
94
132
  export function resolveRequests(tokens, offers, installed = {}) {
95
133
  const preferred = { ...installed };
@@ -134,11 +172,14 @@ export function resolveRequests(tokens, offers, installed = {}) {
134
172
  return result;
135
173
  }
136
174
  /**
137
- * Resolves entry and group names against what a target has installed, with
138
- * `<name>@<source>` keeping only entries installed from that source. Works
139
- * from the install manifest alone, so no source needs to be reachable.
175
+ * @brief Resolves entry and group names against what a target has installed.
140
176
  *
141
- * @returns installed keys in the order named, and the names that match nothing installed
177
+ * `<name>@<source>` keeps only entries installed from that source. Works from
178
+ * the install manifest alone, so no source needs to be reachable.
179
+ *
180
+ * @param tokens - Names as typed, e.g. `["emphasise@g3n-skills"]`.
181
+ * @param installed - Installed entries by key, from one target's manifest.
182
+ * @returns Installed keys in the order named, and the names that match nothing installed.
142
183
  */
143
184
  export function resolveInstalled(tokens, installed) {
144
185
  const keys = [];
@@ -154,7 +195,14 @@ export function resolveInstalled(tokens, installed) {
154
195
  }
155
196
  return { keys: [...new Set(keys)], unknown };
156
197
  }
157
- /** Source each installed key came from, across manifests; the first manifest wins on a clash. */
198
+ /**
199
+ * @brief Maps each installed key to the source it came from, across manifests.
200
+ *
201
+ * The first manifest wins on a clash.
202
+ *
203
+ * @param installed - Installed entries by key, one record per target manifest.
204
+ * @returns Source name by installed key, e.g. `{ emphasise: "g3n-skills" }`.
205
+ */
158
206
  export function installedOrigins(installed) {
159
207
  const origins = {};
160
208
  for (const record of installed)
@@ -163,11 +211,30 @@ export function installedOrigins(installed) {
163
211
  return origins;
164
212
  }
165
213
  /**
166
- * The fresh offer for each installed key, from the source it was installed
167
- * from and never another, with its dependencies resolved.
214
+ * @brief Maps each forked key to the installed fork that stands in for it, across manifests.
215
+ *
216
+ * The first manifest wins on a clash.
217
+ *
218
+ * @param installed - Installed entries by key, one record per target manifest.
219
+ * @returns Installed fork key by forked key, e.g. `{ emphasise: "my-emphasise" }`.
220
+ */
221
+ export function installedForks(installed) {
222
+ const forks = {};
223
+ for (const record of installed) {
224
+ for (const [key, entry] of Object.entries(record))
225
+ if (entry.forkedFrom !== undefined)
226
+ forks[entry.forkedFrom] ??= key;
227
+ }
228
+ return forks;
229
+ }
230
+ /**
231
+ * @brief Finds the fresh offer for each installed key, from the source it was installed from and never another, with its dependencies resolved.
168
232
  *
169
- * @param preferred - Source each installed key came from, across targets
170
- * @returns the offers found, and the keys whose source is gone or no longer offers them
233
+ * @param keys - Installed keys to update.
234
+ * @param installed - Installed entries by key, from one target's manifest.
235
+ * @param offers - Every offer to search, across all sources.
236
+ * @param preferred - Source each installed key came from, across targets.
237
+ * @returns The offers found, and the keys whose source is gone or no longer offers them.
171
238
  */
172
239
  export function resolveUpdates(keys, installed, offers, preferred = {}) {
173
240
  const found = [];
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/installer/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/installer/resolve.ts"],"names":[],"mappings":"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"}
@@ -2,58 +2,95 @@ import { type RegistryStore } from "../registry/registry.store";
2
2
  import type { RegisteredSource, SourceCheckout } from "../sources/types";
3
3
  import type { EntrySource } from "../cli/types";
4
4
  import { type OriginEntry } from "./origin";
5
- /** What a package's reader found in one checked-out source. */
5
+ /**
6
+ * @brief What a package's reader found in one checked-out source.
7
+ *
8
+ * @property entries - Entries by key, each with its `origin` filled in.
9
+ * @property warnings - Problems the reader met that did not stop it.
10
+ */
6
11
  export interface SourceEntries<T extends OriginEntry> {
7
- /** Entries by key, each with its `origin` filled in */
8
12
  entries: [string, T][];
9
13
  warnings: string[];
10
14
  }
11
- /** Reads the entries one checked-out source offers; each installer supplies its own. */
15
+ /**
16
+ * @brief Reads the entries one checked-out source offers. Each installer supplies its own.
17
+ *
18
+ * @param checkout - Checkout of the source to read.
19
+ * @returns Entries and warnings found in the checkout.
20
+ */
12
21
  export type ReadSource<T extends OriginEntry> = (checkout: SourceCheckout) => Promise<SourceEntries<T>>;
13
- /** A source that could not be checked out or read, with the reason. */
22
+ /**
23
+ * @brief A source that could not be checked out or read.
24
+ *
25
+ * @property name - Name of the registered source.
26
+ * @property error - Reason it failed, as a message.
27
+ */
14
28
  export interface FailedSource {
15
29
  name: string;
16
30
  error: string;
17
31
  }
18
32
  /**
19
- * The entries a set of sources offers, one registry store per source, read
20
- * from checkouts that stay on disk until `dispose` so the install can copy
21
- * files out of them.
33
+ * @brief The entries a set of sources offers, one registry store per source.
22
34
  *
23
- * Built by `loadSourceRegistry` in each installer's `add`, `update`, `ls` and
24
- * `source add` commands. `offers` lists every entry for name resolution, and
25
- * `entrySource` copies an entry's files from its checkout.
35
+ * Checkouts stay on disk until `dispose` so the install can copy files out of them. Built by
36
+ * `loadSourceRegistry` in each installer's `add`, `update`, `ls` and `source add` commands. `offers`
37
+ * lists every entry for name resolution, and `entrySource` copies an entry's files from its checkout.
38
+ *
39
+ * @property sources - Entries by source name, in the order the sources were given.
40
+ * @property checkouts - Checkout of each source by name.
41
+ * @property warnings - Warnings from loading, prefixed with the source name.
42
+ * @property failed - Sources that could not be checked out or read.
43
+ * @property dispose - Releases every checkout.
26
44
  */
27
45
  export interface SourceRegistry<T extends OriginEntry> {
28
- /** Entries by source name, in the order the sources were given */
29
46
  sources: Map<string, RegistryStore<T>>;
30
47
  checkouts: Map<string, SourceCheckout>;
31
48
  warnings: string[];
32
49
  failed: FailedSource[];
33
50
  dispose: () => void;
34
51
  }
35
- /** One entry one source offers. */
52
+ /**
53
+ * @brief One entry that one source offers.
54
+ *
55
+ * @property key - Key of the entry within its source.
56
+ * @property entry - The entry itself.
57
+ */
36
58
  export interface SourceOffer<T extends OriginEntry> {
37
59
  key: string;
38
60
  entry: T;
39
61
  }
40
62
  /**
41
- * Checks out each source and reads its entries with `readSource`, all
42
- * sources at once. A source that cannot be checked out or read lands in
43
- * `failed` instead of throwing, so one unreachable source does not stop the
44
- * rest. A key offered twice by one source keeps the first, with a warning.
63
+ * @brief Checks out each source and reads its entries with `readSource`, all sources at once.
64
+ *
65
+ * A source that cannot be checked out or read lands in `failed` instead of throwing, so one unreachable
66
+ * source does not stop the rest. A key offered twice by one source keeps the first, with a warning.
45
67
  *
46
- * @param projectRoot - Absolute root that local source paths and the `node_modules` lookup start from
68
+ * @param sources - Registered sources to load.
69
+ * @param projectRoot - Absolute root that local source paths and the `node_modules` lookup start from.
70
+ * @param readSource - Reads the entries of one checkout.
71
+ * @returns Registry holding every source that loaded, with the rest in `failed`.
47
72
  */
48
73
  export declare function loadSourceRegistry<T extends OriginEntry>(sources: readonly RegisteredSource[], projectRoot: string, readSource: ReadSource<T>): Promise<SourceRegistry<T>>;
49
- /** Every entry of every source, sources in their given order and keys sorted within each. */
74
+ /**
75
+ * @brief Lists every entry of every source, sources in their given order and keys sorted within each.
76
+ *
77
+ * @param registry - Registry returned by `loadSourceRegistry`.
78
+ * @returns One offer per entry.
79
+ */
50
80
  export declare function offers<T extends OriginEntry>(registry: SourceRegistry<T>): SourceOffer<T>[];
51
81
  /**
52
- * File source for the core install commands: a file at `files[].path` is
53
- * copied from `<checkout>/<origin.dir>/<path>` in the checkout of the
54
- * entry's source.
82
+ * @brief File source for the core install commands. Copies each file from `<checkout>/<origin.dir>/<path>` in its entry's source.
83
+ *
84
+ * @param registry - Registry whose checkouts the files are copied from.
85
+ * @returns Source that copies an entry's files from the checkout of `origin.source`.
86
+ * @throws {Error} When the entry's source is not checked out.
55
87
  */
56
88
  export declare function entrySource<T extends OriginEntry>(registry: SourceRegistry<T>): EntrySource;
57
- /** Registry the core install commands take, keyed by entry key. */
89
+ /**
90
+ * @brief Converts offers into the registry the core install commands take, keyed by entry key.
91
+ *
92
+ * @param selected - Offers to include. A later offer with the same key replaces an earlier one.
93
+ * @returns Entries by key.
94
+ */
58
95
  export declare function offerRegistry<T extends OriginEntry>(selected: Iterable<SourceOffer<T>>): Record<string, T>;
59
96
  //# sourceMappingURL=sourceRegistry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sourceRegistry.d.ts","sourceRoot":"","sources":["../../src/installer/sourceRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAIpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAExE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAE9D,+DAA+D;AAC/D,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,WAAW;IAClD,uDAAuD;IACvD,OAAO,EAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAA;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,wFAAwF;AACxF,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,WAAW,IAAI,CAAC,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AAEvG,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAG,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,WAAW;IACnD,kEAAkE;IAClE,OAAO,EAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IACxC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACtC,QAAQ,EAAG,MAAM,EAAE,CAAA;IACnB,MAAM,EAAK,YAAY,EAAE,CAAA;IACzB,OAAO,EAAI,MAAM,IAAI,CAAA;CACtB;AAED,mCAAmC;AACnC,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,WAAW;IAChD,GAAG,EAAI,MAAM,CAAA;IACb,KAAK,EAAE,CAAC,CAAA;CACT;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,SAAS,WAAW,EAC5D,OAAO,EAAE,SAAS,gBAAgB,EAAE,EACpC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CA6B5B;AAED,6FAA6F;AAC7F,wBAAgB,MAAM,CAAC,CAAC,SAAS,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAG3F;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,CAO3F;AAED,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAI1G"}
1
+ {"version":3,"file":"sourceRegistry.d.ts","sourceRoot":"","sources":["../../src/installer/sourceRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAIpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAExE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAE9D;;;;;GAKG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,WAAW;IAClD,OAAO,EAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAA;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,WAAW,IAAI,CAAC,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AAEvG;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAG,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,WAAW;IACnD,OAAO,EAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IACxC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACtC,QAAQ,EAAG,MAAM,EAAE,CAAA;IACnB,MAAM,EAAK,YAAY,EAAE,CAAA;IACzB,OAAO,EAAI,MAAM,IAAI,CAAA;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,WAAW;IAChD,GAAG,EAAI,MAAM,CAAA;IACb,KAAK,EAAE,CAAC,CAAA;CACT;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,SAAS,WAAW,EAC5D,OAAO,EAAE,SAAS,gBAAgB,EAAE,EACpC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CA6B5B;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAG3F;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,CAO3F;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAI1G"}
@@ -8,12 +8,15 @@ import { errorMessage } from "../utils/errors";
8
8
  import { copySource } from "./install";
9
9
  import { OriginEntrySchema } from "./origin";
10
10
  /**
11
- * Checks out each source and reads its entries with `readSource`, all
12
- * sources at once. A source that cannot be checked out or read lands in
13
- * `failed` instead of throwing, so one unreachable source does not stop the
14
- * rest. A key offered twice by one source keeps the first, with a warning.
11
+ * @brief Checks out each source and reads its entries with `readSource`, all sources at once.
15
12
  *
16
- * @param projectRoot - Absolute root that local source paths and the `node_modules` lookup start from
13
+ * A source that cannot be checked out or read lands in `failed` instead of throwing, so one unreachable
14
+ * source does not stop the rest. A key offered twice by one source keeps the first, with a warning.
15
+ *
16
+ * @param sources - Registered sources to load.
17
+ * @param projectRoot - Absolute root that local source paths and the `node_modules` lookup start from.
18
+ * @param readSource - Reads the entries of one checkout.
19
+ * @returns Registry holding every source that loaded, with the rest in `failed`.
17
20
  */
18
21
  export async function loadSourceRegistry(sources, projectRoot, readSource) {
19
22
  const registry = { sources: new Map(), checkouts: new Map(), warnings: [], failed: [], dispose: () => { } };
@@ -43,14 +46,21 @@ export async function loadSourceRegistry(sources, projectRoot, readSource) {
43
46
  });
44
47
  return registry;
45
48
  }
46
- /** Every entry of every source, sources in their given order and keys sorted within each. */
49
+ /**
50
+ * @brief Lists every entry of every source, sources in their given order and keys sorted within each.
51
+ *
52
+ * @param registry - Registry returned by `loadSourceRegistry`.
53
+ * @returns One offer per entry.
54
+ */
47
55
  export function offers(registry) {
48
56
  return [...registry.sources.values()].flatMap((store) => Object.entries(entries(store)).sort(([a], [b]) => a.localeCompare(b)).map(([key, entry]) => ({ key, entry })));
49
57
  }
50
58
  /**
51
- * File source for the core install commands: a file at `files[].path` is
52
- * copied from `<checkout>/<origin.dir>/<path>` in the checkout of the
53
- * entry's source.
59
+ * @brief File source for the core install commands. Copies each file from `<checkout>/<origin.dir>/<path>` in its entry's source.
60
+ *
61
+ * @param registry - Registry whose checkouts the files are copied from.
62
+ * @returns Source that copies an entry's files from the checkout of `origin.source`.
63
+ * @throws {Error} When the entry's source is not checked out.
54
64
  */
55
65
  export function entrySource(registry) {
56
66
  return (entry) => {
@@ -61,7 +71,12 @@ export function entrySource(registry) {
61
71
  return copySource((filePath) => path.join(checkout.dir, origin.dir, filePath));
62
72
  };
63
73
  }
64
- /** Registry the core install commands take, keyed by entry key. */
74
+ /**
75
+ * @brief Converts offers into the registry the core install commands take, keyed by entry key.
76
+ *
77
+ * @param selected - Offers to include. A later offer with the same key replaces an earlier one.
78
+ * @returns Entries by key.
79
+ */
65
80
  export function offerRegistry(selected) {
66
81
  const registry = {};
67
82
  for (const offer of selected)
@@ -1 +1 @@
1
- {"version":3,"file":"sourceRegistry.js","sourceRoot":"","sources":["../../src/installer/sourceRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sourceRegistry.js","sourceRoot":"","sources":["../../src/installer/sourceRegistry.ts"],"names":[],"mappings":"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"}