@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.
- package/README.md +122 -0
- package/dist/cli/commands/add.d.ts +24 -4
- package/dist/cli/commands/add.d.ts.map +1 -1
- package/dist/cli/commands/add.js +37 -14
- package/dist/cli/commands/add.js.map +1 -1
- package/dist/cli/commands/conflict.d.ts +52 -0
- package/dist/cli/commands/conflict.d.ts.map +1 -0
- package/dist/cli/commands/conflict.js +88 -0
- package/dist/cli/commands/conflict.js.map +1 -0
- package/dist/cli/commands/installFromSources.d.ts +42 -13
- package/dist/cli/commands/installFromSources.d.ts.map +1 -1
- package/dist/cli/commands/installFromSources.js +68 -19
- package/dist/cli/commands/installFromSources.js.map +1 -1
- package/dist/cli/commands/ls.d.ts +13 -3
- package/dist/cli/commands/ls.d.ts.map +1 -1
- package/dist/cli/commands/ls.js +26 -6
- package/dist/cli/commands/ls.js.map +1 -1
- package/dist/cli/commands/remove.d.ts +7 -1
- package/dist/cli/commands/remove.d.ts.map +1 -1
- package/dist/cli/commands/remove.js +15 -1
- package/dist/cli/commands/remove.js.map +1 -1
- package/dist/cli/commands/sources.d.ts +34 -10
- package/dist/cli/commands/sources.d.ts.map +1 -1
- package/dist/cli/commands/sources.js +17 -3
- package/dist/cli/commands/sources.js.map +1 -1
- package/dist/cli/commands/update.d.ts +11 -4
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +32 -14
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/dialogue.d.ts +65 -13
- package/dist/cli/dialogue.d.ts.map +1 -1
- package/dist/cli/dialogue.js +46 -7
- package/dist/cli/dialogue.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/installDialogues.d.ts +11 -3
- package/dist/cli/installDialogues.d.ts.map +1 -1
- package/dist/cli/installDialogues.js +22 -5
- package/dist/cli/installDialogues.js.map +1 -1
- package/dist/cli/pick.d.ts +11 -2
- package/dist/cli/pick.d.ts.map +1 -1
- package/dist/cli/pick.js +11 -2
- package/dist/cli/pick.js.map +1 -1
- package/dist/cli/report.d.ts +32 -8
- package/dist/cli/report.d.ts.map +1 -1
- package/dist/cli/report.js +26 -5
- package/dist/cli/report.js.map +1 -1
- package/dist/cli/theme.d.ts +4 -0
- package/dist/cli/theme.d.ts.map +1 -1
- package/dist/cli/theme.js +4 -0
- package/dist/cli/theme.js.map +1 -1
- package/dist/cli/types.d.ts +56 -5
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/config/config.d.ts +32 -7
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +37 -7
- package/dist/config/config.js.map +1 -1
- package/dist/config/types.d.ts +58 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +0 -10
- package/dist/config/types.js.map +1 -1
- package/dist/hash/hash.d.ts +6 -8
- package/dist/hash/hash.d.ts.map +1 -1
- package/dist/hash/hash.js +7 -8
- package/dist/hash/hash.js.map +1 -1
- package/dist/hash/index.d.ts.map +1 -1
- package/dist/hash/index.js +1 -0
- package/dist/hash/index.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/installer/classify.d.ts +27 -1
- package/dist/installer/classify.d.ts.map +1 -1
- package/dist/installer/classify.js +36 -1
- package/dist/installer/classify.js.map +1 -1
- package/dist/installer/files.d.ts +10 -6
- package/dist/installer/files.d.ts.map +1 -1
- package/dist/installer/files.js +4 -3
- package/dist/installer/files.js.map +1 -1
- package/dist/installer/index.d.ts +1 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +1 -1
- package/dist/installer/index.js.map +1 -1
- package/dist/installer/install.d.ts +18 -6
- package/dist/installer/install.d.ts.map +1 -1
- package/dist/installer/install.js +20 -7
- package/dist/installer/install.js.map +1 -1
- package/dist/installer/io.d.ts +6 -1
- package/dist/installer/io.d.ts.map +1 -1
- package/dist/installer/io.js +6 -1
- package/dist/installer/io.js.map +1 -1
- package/dist/installer/manifest.d.ts +29 -19
- package/dist/installer/manifest.d.ts.map +1 -1
- package/dist/installer/manifest.js +20 -10
- package/dist/installer/manifest.js.map +1 -1
- package/dist/installer/manifestSources.d.ts +18 -7
- package/dist/installer/manifestSources.d.ts.map +1 -1
- package/dist/installer/manifestSources.js +18 -7
- package/dist/installer/manifestSources.js.map +1 -1
- package/dist/installer/marketplace.d.ts +24 -12
- package/dist/installer/marketplace.d.ts.map +1 -1
- package/dist/installer/marketplace.js +18 -10
- package/dist/installer/marketplace.js.map +1 -1
- package/dist/installer/origin.d.ts +23 -7
- package/dist/installer/origin.d.ts.map +1 -1
- package/dist/installer/origin.js +14 -7
- package/dist/installer/origin.js.map +1 -1
- package/dist/installer/remove.d.ts +17 -5
- package/dist/installer/remove.d.ts.map +1 -1
- package/dist/installer/remove.js +17 -5
- package/dist/installer/remove.js.map +1 -1
- package/dist/installer/resolve.d.ts +80 -31
- package/dist/installer/resolve.d.ts.map +1 -1
- package/dist/installer/resolve.js +96 -29
- package/dist/installer/resolve.js.map +1 -1
- package/dist/installer/sourceRegistry.d.ts +59 -22
- package/dist/installer/sourceRegistry.d.ts.map +1 -1
- package/dist/installer/sourceRegistry.js +25 -10
- package/dist/installer/sourceRegistry.js.map +1 -1
- package/dist/installer/types.d.ts +72 -19
- package/dist/installer/types.d.ts.map +1 -1
- package/dist/installer/types.js +18 -8
- package/dist/installer/types.js.map +1 -1
- package/dist/registry/index.d.ts +0 -4
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +1 -4
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/registry.handlers.d.ts +7 -0
- package/dist/registry/registry.handlers.d.ts.map +1 -1
- package/dist/registry/registry.handlers.js.map +1 -1
- package/dist/registry/registry.io.d.ts +23 -7
- package/dist/registry/registry.io.d.ts.map +1 -1
- package/dist/registry/registry.io.js +37 -14
- package/dist/registry/registry.io.js.map +1 -1
- package/dist/registry/registry.mutations.d.ts +10 -3
- package/dist/registry/registry.mutations.d.ts.map +1 -1
- package/dist/registry/registry.mutations.js +10 -3
- package/dist/registry/registry.mutations.js.map +1 -1
- package/dist/registry/registry.selectors.d.ts +41 -11
- package/dist/registry/registry.selectors.d.ts.map +1 -1
- package/dist/registry/registry.selectors.js +41 -11
- package/dist/registry/registry.selectors.js.map +1 -1
- package/dist/registry/registry.store.d.ts +22 -9
- package/dist/registry/registry.store.d.ts.map +1 -1
- package/dist/registry/registry.store.js +12 -3
- package/dist/registry/registry.store.js.map +1 -1
- package/dist/registry/registry.template.d.ts +12 -6
- package/dist/registry/registry.template.d.ts.map +1 -1
- package/dist/registry/registry.template.js +13 -6
- package/dist/registry/registry.template.js.map +1 -1
- package/dist/registry/types.d.ts +17 -3
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/registry/types.js +16 -6
- package/dist/registry/types.js.map +1 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +1 -0
- package/dist/security/index.js.map +1 -1
- package/dist/security/securityParser.d.ts +9 -8
- package/dist/security/securityParser.d.ts.map +1 -1
- package/dist/security/securityParser.js +12 -22
- package/dist/security/securityParser.js.map +1 -1
- package/dist/security/securityWorker.d.ts +11 -0
- package/dist/security/securityWorker.d.ts.map +1 -1
- package/dist/security/securityWorker.js +17 -38
- package/dist/security/securityWorker.js.map +1 -1
- package/dist/sources/checkout.d.ts +10 -4
- package/dist/sources/checkout.d.ts.map +1 -1
- package/dist/sources/checkout.js +10 -4
- package/dist/sources/checkout.js.map +1 -1
- package/dist/sources/git.d.ts +5 -3
- package/dist/sources/git.d.ts.map +1 -1
- package/dist/sources/git.js +5 -3
- package/dist/sources/git.js.map +1 -1
- package/dist/sources/local.d.ts +6 -4
- package/dist/sources/local.d.ts.map +1 -1
- package/dist/sources/local.js +6 -4
- package/dist/sources/local.js.map +1 -1
- package/dist/sources/npm.d.ts +10 -7
- package/dist/sources/npm.d.ts.map +1 -1
- package/dist/sources/npm.js +49 -15
- package/dist/sources/npm.js.map +1 -1
- package/dist/sources/parse.d.ts +24 -16
- package/dist/sources/parse.d.ts.map +1 -1
- package/dist/sources/parse.js +40 -18
- package/dist/sources/parse.js.map +1 -1
- package/dist/sources/process.d.ts +10 -7
- package/dist/sources/process.d.ts.map +1 -1
- package/dist/sources/process.js +10 -7
- package/dist/sources/process.js.map +1 -1
- package/dist/sources/register.d.ts +20 -5
- package/dist/sources/register.d.ts.map +1 -1
- package/dist/sources/register.js +20 -5
- package/dist/sources/register.js.map +1 -1
- package/dist/sources/types.d.ts +43 -8
- package/dist/sources/types.d.ts.map +1 -1
- package/dist/sources/types.js +21 -4
- package/dist/sources/types.js.map +1 -1
- package/dist/utils/errors.d.ts +6 -1
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +6 -1
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/merge.d.ts +8 -2
- package/dist/utils/merge.d.ts.map +1 -1
- package/dist/utils/merge.js +9 -2
- package/dist/utils/merge.js.map +1 -1
- package/dist/utils/packageMeta.d.ts +16 -2
- package/dist/utils/packageMeta.d.ts.map +1 -1
- package/dist/utils/packageMeta.js +6 -2
- package/dist/utils/packageMeta.js.map +1 -1
- package/dist/utils/paths.d.ts +16 -5
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +16 -5
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/prompt.d.ts +6 -1
- package/dist/utils/prompt.d.ts.map +1 -1
- package/dist/utils/prompt.js +6 -1
- package/dist/utils/prompt.js.map +1 -1
- package/dist/utils/version.d.ts +7 -2
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js +40 -3
- package/dist/utils/version.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,19 +1,31 @@
|
|
|
1
1
|
import { installedEntries, saveInstallManifest } from "../../installer/manifest";
|
|
2
|
-
import { installedOrigins, resolveInstalled, resolveRequests, resolveUpdates } from "../../installer/resolve";
|
|
2
|
+
import { installedForks, installedOrigins, resolveInstalled, resolveRequests, resolveUpdates } from "../../installer/resolve";
|
|
3
3
|
import { entrySource, offerRegistry, offers } from "../../installer/sourceRegistry";
|
|
4
4
|
import { runDialogueValue } from "../dialogue";
|
|
5
|
-
import { cascadeDialogue, incompleteDialogue, notInstalledDialogue,
|
|
5
|
+
import { cascadeDialogue, incompleteDialogue, notInstalledDialogue, conflictDialogue, removeChangedDialogue, selectRemovalDialogue } from "../installDialogues";
|
|
6
6
|
import { pickOffers } from "../pick";
|
|
7
7
|
import { reportResolution } from "../report";
|
|
8
8
|
import { c, lineError, lineInfo, lineWarn } from "../theme";
|
|
9
9
|
import { addEntries } from "./add";
|
|
10
10
|
import { removeEntries } from "./remove";
|
|
11
11
|
import { updateEntries } from "./update";
|
|
12
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* @brief The context's file source for a registry, or a copy out of each source's checkout.
|
|
14
|
+
*
|
|
15
|
+
* @param registry - Source registry the files are read from.
|
|
16
|
+
* @param context - What the installer calls itself.
|
|
17
|
+
* @returns Function giving each entry's files.
|
|
18
|
+
*/
|
|
13
19
|
function filesFrom(registry, context) {
|
|
14
20
|
return context.fileSource?.(registry) ?? entrySource(registry);
|
|
15
21
|
}
|
|
16
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* @brief Installed entries of every target, each key once; the first target wins on a clash.
|
|
24
|
+
*
|
|
25
|
+
* @param targets - Targets to read, in priority order.
|
|
26
|
+
* @param schema - Schema installed entries are parsed with.
|
|
27
|
+
* @returns Installed entries by key.
|
|
28
|
+
*/
|
|
17
29
|
function installedAcross(targets, schema) {
|
|
18
30
|
const installed = {};
|
|
19
31
|
for (const target of targets)
|
|
@@ -22,51 +34,84 @@ function installedAcross(targets, schema) {
|
|
|
22
34
|
return installed;
|
|
23
35
|
}
|
|
24
36
|
/**
|
|
25
|
-
* Installs entries or whole groups from a source registry into every target,
|
|
37
|
+
* @brief Installs entries or whole groups from a source registry into every target,
|
|
26
38
|
* each with its dependencies from any source, and saves each manifest. With
|
|
27
|
-
* no names the user picks from what the sources offer.
|
|
39
|
+
* no names the user picks from what the sources offer. A key an installed
|
|
40
|
+
* fork stands in for is not installed.
|
|
28
41
|
*
|
|
29
42
|
* @param names - As typed: `<name>` or `<name>@<source>`, a name being an entry key or a group
|
|
43
|
+
* @param targets - Install targets, each with its manifest.
|
|
44
|
+
* @param registry - Source registry the names are resolved against.
|
|
45
|
+
* @param options - Force, dry run and preset answers.
|
|
46
|
+
* @param context - What the installer calls itself.
|
|
47
|
+
* @param after - Runs after each manifest is saved.
|
|
30
48
|
*/
|
|
31
49
|
export async function addFromSources(targets, names, registry, options, context, after) {
|
|
32
50
|
const available = offers(registry);
|
|
33
51
|
const requested = names.length > 0 ? [...names] : await pickOffers(available, context.noun, options.answers);
|
|
34
52
|
if (requested.length === 0)
|
|
35
53
|
return;
|
|
36
|
-
const
|
|
37
|
-
const resolution = resolveRequests(requested, available,
|
|
54
|
+
const installed = targets.map((t) => installedEntries(t.manifest, context.entrySchema));
|
|
55
|
+
const resolution = resolveRequests(requested, available, installedOrigins(installed));
|
|
38
56
|
await reportResolution(resolution, context, options.answers);
|
|
39
|
-
const
|
|
57
|
+
const forks = installedForks(installed);
|
|
58
|
+
const selected = [...resolution.entries.values()].filter(({ key }) => {
|
|
59
|
+
const fork = forks[key];
|
|
60
|
+
if (fork !== undefined)
|
|
61
|
+
console.log(lineInfo(`${c.key(key)} is forked as ${c.key(fork)} — not installed. Remove the fork to install it.`));
|
|
62
|
+
return fork === undefined;
|
|
63
|
+
});
|
|
64
|
+
if (selected.length === 0)
|
|
65
|
+
return;
|
|
40
66
|
const keys = selected.map((s) => s.key);
|
|
41
|
-
await addEntries(offerRegistry(selected), [...targets], filesFrom(registry, context), keys, options, { onCollision:
|
|
67
|
+
await addEntries(offerRegistry(selected), [...targets], filesFrom(registry, context), keys, options, { onCollision: conflictDialogue });
|
|
42
68
|
for (const target of targets) {
|
|
43
69
|
saveInstallManifest(target.manifest, context.entrySchema);
|
|
44
70
|
await after?.(target, keys);
|
|
45
71
|
}
|
|
46
72
|
}
|
|
47
|
-
/**
|
|
73
|
+
/**
|
|
74
|
+
* @brief Warns about dependencies an updated entry now has that the target does not hold.
|
|
75
|
+
*
|
|
76
|
+
* @param updated - Offers that were updated.
|
|
77
|
+
* @param installed - Installed entries by key.
|
|
78
|
+
* @param context - What the installer calls itself.
|
|
79
|
+
*/
|
|
48
80
|
function reportNewDependencies(updated, installed, context) {
|
|
81
|
+
const forks = installedForks([installed]);
|
|
49
82
|
for (const { key, entry } of updated) {
|
|
50
|
-
const missing = (entry.registryDependencies ?? []).filter((dep) => installed[dep] === undefined);
|
|
83
|
+
const missing = (entry.registryDependencies ?? []).filter((dep) => installed[dep] === undefined && forks[dep] === undefined);
|
|
51
84
|
if (missing.length > 0) {
|
|
52
85
|
console.log(lineWarn(`${c.key(key)} now depends on ${missing.map((m) => c.key(m)).join(", ")}: run ${c.cmd(`${context.bin} add ${key}`)} to install them`));
|
|
53
86
|
}
|
|
54
87
|
}
|
|
55
88
|
}
|
|
56
89
|
/**
|
|
57
|
-
* Re-installs installed entries from the source each one was installed
|
|
90
|
+
* @brief Re-installs installed entries from the source each one was installed
|
|
58
91
|
* from, at that source's current revision; with no names, everything
|
|
59
|
-
* installed.
|
|
60
|
-
*
|
|
61
|
-
* entry gained since install are
|
|
92
|
+
* installed. Forks are reported and left alone. Names installed in no
|
|
93
|
+
* target are reported first, and the sources are only opened once something
|
|
94
|
+
* is left to update. Dependencies an entry gained since install are
|
|
95
|
+
* reported, not installed.
|
|
62
96
|
*
|
|
97
|
+
* @param targets - Install targets, each with its manifest.
|
|
98
|
+
* @param names - Names to update; empty to update everything installed.
|
|
63
99
|
* @param openRegistry - Opens the source registry; the command disposes it
|
|
100
|
+
* @param options - Force, dry run and preset answers.
|
|
101
|
+
* @param context - What the installer calls itself.
|
|
102
|
+
* @param after - Runs after each manifest is saved.
|
|
64
103
|
*/
|
|
65
104
|
export async function updateFromSources(targets, names, openRegistry, options, context, after) {
|
|
66
105
|
const plans = targets.map((target) => {
|
|
67
106
|
const installed = installedEntries(target.manifest, context.entrySchema);
|
|
68
|
-
|
|
107
|
+
const named = names.length > 0 ? resolveInstalled(names, installed) : { keys: Object.keys(installed), unknown: [] };
|
|
108
|
+
const forks = named.keys.filter((key) => installed[key]?.forkedFrom !== undefined);
|
|
109
|
+
return { target, installed, forks, unknown: named.unknown, keys: named.keys.filter((key) => !forks.includes(key)) };
|
|
69
110
|
});
|
|
111
|
+
for (const { installed, forks } of plans) {
|
|
112
|
+
for (const key of forks)
|
|
113
|
+
console.log(lineInfo(`${c.key(key)} is a fork of ${c.key(installed[key]?.forkedFrom ?? "")} — not updated`));
|
|
114
|
+
}
|
|
70
115
|
const unknown = [...new Set(plans.flatMap((p) => p.unknown))].filter((name) => plans.every((p) => p.unknown.includes(name)));
|
|
71
116
|
if (unknown.length > 0) {
|
|
72
117
|
const list = unknown.map((k) => c.key(k)).join(", ");
|
|
@@ -99,7 +144,7 @@ export async function updateFromSources(targets, names, openRegistry, options, c
|
|
|
99
144
|
if (updated.length === 0)
|
|
100
145
|
continue;
|
|
101
146
|
const keys = updated.map((u) => u.key);
|
|
102
|
-
await updateEntries(offerRegistry(updated), [plan.target], filesFrom(registry, context), keys, options, { onCollision:
|
|
147
|
+
await updateEntries(offerRegistry(updated), [plan.target], filesFrom(registry, context), keys, options, { onCollision: conflictDialogue });
|
|
103
148
|
if (options.dryRun !== true) {
|
|
104
149
|
saveInstallManifest(plan.target.manifest, context.entrySchema);
|
|
105
150
|
await after?.(plan.target, keys);
|
|
@@ -111,12 +156,16 @@ export async function updateFromSources(targets, names, openRegistry, options, c
|
|
|
111
156
|
}
|
|
112
157
|
}
|
|
113
158
|
/**
|
|
114
|
-
* Removes installed entries, or whole groups, from every target and saves
|
|
159
|
+
* @brief Removes installed entries, or whole groups, from every target and saves
|
|
115
160
|
* each manifest. Works from the manifests alone, so no source needs to be
|
|
116
161
|
* reachable; installed dependents are offered for removal too. With no names
|
|
117
162
|
* the user picks from what is installed.
|
|
118
163
|
*
|
|
119
164
|
* @param after - Gets the keys a target no longer holds, to clean up what the installer added beside the files
|
|
165
|
+
* @param targets - Install targets, each with its manifest.
|
|
166
|
+
* @param names - Names to remove; empty to pick from what is installed.
|
|
167
|
+
* @param options - Force flag and preset answers.
|
|
168
|
+
* @param context - What the installer calls itself.
|
|
120
169
|
*/
|
|
121
170
|
export async function removeFromTargets(targets, names, options, context, after) {
|
|
122
171
|
const installed = installedAcross(targets, context.entrySchema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installFromSources.js","sourceRoot":"","sources":["../../../src/cli/commands/installFromSources.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGjF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"installFromSources.js","sourceRoot":"","sources":["../../../src/cli/commands/installFromSources.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,24 @@ import type { LSOptions } from "../types";
|
|
|
3
3
|
import type { OriginEntry } from "../../installer/origin";
|
|
4
4
|
import type { SourceRegistry } from "../../installer/sourceRegistry";
|
|
5
5
|
import type { RegisteredSource } from "../../sources/types";
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* @brief Lists the entries of a registry, grouped by each entry's `group`.
|
|
8
|
+
*
|
|
9
|
+
* @param registry - Entries to list, by key.
|
|
10
|
+
* @param options - Prints JSON when `json` is set.
|
|
11
|
+
*/
|
|
7
12
|
export declare function lsEntries(registry: BaseRegistry, options?: LSOptions): void;
|
|
8
13
|
/**
|
|
9
|
-
* Lists what each source of a source registry offers
|
|
14
|
+
* @brief Lists what each source of a source registry offers.
|
|
15
|
+
*
|
|
16
|
+
* A header per source
|
|
10
17
|
* with where it comes from when `sources` holds its spec, then its entries by group, `●` marking the ones
|
|
11
|
-
* `installed` holds. With `json`, prints every offer as `{ key, ...entry }`.
|
|
18
|
+
* `installed` holds and `◐` the ones an installed fork stands in for. With `json`, prints every offer as `{ key, ...entry }`.
|
|
12
19
|
*
|
|
20
|
+
* @param registry - Source registry to list.
|
|
21
|
+
* @param sources - Registered sources, for where each one comes from.
|
|
13
22
|
* @param installed - Installed entries by key, to mark; empty to mark nothing
|
|
23
|
+
* @param options - Prints JSON when `json` is set.
|
|
14
24
|
*/
|
|
15
25
|
export declare function lsSourceRegistry<T extends OriginEntry>(registry: SourceRegistry<T>, sources: readonly RegisteredSource[], installed: Record<string, OriginEntry>, options?: LSOptions): void;
|
|
16
26
|
//# sourceMappingURL=ls.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ls.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ls.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,GAAE,SAAc,GAAG,IAAI,CAiB/E;AAcD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,WAAW,EACpD,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAC3B,OAAO,EAAE,SAAS,gBAAgB,EAAE,EACpC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACtC,OAAO,GAAE,SAAc,GACtB,IAAI,CA4BN"}
|
package/dist/cli/commands/ls.js
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
// packages/core/src/cli/commands/ls.ts
|
|
2
2
|
import chalk from "chalk";
|
|
3
3
|
import { c } from "../theme";
|
|
4
|
+
import { installedForks } from "../../installer/resolve";
|
|
4
5
|
import { offers } from "../../installer/sourceRegistry";
|
|
5
6
|
import { describeSource } from "../../sources/checkout";
|
|
6
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* @brief Lists the entries of a registry, grouped by each entry's `group`.
|
|
9
|
+
*
|
|
10
|
+
* @param registry - Entries to list, by key.
|
|
11
|
+
* @param options - Prints JSON when `json` is set.
|
|
12
|
+
*/
|
|
7
13
|
export function lsEntries(registry, options = {}) {
|
|
8
14
|
if (options.json === true) {
|
|
9
15
|
console.log(JSON.stringify(registry, null, 2));
|
|
@@ -21,7 +27,12 @@ export function lsEntries(registry, options = {}) {
|
|
|
21
27
|
console.log();
|
|
22
28
|
}
|
|
23
29
|
}
|
|
24
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* @brief Formats the revision of the checkout an entry was read from.
|
|
32
|
+
*
|
|
33
|
+
* @param origin - Origin of the entry, or `undefined` when unknown.
|
|
34
|
+
* @returns ` at <commit>` or ` v<version>`, empty when neither is known.
|
|
35
|
+
*/
|
|
25
36
|
function revision(origin) {
|
|
26
37
|
if (origin?.commit !== undefined)
|
|
27
38
|
return ` at ${origin.commit.slice(0, 7)}`;
|
|
@@ -30,17 +41,23 @@ function revision(origin) {
|
|
|
30
41
|
return "";
|
|
31
42
|
}
|
|
32
43
|
/**
|
|
33
|
-
* Lists what each source of a source registry offers
|
|
44
|
+
* @brief Lists what each source of a source registry offers.
|
|
45
|
+
*
|
|
46
|
+
* A header per source
|
|
34
47
|
* with where it comes from when `sources` holds its spec, then its entries by group, `●` marking the ones
|
|
35
|
-
* `installed` holds. With `json`, prints every offer as `{ key, ...entry }`.
|
|
48
|
+
* `installed` holds and `◐` the ones an installed fork stands in for. With `json`, prints every offer as `{ key, ...entry }`.
|
|
36
49
|
*
|
|
50
|
+
* @param registry - Source registry to list.
|
|
51
|
+
* @param sources - Registered sources, for where each one comes from.
|
|
37
52
|
* @param installed - Installed entries by key, to mark; empty to mark nothing
|
|
53
|
+
* @param options - Prints JSON when `json` is set.
|
|
38
54
|
*/
|
|
39
55
|
export function lsSourceRegistry(registry, sources, installed, options = {}) {
|
|
40
56
|
if (options.json === true) {
|
|
41
57
|
console.log(JSON.stringify(offers(registry).map(({ key, entry }) => ({ key, ...entry })), null, 2));
|
|
42
58
|
return;
|
|
43
59
|
}
|
|
60
|
+
const forks = installedForks([installed]);
|
|
44
61
|
for (const [name, store] of registry.sources) {
|
|
45
62
|
const listed = Object.entries(store.store.state).sort(([a], [b]) => a.localeCompare(b));
|
|
46
63
|
if (listed.length === 0)
|
|
@@ -54,9 +71,12 @@ export function lsSourceRegistry(registry, sources, installed, options = {}) {
|
|
|
54
71
|
for (const group of Object.keys(byGroup).sort()) {
|
|
55
72
|
console.log(c.header(group));
|
|
56
73
|
for (const [key, entry] of byGroup[group] ?? []) {
|
|
57
|
-
const
|
|
74
|
+
const fork = forks[key];
|
|
75
|
+
const forkedHere = fork !== undefined && installed[fork]?.origin.source === name;
|
|
76
|
+
const mark = installed[key]?.origin.source === name ? chalk.green("●") : forkedHere ? chalk.yellow("◐") : " ";
|
|
58
77
|
const label = `${c.key(key)} ${chalk.dim(entry.version ?? "")}`;
|
|
59
|
-
|
|
78
|
+
const note = forkedHere ? `forked as ${fork}` : entry.description ?? "";
|
|
79
|
+
console.log(` ${mark} ${label.padEnd(40)} ${chalk.dim(note)}`);
|
|
60
80
|
}
|
|
61
81
|
}
|
|
62
82
|
console.log();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/cli/commands/ls.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD
|
|
1
|
+
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/cli/commands/ls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import type { BaseRegistry } from "../../registry/types";
|
|
2
2
|
import type { InstallOptions, InstallTarget, RemoveDialogues } from "../types";
|
|
3
3
|
/**
|
|
4
|
-
* Removes installed entries and drops them from each target's store. With no
|
|
4
|
+
* @brief Removes installed entries and drops them from each target's store. With no
|
|
5
5
|
* keys and an `onNoValue` dialogue the user picks from what is installed.
|
|
6
6
|
* Removal is all-or-nothing per entry: local changes prompt keep/remove
|
|
7
7
|
* through `onCollision` (kept entirely without it), and an entry with files
|
|
8
8
|
* missing on disk proceeds only when `onIncomplete` confirms. Installed
|
|
9
9
|
* dependents (via `registryDependencies`) are offered for cascade removal
|
|
10
10
|
* through `onCascade`. The caller saves each target's store after.
|
|
11
|
+
*
|
|
12
|
+
* @param registry - Entries the targets are checked against for dependents.
|
|
13
|
+
* @param targets - Destinations to remove from.
|
|
14
|
+
* @param keys - Keys to remove; empty to pick from what is installed.
|
|
15
|
+
* @param options - Force flag and preset answers.
|
|
16
|
+
* @param dialogues - Dialogues for the picker, cascade, local changes and missing files.
|
|
11
17
|
*/
|
|
12
18
|
export declare function removeEntries(registry: BaseRegistry, targets: InstallTarget[], keys: string[], options?: InstallOptions, dialogues?: RemoveDialogues): Promise<void>;
|
|
13
19
|
//# sourceMappingURL=remove.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/remove.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAqB,MAAM,sBAAsB,CAAC;AAO5E,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/remove.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAqB,MAAM,sBAAsB,CAAC;AAO5E,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAwC/E;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,aAAa,EAAE,EACxB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,cAAmB,EAC5B,SAAS,GAAE,eAAoB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA4Ef"}
|
|
@@ -11,6 +11,14 @@ import { guardCancel } from "../../utils/prompt";
|
|
|
11
11
|
import { runDialogueValue } from "../dialogue";
|
|
12
12
|
import { c, lineSuccess, lineWarn, lineInfo } from "../theme";
|
|
13
13
|
const KeysSchema = z.array(z.string());
|
|
14
|
+
/**
|
|
15
|
+
* @brief Compares an entry's files on disk with the hashes recorded at install.
|
|
16
|
+
*
|
|
17
|
+
* @param entry - Installed entry whose files to check.
|
|
18
|
+
* @param installDir - Directory the files are in.
|
|
19
|
+
* @param io - Installer I/O that reads the files.
|
|
20
|
+
* @returns The files missing and the files modified on disk.
|
|
21
|
+
*/
|
|
14
22
|
async function diskState(entry, installDir, io) {
|
|
15
23
|
const recorded = recordedHashes(entry);
|
|
16
24
|
const missing = [];
|
|
@@ -28,13 +36,19 @@ async function diskState(entry, installDir, io) {
|
|
|
28
36
|
return { missing, modified };
|
|
29
37
|
}
|
|
30
38
|
/**
|
|
31
|
-
* Removes installed entries and drops them from each target's store. With no
|
|
39
|
+
* @brief Removes installed entries and drops them from each target's store. With no
|
|
32
40
|
* keys and an `onNoValue` dialogue the user picks from what is installed.
|
|
33
41
|
* Removal is all-or-nothing per entry: local changes prompt keep/remove
|
|
34
42
|
* through `onCollision` (kept entirely without it), and an entry with files
|
|
35
43
|
* missing on disk proceeds only when `onIncomplete` confirms. Installed
|
|
36
44
|
* dependents (via `registryDependencies`) are offered for cascade removal
|
|
37
45
|
* through `onCascade`. The caller saves each target's store after.
|
|
46
|
+
*
|
|
47
|
+
* @param registry - Entries the targets are checked against for dependents.
|
|
48
|
+
* @param targets - Destinations to remove from.
|
|
49
|
+
* @param keys - Keys to remove; empty to pick from what is installed.
|
|
50
|
+
* @param options - Force flag and preset answers.
|
|
51
|
+
* @param dialogues - Dialogues for the picker, cascade, local changes and missing files.
|
|
38
52
|
*/
|
|
39
53
|
export async function removeEntries(registry, targets, keys, options = {}, dialogues = {}) {
|
|
40
54
|
const io = createInstallerIO();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/cli/commands/remove.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,mCAAmC,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE9D,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/cli/commands/remove.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,41 +3,65 @@ import type { OriginEntry } from "../../installer/origin";
|
|
|
3
3
|
import type { ReadSource } from "../../installer/sourceRegistry";
|
|
4
4
|
import type { SourceRecord } from "../../sources/types";
|
|
5
5
|
import type { ManifestTarget } from "./installFromSources";
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* @brief What an installer tells the source commands about itself.
|
|
8
|
+
*
|
|
9
|
+
* @property bin - Installer binary, for the hints it prints, e.g. `g3n-skills`.
|
|
10
|
+
* @property noun - What one entry is called, e.g. `skill`.
|
|
11
|
+
* @property builtins - Sources built into the installer.
|
|
12
|
+
* @property entrySchema - Schema installed entries are parsed with.
|
|
13
|
+
* @property readSource - Reads the entries of a source checkout.
|
|
14
|
+
* @property projectRoot - Absolute root that local source paths and the `node_modules` lookup start from.
|
|
15
|
+
*/
|
|
7
16
|
export interface SourceCommandContext<T extends OriginEntry> {
|
|
8
|
-
/** Installer binary, for the hints it prints, e.g. `g3n-skills` */
|
|
9
17
|
bin: string;
|
|
10
|
-
/** What one entry is called, e.g. `skill` */
|
|
11
18
|
noun: string;
|
|
12
19
|
builtins: SourceRecord;
|
|
13
20
|
entrySchema: z.ZodType<T>;
|
|
14
21
|
readSource: ReadSource<T>;
|
|
15
|
-
/** Absolute root that local source paths and the `node_modules` lookup start from */
|
|
16
22
|
projectRoot: string;
|
|
17
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* @brief Options that register a source.
|
|
26
|
+
*
|
|
27
|
+
* @property name - Name to register under; derived from the source when absent.
|
|
28
|
+
* @property ref - Branch or tag a git source is pinned to.
|
|
29
|
+
* @property absolutePaths - Store a local path absolute instead of relative to the project root, for a manifest every project shares.
|
|
30
|
+
*/
|
|
18
31
|
export interface SourceAddOptions {
|
|
19
|
-
/** Name to register under; derived from the source when absent */
|
|
20
32
|
name?: string;
|
|
21
|
-
/** Branch or tag a git source is pinned to */
|
|
22
33
|
ref?: string;
|
|
23
|
-
/** Store a local path absolute instead of relative to the project root, for a manifest every project shares */
|
|
24
34
|
absolutePaths?: boolean;
|
|
25
35
|
}
|
|
26
36
|
/**
|
|
27
|
-
* Registers a git repository, npm package or local folder as a source in
|
|
37
|
+
* @brief Registers a git repository, npm package or local folder as a source in
|
|
28
38
|
* every manifest, after checking it can be read and offers at least one entry.
|
|
29
39
|
*
|
|
40
|
+
* @param manifests - Manifests to register the source in.
|
|
30
41
|
* @param input - The source as typed, e.g. `owner/repo`, `npm:@scope/pkg` or `./folder`
|
|
42
|
+
* @param options - Name, ref and path handling for the source.
|
|
43
|
+
* @param context - What the installer calls itself.
|
|
31
44
|
*/
|
|
32
45
|
export declare function addSourceEntries<T extends OriginEntry>(manifests: readonly ManifestTarget[], input: string, options: SourceAddOptions, context: SourceCommandContext<T>): Promise<void>;
|
|
33
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* @brief Lists each manifest's sources, built-in ones first, with how many installed entries came from each.
|
|
48
|
+
*
|
|
49
|
+
* @param manifests - Manifests to list, one target each.
|
|
50
|
+
* @param options - Prints JSON when `json` is set.
|
|
51
|
+
* @param context - Built-in sources and the entry schema.
|
|
52
|
+
*/
|
|
34
53
|
export declare function lsSources<T extends OriginEntry>(manifests: readonly ManifestTarget[], options: {
|
|
35
54
|
json?: boolean;
|
|
36
55
|
}, context: Pick<SourceCommandContext<T>, "builtins" | "entrySchema">): void;
|
|
37
56
|
/**
|
|
38
|
-
* Unregisters a source from every manifest that has it. Refused for built-in
|
|
57
|
+
* @brief Unregisters a source from every manifest that has it. Refused for built-in
|
|
39
58
|
* sources, and while installed entries came from it unless `force` is set;
|
|
40
59
|
* forced, those entries stay installed but can no longer be updated.
|
|
60
|
+
*
|
|
61
|
+
* @param manifests - Manifests to unregister the source from.
|
|
62
|
+
* @param name - Name of the source to unregister.
|
|
63
|
+
* @param options - Force flag, keeping installed entries without updates.
|
|
64
|
+
* @param context - What the installer calls itself.
|
|
41
65
|
*/
|
|
42
66
|
export declare function removeSourceEntries<T extends OriginEntry>(manifests: readonly ManifestTarget[], name: string, options: {
|
|
43
67
|
force?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sources.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAGjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D
|
|
1
|
+
{"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sources.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAGjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,WAAW;IACzD,GAAG,EAAU,MAAM,CAAC;IACpB,IAAI,EAAS,MAAM,CAAC;IACpB,QAAQ,EAAK,YAAY,CAAC;IAC1B,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACzB,UAAU,EAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAG,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,WAAW,EAC1D,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,WAAW,EAC7C,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EAC3B,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC,GACjE,IAAI,CAuBN;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,WAAW,EACvD,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAC5B,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,CAAC,GAClF,IAAI,CAmBN"}
|
|
@@ -8,10 +8,13 @@ import { anchorLocalSpec, defaultSourceName, parseSourceSpec } from "../../sourc
|
|
|
8
8
|
import { orExit, reportSourceRegistry } from "../report";
|
|
9
9
|
import { c, lineError, lineInfo, lineSuccess } from "../theme";
|
|
10
10
|
/**
|
|
11
|
-
* Registers a git repository, npm package or local folder as a source in
|
|
11
|
+
* @brief Registers a git repository, npm package or local folder as a source in
|
|
12
12
|
* every manifest, after checking it can be read and offers at least one entry.
|
|
13
13
|
*
|
|
14
|
+
* @param manifests - Manifests to register the source in.
|
|
14
15
|
* @param input - The source as typed, e.g. `owner/repo`, `npm:@scope/pkg` or `./folder`
|
|
16
|
+
* @param options - Name, ref and path handling for the source.
|
|
17
|
+
* @param context - What the installer calls itself.
|
|
15
18
|
*/
|
|
16
19
|
export async function addSourceEntries(manifests, input, options, context) {
|
|
17
20
|
const parsed = orExit(() => parseSourceSpec(input, { ref: options.ref }));
|
|
@@ -39,7 +42,13 @@ export async function addSourceEntries(manifests, input, options, context) {
|
|
|
39
42
|
registry.dispose();
|
|
40
43
|
}
|
|
41
44
|
}
|
|
42
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* @brief Lists each manifest's sources, built-in ones first, with how many installed entries came from each.
|
|
47
|
+
*
|
|
48
|
+
* @param manifests - Manifests to list, one target each.
|
|
49
|
+
* @param options - Prints JSON when `json` is set.
|
|
50
|
+
* @param context - Built-in sources and the entry schema.
|
|
51
|
+
*/
|
|
43
52
|
export function lsSources(manifests, options, context) {
|
|
44
53
|
const listing = manifests.map(({ label, manifest }) => {
|
|
45
54
|
const installed = Object.values(installedEntries(manifest, context.entrySchema));
|
|
@@ -65,9 +74,14 @@ export function lsSources(manifests, options, context) {
|
|
|
65
74
|
}
|
|
66
75
|
}
|
|
67
76
|
/**
|
|
68
|
-
* Unregisters a source from every manifest that has it. Refused for built-in
|
|
77
|
+
* @brief Unregisters a source from every manifest that has it. Refused for built-in
|
|
69
78
|
* sources, and while installed entries came from it unless `force` is set;
|
|
70
79
|
* forced, those entries stay installed but can no longer be updated.
|
|
80
|
+
*
|
|
81
|
+
* @param manifests - Manifests to unregister the source from.
|
|
82
|
+
* @param name - Name of the source to unregister.
|
|
83
|
+
* @param options - Force flag, keeping installed entries without updates.
|
|
84
|
+
* @param context - What the installer calls itself.
|
|
71
85
|
*/
|
|
72
86
|
export function removeSourceEntries(manifests, name, options, context) {
|
|
73
87
|
const files = manifests.map((m) => m.manifest);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/cli/commands/sources.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEpG,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE1F,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/cli/commands/sources.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import type { BaseRegistry } from "../../registry/types";
|
|
2
2
|
import type { EntrySource, InstallOptions, InstallTarget, UpdateDialogues } from "../types";
|
|
3
3
|
/**
|
|
4
|
-
* Re-installs entries already present in a target's manifest; with no keys
|
|
5
|
-
* everything installed is updated. Local changes prompt
|
|
6
|
-
* through `onCollision` unless `--force`. The caller
|
|
7
|
-
* and saves each target's store after.
|
|
4
|
+
* @brief Re-installs entries already present in a target's manifest; with no keys
|
|
5
|
+
* everything installed is updated, forks excepted. Local changes prompt
|
|
6
|
+
* restore/fork/skip through `onCollision` unless `--force`. The caller
|
|
7
|
+
* resolves keys before and saves each target's store after.
|
|
8
|
+
*
|
|
9
|
+
* @param registry - Entries available to install, by key.
|
|
10
|
+
* @param targets - Destinations to update.
|
|
11
|
+
* @param source - Source of each entry's files.
|
|
12
|
+
* @param keys - Keys to update; empty to update everything installed.
|
|
13
|
+
* @param options - Force, dry run and preset answers.
|
|
14
|
+
* @param dialogues - Dialogue for local changes.
|
|
8
15
|
*/
|
|
9
16
|
export declare function updateEntries(registry: BaseRegistry, targets: InstallTarget[], source: EntrySource, keys: string[], options?: InstallOptions, dialogues?: UpdateDialogues): Promise<void>;
|
|
10
17
|
//# sourceMappingURL=update.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKzD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAwB5F;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,aAAa,EAAE,EACxB,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,cAAmB,EAC5B,SAAS,GAAE,eAAoB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA4Ef"}
|