@g3nomaly/core 0.3.2 → 0.3.4
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/clash.d.ts +17 -0
- package/dist/cli/clash.d.ts.map +1 -0
- package/dist/cli/clash.js +75 -0
- package/dist/cli/clash.js.map +1 -0
- package/dist/cli/commands/installFromSources.d.ts +1 -1
- package/dist/cli/commands/installFromSources.d.ts.map +1 -1
- package/dist/cli/commands/installFromSources.js +43 -15
- package/dist/cli/commands/installFromSources.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +19 -3
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/dialogue.d.ts +3 -1
- package/dist/cli/dialogue.d.ts.map +1 -1
- package/dist/cli/dialogue.js +7 -1
- 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 +2 -0
- package/dist/cli/installDialogues.d.ts.map +1 -1
- package/dist/cli/installDialogues.js +10 -0
- package/dist/cli/installDialogues.js.map +1 -1
- package/dist/cli/types.d.ts +4 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/config/config.d.ts +3 -3
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +3 -3
- package/dist/config/config.js.map +1 -1
- package/dist/config/index.d.ts +3 -3
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +2 -2
- package/dist/config/index.js.map +1 -1
- package/dist/config/types.d.ts +15 -10
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +6 -5
- package/dist/config/types.js.map +1 -1
- package/dist/installer/index.d.ts +1 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/manifest.d.ts +1 -1
- package/dist/installer/resolve.d.ts +26 -2
- package/dist/installer/resolve.d.ts.map +1 -1
- package/dist/installer/resolve.js +31 -18
- package/dist/installer/resolve.js.map +1 -1
- package/dist/sources/index.d.ts +2 -0
- package/dist/sources/index.d.ts.map +1 -1
- package/dist/sources/index.js +2 -0
- package/dist/sources/index.js.map +1 -1
- package/dist/sources/npm.d.ts +16 -3
- package/dist/sources/npm.d.ts.map +1 -1
- package/dist/sources/npm.js +11 -6
- package/dist/sources/npm.js.map +1 -1
- package/dist/sources/packageJson.d.ts +8 -0
- package/dist/sources/packageJson.d.ts.map +1 -1
- package/dist/sources/packageJson.js +33 -4
- package/dist/sources/packageJson.js.map +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# @g3nomaly/core
|
|
2
|
+
|
|
3
|
+
`@g3nomaly/core` is the shared runtime behind the g3n installers: [`@g3nomaly/ui`](https://www.npmjs.com/package/@g3nomaly/ui), [`@g3nomaly/mods`](https://www.npmjs.com/package/@g3nomaly/mods) and [`@g3nomaly/skills`](https://www.npmjs.com/package/@g3nomaly/skills). It reads sources from git, npm or a local folder, copies entries into a project, records them in an install manifest and runs the `add`, `update`, `remove`, `ls` and `source` commands those installers share. Use it to build an installer of your own, or to reuse one piece, such as file hashing or the `.g3n.config.json` loader.
|
|
4
|
+
|
|
5
|
+
## Requirements
|
|
6
|
+
|
|
7
|
+
- [Bun](https://bun.sh). Core calls `Bun.file` and `Bun.Transpiler`, so it does not run on Node.
|
|
8
|
+
- A CLI or script. `hash` and `config` throw when loaded in a browser.
|
|
9
|
+
|
|
10
|
+
```sh
|
|
11
|
+
bun add @g3nomaly/core
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## What each import gives you
|
|
15
|
+
|
|
16
|
+
Import from a subpath. The package root exports nothing.
|
|
17
|
+
|
|
18
|
+
| Import | What it gives you |
|
|
19
|
+
|---|---|
|
|
20
|
+
| `@g3nomaly/core/hash` | SHA-256 of a file or a string, full or 12 characters |
|
|
21
|
+
| `@g3nomaly/core/registry` | A typed registry of entries on a TanStack Store, saved as `.ts` or `.json`, and the base entry schemas |
|
|
22
|
+
| `@g3nomaly/core/config` | Read and write `.g3n.config.json`, with defaults for every section |
|
|
23
|
+
| `@g3nomaly/core/security` | `getSafeObject`, which reads the object a `.ts` file exports without importing the file |
|
|
24
|
+
| `@g3nomaly/core/sources` | Parse `owner/repo`, `npm:pkg` or `./folder` into a source spec and check it out to a folder |
|
|
25
|
+
| `@g3nomaly/core/installer` | Install manifests, reading every source into one registry, resolving names and dependencies, copying files |
|
|
26
|
+
| `@g3nomaly/core/cli` | The shared commands, the prompts they ask, and the terminal theme |
|
|
27
|
+
| `@g3nomaly/core/utils` | `findGitRoot`, `findUp`, `readPackageMeta`, `warnIfOutdated`, `errorMessage` |
|
|
28
|
+
|
|
29
|
+
## Hashes and registries
|
|
30
|
+
|
|
31
|
+
An installer hashes each file it copies, so a later `update` can tell which files you changed.
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
import { hashFile } from "@g3nomaly/core/hash";
|
|
35
|
+
import { createRegistryStore, flush, jsonHandler, load, register } from "@g3nomaly/core/registry";
|
|
36
|
+
|
|
37
|
+
const registry = createRegistryStore({ filePath: "/home/me/app/.installed.json", handler: jsonHandler });
|
|
38
|
+
await load(registry); // a missing file leaves the store empty
|
|
39
|
+
|
|
40
|
+
register(registry, "button", {
|
|
41
|
+
name: "button",
|
|
42
|
+
files: [{ path: "button.tsx", type: "component", hash: await hashFile("/home/me/app/src/button.tsx") }],
|
|
43
|
+
});
|
|
44
|
+
flush(registry); // writes the entries back, sorted by key
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
`registry.store` is the TanStack Store itself, so you can subscribe to it. Without a handler, `flush` writes a `.ts` file that exports `registry`. Packages add their own fields by extending `BaseRegistryEntrySchema` and `BaseFileEntrySchema`.
|
|
48
|
+
|
|
49
|
+
## Project config
|
|
50
|
+
|
|
51
|
+
`.g3n.config.json` holds one section per package: `ui`, `g3nerate` and `skills`. `loadConfig` fills in every default. `saveConfig` writes only the sections already in the file or named in the update, so one package's `init` never writes another package's section.
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
import { loadConfig, resolveProjectRoot, saveConfig } from "@g3nomaly/core/config";
|
|
55
|
+
|
|
56
|
+
const root = resolveProjectRoot() ?? process.cwd(); // nearest folder with .g3n.config.json or .git
|
|
57
|
+
const { skills } = await loadConfig(root);
|
|
58
|
+
await saveConfig(root, { skills: { settings: { targets: ["claude", "codex"] } } });
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Reading a `.ts` file safely
|
|
62
|
+
|
|
63
|
+
`getSafeObject(filePath, schema, timeoutMs = 1000)` takes the object literal a file exports, evaluates it in a worker and checks the result against the zod schema. It refuses source with `eval`, dynamic `import()` or a nested-quantifier regex, and a result holding functions or too many keys. It drops getters without running them.
|
|
64
|
+
|
|
65
|
+
## Building an installer
|
|
66
|
+
|
|
67
|
+
An installer supplies three things: a zod schema for its entries, a function that reads the entries in one checked-out source, and the folder they install into.
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
import path from "node:path";
|
|
71
|
+
import { z } from "zod";
|
|
72
|
+
import { BaseFileEntrySchema } from "@g3nomaly/core/registry";
|
|
73
|
+
import { listFiles, loadInstallManifest, loadSourceRegistry, manifestSources, OriginEntrySchema, type ReadSource } from "@g3nomaly/core/installer";
|
|
74
|
+
import { addFromSources, reportSourceRegistry } from "@g3nomaly/core/cli";
|
|
75
|
+
|
|
76
|
+
const PromptSchema = OriginEntrySchema.extend({
|
|
77
|
+
files: z.array(BaseFileEntrySchema.extend({ type: z.literal("prompt") })).min(1),
|
|
78
|
+
});
|
|
79
|
+
type Prompt = z.infer<typeof PromptSchema>;
|
|
80
|
+
|
|
81
|
+
// Each file under prompts/ in a source is one entry.
|
|
82
|
+
const readPrompts: ReadSource<Prompt> = async (checkout) => ({
|
|
83
|
+
entries: listFiles(path.join(checkout.dir, "prompts")).map((file): [string, Prompt] => {
|
|
84
|
+
const name = path.basename(file, ".md");
|
|
85
|
+
return [name, {
|
|
86
|
+
name,
|
|
87
|
+
origin: { source: checkout.name, dir: "prompts", commit: checkout.commit, version: checkout.version },
|
|
88
|
+
files: [{ path: file, type: "prompt" }],
|
|
89
|
+
}];
|
|
90
|
+
}),
|
|
91
|
+
warnings: [],
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
const root = "/home/me/app";
|
|
95
|
+
const manifest = loadInstallManifest(path.join(root, ".prompts.json"), PromptSchema);
|
|
96
|
+
const target = { label: "project", installDir: path.join(root, "prompts"), store: manifest.store, manifest };
|
|
97
|
+
const builtins = { "my-prompts": { kind: "git" as const, url: "https://github.com/me/prompts.git" } };
|
|
98
|
+
|
|
99
|
+
const registry = await loadSourceRegistry(manifestSources([manifest], builtins), root, readPrompts);
|
|
100
|
+
reportSourceRegistry(registry); // prints warnings and the sources that failed to load
|
|
101
|
+
try {
|
|
102
|
+
await addFromSources([target], ["review"], registry, {}, { bin: "my-prompts", noun: "prompt", entrySchema: PromptSchema });
|
|
103
|
+
} finally {
|
|
104
|
+
registry.dispose(); // removes temporary checkouts
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
`addFromSources` resolves `review` or `review@my-prompts` across every source, installs its `registryDependencies`, asks before it overwrites a file you changed, and saves `.prompts.json`. `updateFromSources`, `removeFromTargets`, `addSourceEntries`, `lsSources`, `removeSourceEntries`, `lsSourceRegistry` and `lsEntries` cover the other commands. The CLI of [`@g3nomaly/mods`](https://www.npmjs.com/package/@g3nomaly/mods) is a working example, built from these calls.
|
|
109
|
+
|
|
110
|
+
## Development
|
|
111
|
+
|
|
112
|
+
Run `bun install` at the repository root first, then every command from this directory.
|
|
113
|
+
|
|
114
|
+
```sh
|
|
115
|
+
bun run build # dist/
|
|
116
|
+
bun run typecheck
|
|
117
|
+
bun test
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## License
|
|
121
|
+
|
|
122
|
+
Elastic License 2.0. See `LICENSE`.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { OriginEntry } from "../installer/origin";
|
|
2
|
+
import type { Resolution } from "../installer/resolve";
|
|
3
|
+
import type { SourceOffer } from "../installer/sourceRegistry";
|
|
4
|
+
import type { DialogueAnswers } from "./dialogue";
|
|
5
|
+
/**
|
|
6
|
+
* @brief Resolves requested names against every offer, asking which source to take each name from
|
|
7
|
+
* that more than one source offers, as a group or an entry, until no clash is left.
|
|
8
|
+
*
|
|
9
|
+
* @param tokens - Names as typed, e.g. `["forms", "button@g3n-ui"]`.
|
|
10
|
+
* @param offers - Every offer to resolve against, across all sources.
|
|
11
|
+
* @param installed - Source each installed key came from.
|
|
12
|
+
* @param noun - What one entry is called, e.g. `component`.
|
|
13
|
+
* @param answers - Preset answers by step id; `clash` answers every clash with that source.
|
|
14
|
+
* @returns The resolution, free of clashes.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveWithChoices<T extends OriginEntry>(tokens: readonly string[], offers: readonly SourceOffer<T>[], installed: Record<string, string>, noun: string, answers?: DialogueAnswers): Promise<Resolution<T>>;
|
|
17
|
+
//# sourceMappingURL=clash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clash.d.ts","sourceRoot":"","sources":["../../src/cli/clash.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAsB,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAiDlD;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,SAAS,WAAW,EAC5D,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,MAAM,EAAE,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,EACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAaxB"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { parseRequest, resolveRequests } from "../installer/resolve";
|
|
2
|
+
import { runDialogueValue } from "./dialogue";
|
|
3
|
+
import { clashDialogue } from "./installDialogues";
|
|
4
|
+
import { c, lineError } from "./theme";
|
|
5
|
+
/**
|
|
6
|
+
* @brief How a clash choice is typed to pick it without the prompt.
|
|
7
|
+
*
|
|
8
|
+
* @param name - The clashing name, e.g. `forms`.
|
|
9
|
+
* @param choice - One source's offer under that name.
|
|
10
|
+
* @returns `g3n-ui:forms` for a group, `button@g3n-ui` for an entry.
|
|
11
|
+
*/
|
|
12
|
+
function qualified(name, choice) {
|
|
13
|
+
return choice.kind === "group" ? `${choice.source}:${name}` : `${name}@${choice.source}`;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @brief One line describing what a source offers under the clashing name.
|
|
17
|
+
*
|
|
18
|
+
* @param choice - The source's offer.
|
|
19
|
+
* @param noun - What one entry is called, e.g. `component`.
|
|
20
|
+
* @returns e.g. `group of 3 components from g3n-ui: button, card, cardheader`.
|
|
21
|
+
*/
|
|
22
|
+
function describeChoice(choice, noun) {
|
|
23
|
+
if (choice.kind === "entry")
|
|
24
|
+
return `${noun} from ${choice.source}`;
|
|
25
|
+
return `group of ${choice.keys.length} ${noun}${choice.keys.length === 1 ? "" : "s"} from ${choice.source}: ${choice.keys.join(", ")}`;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @brief The source to take a clashing name from: a preset `clash` answer, else the user's pick.
|
|
29
|
+
* Without a terminal to ask in, prints the qualified forms and exits.
|
|
30
|
+
*
|
|
31
|
+
* @param clash - Name and what each source offers under it.
|
|
32
|
+
* @param noun - What one entry is called, e.g. `component`.
|
|
33
|
+
* @param answers - Preset answers by step id.
|
|
34
|
+
* @returns The chosen source name.
|
|
35
|
+
*/
|
|
36
|
+
async function chooseSource(clash, noun, answers) {
|
|
37
|
+
const sources = clash.choices.map((choice) => choice.source);
|
|
38
|
+
if (!process.stdin.isTTY && answers?.clash === undefined) {
|
|
39
|
+
const forms = clash.choices.map((choice) => `${c.key(qualified(clash.name, choice))} (${describeChoice(choice, noun)})`);
|
|
40
|
+
console.error(lineError(`${c.key(clash.name)} is offered by more than one source, name one: ${forms.join(", ")}`));
|
|
41
|
+
process.exit(1);
|
|
42
|
+
}
|
|
43
|
+
const sourceChoices = clash.choices.map((choice) => ({ value: choice.source, label: describeChoice(choice, noun) }));
|
|
44
|
+
const picked = await runDialogueValue(clashDialogue, { name: clash.name, sourceChoices }, answers);
|
|
45
|
+
if (typeof picked !== "string" || !sources.includes(picked))
|
|
46
|
+
process.exit(1);
|
|
47
|
+
return picked;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @brief Resolves requested names against every offer, asking which source to take each name from
|
|
51
|
+
* that more than one source offers, as a group or an entry, until no clash is left.
|
|
52
|
+
*
|
|
53
|
+
* @param tokens - Names as typed, e.g. `["forms", "button@g3n-ui"]`.
|
|
54
|
+
* @param offers - Every offer to resolve against, across all sources.
|
|
55
|
+
* @param installed - Source each installed key came from.
|
|
56
|
+
* @param noun - What one entry is called, e.g. `component`.
|
|
57
|
+
* @param answers - Preset answers by step id; `clash` answers every clash with that source.
|
|
58
|
+
* @returns The resolution, free of clashes.
|
|
59
|
+
*/
|
|
60
|
+
export async function resolveWithChoices(tokens, offers, installed, noun, answers) {
|
|
61
|
+
let requested = [...tokens];
|
|
62
|
+
for (;;) {
|
|
63
|
+
const resolution = resolveRequests(requested, offers, installed);
|
|
64
|
+
if (resolution.clashes.length === 0)
|
|
65
|
+
return resolution;
|
|
66
|
+
for (const clash of resolution.clashes) {
|
|
67
|
+
const source = await chooseSource(clash, noun, answers);
|
|
68
|
+
requested = requested.map((token) => {
|
|
69
|
+
const request = parseRequest(token);
|
|
70
|
+
return request.source === undefined && request.name === clash.name ? `${clash.name}@${source}` : token;
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=clash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clash.js","sourceRoot":"","sources":["../../src/cli/clash.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,7 @@ export declare function addFromSources<T extends OriginEntry>(targets: readonly
|
|
|
52
52
|
* installed. Forks are reported and left alone. Names installed in no
|
|
53
53
|
* target are reported first, and the sources are only opened once something
|
|
54
54
|
* is left to update. Dependencies an entry gained since install are
|
|
55
|
-
*
|
|
55
|
+
* installed too, with their own dependencies.
|
|
56
56
|
*
|
|
57
57
|
* @param targets - Install targets, each with its manifest.
|
|
58
58
|
* @param names - Names to update; empty to update everything installed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installFromSources.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/installFromSources.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"installFromSources.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/installFromSources.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAOlF,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAK3E;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,WAAW;IAC1D,GAAG,EAAU,MAAM,CAAC;IACpB,IAAI,EAAS,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC;CAC3D;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AA0B3F;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAAC,CAAC,SAAS,WAAW,EACxD,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAC3B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,EACjC,KAAK,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAsBf;AAoDD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,WAAW,EAC3D,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,YAAY,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9C,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,EACjC,KAAK,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAqDf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,WAAW,EAC3D,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,EACjC,KAAK,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAkBf"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { installedEntries, saveInstallManifest } from "../../installer/manifest";
|
|
2
|
-
import { installedForks, installedOrigins, resolveInstalled, resolveRequests, resolveUpdates } from "../../installer/resolve";
|
|
2
|
+
import { installedForks, installedOrigins, resolveDependencies, resolveInstalled, resolveRequests, resolveUpdates } from "../../installer/resolve";
|
|
3
3
|
import { entrySource, offerRegistry, offers } from "../../installer/sourceRegistry";
|
|
4
4
|
import { runDialogueValue } from "../dialogue";
|
|
5
5
|
import { cascadeDialogue, incompleteDialogue, notInstalledDialogue, conflictDialogue, removeChangedDialogue, selectRemovalDialogue } from "../installDialogues";
|
|
6
|
+
import { resolveWithChoices } from "../clash";
|
|
6
7
|
import { pickOffers } from "../pick";
|
|
7
8
|
import { reportResolution } from "../report";
|
|
8
9
|
import { c, lineError, lineInfo, lineWarn } from "../theme";
|
|
@@ -52,7 +53,7 @@ export async function addFromSources(targets, names, registry, options, context,
|
|
|
52
53
|
if (requested.length === 0)
|
|
53
54
|
return;
|
|
54
55
|
const installed = targets.map((t) => installedEntries(t.manifest, context.entrySchema));
|
|
55
|
-
const resolution =
|
|
56
|
+
const resolution = await resolveWithChoices(requested, available, installedOrigins(installed), context.noun, options.answers);
|
|
56
57
|
await reportResolution(resolution, context, options.answers);
|
|
57
58
|
const forks = installedForks(installed);
|
|
58
59
|
const selected = [...resolution.entries.values()].filter(({ key }) => {
|
|
@@ -71,20 +72,46 @@ export async function addFromSources(targets, names, registry, options, context,
|
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
74
|
/**
|
|
74
|
-
* @brief
|
|
75
|
+
* @brief Installs the dependencies updated entries gained since install, each with its own dependencies,
|
|
76
|
+
* from the source each one resolves to. A key the target holds, or a fork stands in for, is left alone.
|
|
77
|
+
* A dry run only names them.
|
|
75
78
|
*
|
|
76
|
-
* @param updated - Offers that were updated.
|
|
77
|
-
* @param
|
|
78
|
-
* @param
|
|
79
|
+
* @param updated - Offers that were updated, `registryDependencies` resolved to keys.
|
|
80
|
+
* @param target - Target the entries were updated in.
|
|
81
|
+
* @param installed - Installed entries of the target, by key, from before the update.
|
|
82
|
+
* @param available - Every offer across all sources.
|
|
83
|
+
* @param origins - Source each installed key came from, across targets.
|
|
84
|
+
* @param files - Where entry files come from.
|
|
85
|
+
* @param options - Force, dry run and preset answers.
|
|
86
|
+
* @returns Keys installed; empty on a dry run.
|
|
79
87
|
*/
|
|
80
|
-
function
|
|
88
|
+
async function installNewDependencies(updated, target, installed, available, origins, files, options) {
|
|
81
89
|
const forks = installedForks([installed]);
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
90
|
+
const held = (key) => installed[key] !== undefined || forks[key] !== undefined;
|
|
91
|
+
const dependents = new Map();
|
|
92
|
+
for (const offer of updated) {
|
|
93
|
+
for (const dependency of resolveDependencies(offer, available, origins).dependencies) {
|
|
94
|
+
if (!held(dependency.key))
|
|
95
|
+
dependents.set(`${dependency.key}@${dependency.entry.origin.source}`, offer.key);
|
|
86
96
|
}
|
|
87
97
|
}
|
|
98
|
+
if (dependents.size === 0)
|
|
99
|
+
return [];
|
|
100
|
+
const resolution = resolveRequests([...dependents.keys()], available, origins);
|
|
101
|
+
for (const message of [...resolution.ambiguous, ...resolution.unknown.map((name) => `${name} is offered by no source`)]) {
|
|
102
|
+
console.log(lineWarn(`New dependency not installed: ${message}`));
|
|
103
|
+
}
|
|
104
|
+
const fresh = [...resolution.entries.values()].filter((offer) => !held(offer.key));
|
|
105
|
+
for (const offer of fresh) {
|
|
106
|
+
const dependent = dependents.get(`${offer.key}@${offer.entry.origin.source}`) ?? resolution.notes[offer.key]?.replace(/^dep of /, "");
|
|
107
|
+
const verb = options.dryRun === true ? "would install" : "installing";
|
|
108
|
+
console.log(lineInfo(`${c.key(offer.key)}: new dependency${dependent === undefined ? "" : ` of ${c.key(dependent)}`}, ${verb}`));
|
|
109
|
+
}
|
|
110
|
+
if (options.dryRun === true || fresh.length === 0)
|
|
111
|
+
return [];
|
|
112
|
+
const keys = fresh.map((offer) => offer.key);
|
|
113
|
+
await addEntries(offerRegistry(fresh), [target], files, keys, options, { onCollision: conflictDialogue });
|
|
114
|
+
return keys;
|
|
88
115
|
}
|
|
89
116
|
/**
|
|
90
117
|
* @brief Re-installs installed entries from the source each one was installed
|
|
@@ -92,7 +119,7 @@ function reportNewDependencies(updated, installed, context) {
|
|
|
92
119
|
* installed. Forks are reported and left alone. Names installed in no
|
|
93
120
|
* target are reported first, and the sources are only opened once something
|
|
94
121
|
* is left to update. Dependencies an entry gained since install are
|
|
95
|
-
*
|
|
122
|
+
* installed too, with their own dependencies.
|
|
96
123
|
*
|
|
97
124
|
* @param targets - Install targets, each with its manifest.
|
|
98
125
|
* @param names - Names to update; empty to update everything installed.
|
|
@@ -137,17 +164,18 @@ export async function updateFromSources(targets, names, openRegistry, options, c
|
|
|
137
164
|
continue;
|
|
138
165
|
}
|
|
139
166
|
const { offers: updated, missing } = resolveUpdates(plan.keys, plan.installed, available, origins);
|
|
140
|
-
reportNewDependencies(updated, plan.installed, context);
|
|
141
167
|
for (const key of missing) {
|
|
142
168
|
console.log(lineWarn(`${c.key(key)}: its source ${c.key(plan.installed[key]?.origin.source ?? "")} is not registered or no longer offers it, left as is`));
|
|
143
169
|
}
|
|
144
170
|
if (updated.length === 0)
|
|
145
171
|
continue;
|
|
146
172
|
const keys = updated.map((u) => u.key);
|
|
147
|
-
|
|
173
|
+
const files = filesFrom(registry, context);
|
|
174
|
+
await updateEntries(offerRegistry(updated), [plan.target], files, keys, options, { onCollision: conflictDialogue });
|
|
175
|
+
const added = await installNewDependencies(updated, plan.target, plan.installed, available, origins, files, options);
|
|
148
176
|
if (options.dryRun !== true) {
|
|
149
177
|
saveInstallManifest(plan.target.manifest, context.entrySchema);
|
|
150
|
-
await after?.(plan.target, keys);
|
|
178
|
+
await after?.(plan.target, [...keys, ...added]);
|
|
151
179
|
}
|
|
152
180
|
}
|
|
153
181
|
}
|
|
@@ -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,cAAc,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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"}
|
|
@@ -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;AAKzD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,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;AAqC5F;;;;;;;;;;;;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,CA8Ef"}
|
|
@@ -26,6 +26,20 @@ function printDryRun(classifications) {
|
|
|
26
26
|
console.log(` ${rel.padEnd(50)} ${DRY_RUN_LABELS[cl.state]}`);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* @brief The version change of an entry, for its update line.
|
|
31
|
+
*
|
|
32
|
+
* @param from - Version recorded at install, `undefined` when none was.
|
|
33
|
+
* @param to - Version the source offers now, `undefined` when it has none.
|
|
34
|
+
* @returns ` 0.1.0 → 0.2.0` when the version changes, ` 0.2.0` when it does not, empty when the source has none.
|
|
35
|
+
*/
|
|
36
|
+
function versionChange(from, to) {
|
|
37
|
+
if (to === undefined)
|
|
38
|
+
return "";
|
|
39
|
+
if (from === undefined || from === to)
|
|
40
|
+
return ` ${chalk.dim(to)}`;
|
|
41
|
+
return ` ${chalk.dim(from)} → ${chalk.green(to)}`;
|
|
42
|
+
}
|
|
29
43
|
/**
|
|
30
44
|
* @brief Re-installs entries already present in a target's manifest; with no keys
|
|
31
45
|
* everything installed is updated, forks excepted. Local changes prompt
|
|
@@ -65,8 +79,9 @@ export async function updateEntries(registry, targets, source, keys, options = {
|
|
|
65
79
|
const fileSource = await source(meta);
|
|
66
80
|
const classifications = await classifyFiles(meta.files, target.installDir, recordedHashes(installed), io, latestHashFrom(fileSource, io));
|
|
67
81
|
const stale = (installed?.files ?? []).filter((f) => !meta.files.some((m) => m.path === f.path));
|
|
82
|
+
const version = versionChange(installed?.version, meta.version);
|
|
68
83
|
if (options.dryRun) {
|
|
69
|
-
console.log(chalk.bold(c.key(key)));
|
|
84
|
+
console.log(chalk.bold(c.key(key)) + version);
|
|
70
85
|
printDryRun(classifications);
|
|
71
86
|
for (const file of stale) {
|
|
72
87
|
console.log(` ${c.file(file.path).padEnd(50)} ${chalk.red("would remove")}${chalk.dim(" — no longer in the package")}`);
|
|
@@ -98,10 +113,11 @@ export async function updateEntries(registry, targets, source, keys, options = {
|
|
|
98
113
|
console.log(lineWarn(`${c.key(key)} — skipped ${result.kept.map((f) => c.file(f)).join(", ")} ${chalk.dim("(local changes, asked again next update)")}`));
|
|
99
114
|
}
|
|
100
115
|
if (result.written.length > 0) {
|
|
101
|
-
console.log(lineSuccess(`Updated ${c.key(key)} ${chalk.dim(`(${result.written.length} file${result.written.length === 1 ? "" : "s"})`)}`));
|
|
116
|
+
console.log(lineSuccess(`Updated ${c.key(key)}${version} ${chalk.dim(`(${result.written.length} file${result.written.length === 1 ? "" : "s"})`)}`));
|
|
102
117
|
}
|
|
103
118
|
else if (result.kept.length === 0) {
|
|
104
|
-
|
|
119
|
+
const moved = installed?.version !== undefined && meta.version !== undefined && installed.version !== meta.version;
|
|
120
|
+
console.log(lineInfo(moved ? `${c.key(key)}${version} — no file changed` : `${c.key(key)} — already up to date`));
|
|
105
121
|
}
|
|
106
122
|
register(target.store, key, { ...meta, files: result.files.map((f) => ({ ...f, version: meta.version })) });
|
|
107
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/dialogue.d.ts
CHANGED
|
@@ -102,7 +102,9 @@ export interface Dialogue<Input = DialogueAnswers> {
|
|
|
102
102
|
*
|
|
103
103
|
* Skips steps whose `when` is false. A preset answer in `answers` is
|
|
104
104
|
* recorded without prompting; anything else renders in the terminal.
|
|
105
|
-
* Returns the cancel symbol as soon as any step is cancelled
|
|
105
|
+
* Returns the cancel symbol as soon as any step is cancelled, or needs an
|
|
106
|
+
* answer while stdin is not a terminal, as in CI, so a command never waits
|
|
107
|
+
* on input that cannot come.
|
|
106
108
|
*
|
|
107
109
|
* @param dialogue - Dialogue to walk.
|
|
108
110
|
* @param input - Input the steps read.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialogue.d.ts","sourceRoot":"","sources":["../../src/cli/dialogue.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dialogue.d.ts","sourceRoot":"","sources":["../../src/cli/dialogue.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/dialogue.js
CHANGED
|
@@ -104,12 +104,16 @@ async function render(step) {
|
|
|
104
104
|
// ---------------------------------------------------------------------------
|
|
105
105
|
// Walking
|
|
106
106
|
// ---------------------------------------------------------------------------
|
|
107
|
+
/** Answer of a step that would need the terminal while none is attached; callers treat it as a cancel. */
|
|
108
|
+
const NO_TERMINAL = Symbol("no terminal");
|
|
107
109
|
/**
|
|
108
110
|
* @brief Walks a dialogue from its first step and collects answers by step id.
|
|
109
111
|
*
|
|
110
112
|
* Skips steps whose `when` is false. A preset answer in `answers` is
|
|
111
113
|
* recorded without prompting; anything else renders in the terminal.
|
|
112
|
-
* Returns the cancel symbol as soon as any step is cancelled
|
|
114
|
+
* Returns the cancel symbol as soon as any step is cancelled, or needs an
|
|
115
|
+
* answer while stdin is not a terminal, as in CI, so a command never waits
|
|
116
|
+
* on input that cannot come.
|
|
113
117
|
*
|
|
114
118
|
* @param dialogue - Dialogue to walk.
|
|
115
119
|
* @param input - Input the steps read.
|
|
@@ -127,6 +131,8 @@ export async function runDialogue(dialogue, input, answers = {}) {
|
|
|
127
131
|
let answer = undefined;
|
|
128
132
|
if (step.when === undefined || step.when(input, collected)) {
|
|
129
133
|
const preset = answers[id];
|
|
134
|
+
if (preset === undefined && !process.stdin.isTTY)
|
|
135
|
+
return NO_TERMINAL;
|
|
130
136
|
answer = preset !== undefined ? preset : await render(resolveStep(id, step, input));
|
|
131
137
|
if (typeof answer === "symbol")
|
|
132
138
|
return answer;
|
package/dist/cli/dialogue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialogue.js","sourceRoot":"","sources":["../../src/cli/dialogue.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dialogue.js","sourceRoot":"","sources":["../../src/cli/dialogue.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export { lsSourceRegistry } from "./commands/ls";
|
|
|
13
13
|
export { addSourceEntries, lsSources, removeSourceEntries } from "./commands/sources";
|
|
14
14
|
export type { SourceCommandContext, SourceAddOptions } from "./commands/sources";
|
|
15
15
|
export { pickOffers, selectEntriesDialogue } from "./pick";
|
|
16
|
-
export { conflictDialogue, removeChangedDialogue, cascadeDialogue, incompleteDialogue, selectRemovalDialogue, notInstalledDialogue } from "./installDialogues";
|
|
16
|
+
export { clashDialogue, conflictDialogue, removeChangedDialogue, cascadeDialogue, incompleteDialogue, selectRemovalDialogue, notInstalledDialogue } from "./installDialogues";
|
|
17
17
|
export { addFromSources, updateFromSources, removeFromTargets } from "./commands/installFromSources";
|
|
18
18
|
export type { ManifestTarget, InstallCommandContext, AfterTarget } from "./commands/installFromSources";
|
|
19
19
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpE,YAAY,EACV,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAC/D,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,GACnD,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC/G,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACrF,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAChF,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpE,YAAY,EACV,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAC/D,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,GACnD,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC/G,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACrF,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAChF,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC7K,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACpG,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA"}
|
package/dist/cli/index.js
CHANGED
|
@@ -11,6 +11,6 @@ export { reportSourceRegistry, orExit, reportResolution, entryNotFoundDialogue,
|
|
|
11
11
|
export { lsSourceRegistry } from "./commands/ls";
|
|
12
12
|
export { addSourceEntries, lsSources, removeSourceEntries } from "./commands/sources";
|
|
13
13
|
export { pickOffers, selectEntriesDialogue } from "./pick";
|
|
14
|
-
export { conflictDialogue, removeChangedDialogue, cascadeDialogue, incompleteDialogue, selectRemovalDialogue, notInstalledDialogue } from "./installDialogues";
|
|
14
|
+
export { clashDialogue, conflictDialogue, removeChangedDialogue, cascadeDialogue, incompleteDialogue, selectRemovalDialogue, notInstalledDialogue } from "./installDialogues";
|
|
15
15
|
export { addFromSources, updateFromSources, removeFromTargets } from "./commands/installFromSources";
|
|
16
16
|
//# sourceMappingURL=index.js.map
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAKpE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE/G,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAErF,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAKpE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE/G,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAErF,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC7K,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA"}
|
|
@@ -5,6 +5,8 @@ import type { InstallInput } from "./types";
|
|
|
5
5
|
* `forkName` for the key of the fork.
|
|
6
6
|
*/
|
|
7
7
|
export declare const conflictDialogue: Dialogue<InstallInput>;
|
|
8
|
+
/** Which source to take a name from when several sources offer it, for `add`; step id `clash`. */
|
|
9
|
+
export declare const clashDialogue: Dialogue<InstallInput>;
|
|
8
10
|
/** Keep or remove an entry with local changes, for `remove`; step id `conflict`. */
|
|
9
11
|
export declare const removeChangedDialogue: Dialogue<InstallInput>;
|
|
10
12
|
/** Whether to remove the installed entries that depend on one being removed; step id `cascade`. */
|