@detergent-software/atk 0.12.1-dev.2
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/build/cli.d.ts +3 -0
- package/build/cli.d.ts.map +1 -0
- package/build/cli.js +35 -0
- package/build/cli.js.map +1 -0
- package/build/commands/_app.d.ts +3 -0
- package/build/commands/_app.d.ts.map +1 -0
- package/build/commands/_app.js +12 -0
- package/build/commands/_app.js.map +1 -0
- package/build/commands/audit.d.ts +12 -0
- package/build/commands/audit.d.ts.map +1 -0
- package/build/commands/audit.js +78 -0
- package/build/commands/audit.js.map +1 -0
- package/build/commands/browse.d.ts +15 -0
- package/build/commands/browse.d.ts.map +1 -0
- package/build/commands/browse.js +284 -0
- package/build/commands/browse.js.map +1 -0
- package/build/commands/cache.d.ts +13 -0
- package/build/commands/cache.d.ts.map +1 -0
- package/build/commands/cache.js +67 -0
- package/build/commands/cache.js.map +1 -0
- package/build/commands/config.d.ts +13 -0
- package/build/commands/config.d.ts.map +1 -0
- package/build/commands/config.js +62 -0
- package/build/commands/config.js.map +1 -0
- package/build/commands/diff.d.ts +16 -0
- package/build/commands/diff.d.ts.map +1 -0
- package/build/commands/diff.js +158 -0
- package/build/commands/diff.js.map +1 -0
- package/build/commands/doctor.d.ts +11 -0
- package/build/commands/doctor.d.ts.map +1 -0
- package/build/commands/doctor.js +30 -0
- package/build/commands/doctor.js.map +1 -0
- package/build/commands/index.d.ts +3 -0
- package/build/commands/index.d.ts.map +1 -0
- package/build/commands/index.js +30 -0
- package/build/commands/index.js.map +1 -0
- package/build/commands/info.d.ts +25 -0
- package/build/commands/info.d.ts.map +1 -0
- package/build/commands/info.js +198 -0
- package/build/commands/info.js.map +1 -0
- package/build/commands/init.d.ts +17 -0
- package/build/commands/init.d.ts.map +1 -0
- package/build/commands/init.js +504 -0
- package/build/commands/init.js.map +1 -0
- package/build/commands/install.d.ts +18 -0
- package/build/commands/install.d.ts.map +1 -0
- package/build/commands/install.js +186 -0
- package/build/commands/install.js.map +1 -0
- package/build/commands/list.d.ts +20 -0
- package/build/commands/list.d.ts.map +1 -0
- package/build/commands/list.js +61 -0
- package/build/commands/list.js.map +1 -0
- package/build/commands/outdated.d.ts +21 -0
- package/build/commands/outdated.d.ts.map +1 -0
- package/build/commands/outdated.js +81 -0
- package/build/commands/outdated.js.map +1 -0
- package/build/commands/pin.d.ts +22 -0
- package/build/commands/pin.d.ts.map +1 -0
- package/build/commands/pin.js +94 -0
- package/build/commands/pin.js.map +1 -0
- package/build/commands/prune.d.ts +14 -0
- package/build/commands/prune.d.ts.map +1 -0
- package/build/commands/prune.js +203 -0
- package/build/commands/prune.js.map +1 -0
- package/build/commands/publish.d.ts +14 -0
- package/build/commands/publish.d.ts.map +1 -0
- package/build/commands/publish.js +345 -0
- package/build/commands/publish.js.map +1 -0
- package/build/commands/search.d.ts +16 -0
- package/build/commands/search.d.ts.map +1 -0
- package/build/commands/search.js +80 -0
- package/build/commands/search.js.map +1 -0
- package/build/commands/sync.d.ts +15 -0
- package/build/commands/sync.d.ts.map +1 -0
- package/build/commands/sync.js +209 -0
- package/build/commands/sync.js.map +1 -0
- package/build/commands/uninstall.d.ts +18 -0
- package/build/commands/uninstall.d.ts.map +1 -0
- package/build/commands/uninstall.js +304 -0
- package/build/commands/uninstall.js.map +1 -0
- package/build/commands/unpin.d.ts +22 -0
- package/build/commands/unpin.d.ts.map +1 -0
- package/build/commands/unpin.js +79 -0
- package/build/commands/unpin.js.map +1 -0
- package/build/commands/update.d.ts +17 -0
- package/build/commands/update.d.ts.map +1 -0
- package/build/commands/update.js +151 -0
- package/build/commands/update.js.map +1 -0
- package/build/commands/why.d.ts +23 -0
- package/build/commands/why.d.ts.map +1 -0
- package/build/commands/why.js +108 -0
- package/build/commands/why.js.map +1 -0
- package/build/components/AssetDetail.d.ts +32 -0
- package/build/components/AssetDetail.d.ts.map +1 -0
- package/build/components/AssetDetail.js +45 -0
- package/build/components/AssetDetail.js.map +1 -0
- package/build/components/AssetTable.d.ts +25 -0
- package/build/components/AssetTable.d.ts.map +1 -0
- package/build/components/AssetTable.js +96 -0
- package/build/components/AssetTable.js.map +1 -0
- package/build/components/BrowseExpandedBundle.d.ts +26 -0
- package/build/components/BrowseExpandedBundle.d.ts.map +1 -0
- package/build/components/BrowseExpandedBundle.js +59 -0
- package/build/components/BrowseExpandedBundle.js.map +1 -0
- package/build/components/BrowseExpandedRow.d.ts +14 -0
- package/build/components/BrowseExpandedRow.d.ts.map +1 -0
- package/build/components/BrowseExpandedRow.js +9 -0
- package/build/components/BrowseExpandedRow.js.map +1 -0
- package/build/components/BrowseList.d.ts +26 -0
- package/build/components/BrowseList.d.ts.map +1 -0
- package/build/components/BrowseList.js +101 -0
- package/build/components/BrowseList.js.map +1 -0
- package/build/components/BundleDetail.d.ts +7 -0
- package/build/components/BundleDetail.d.ts.map +1 -0
- package/build/components/BundleDetail.js +12 -0
- package/build/components/BundleDetail.js.map +1 -0
- package/build/components/DependencyTree.d.ts +19 -0
- package/build/components/DependencyTree.d.ts.map +1 -0
- package/build/components/DependencyTree.js +21 -0
- package/build/components/DependencyTree.js.map +1 -0
- package/build/components/DiagnosticList.d.ts +19 -0
- package/build/components/DiagnosticList.d.ts.map +1 -0
- package/build/components/DiagnosticList.js +17 -0
- package/build/components/DiagnosticList.js.map +1 -0
- package/build/components/DiffView.d.ts +30 -0
- package/build/components/DiffView.d.ts.map +1 -0
- package/build/components/DiffView.js +32 -0
- package/build/components/DiffView.js.map +1 -0
- package/build/components/DryRunBanner.d.ts +11 -0
- package/build/components/DryRunBanner.d.ts.map +1 -0
- package/build/components/DryRunBanner.js +6 -0
- package/build/components/DryRunBanner.js.map +1 -0
- package/build/components/Field.d.ts +12 -0
- package/build/components/Field.d.ts.map +1 -0
- package/build/components/Field.js +9 -0
- package/build/components/Field.js.map +1 -0
- package/build/components/FilterBar.d.ts +18 -0
- package/build/components/FilterBar.d.ts.map +1 -0
- package/build/components/FilterBar.js +21 -0
- package/build/components/FilterBar.js.map +1 -0
- package/build/components/Header.d.ts +13 -0
- package/build/components/Header.d.ts.map +1 -0
- package/build/components/Header.js +20 -0
- package/build/components/Header.js.map +1 -0
- package/build/components/HelpBar.d.ts +11 -0
- package/build/components/HelpBar.d.ts.map +1 -0
- package/build/components/HelpBar.js +9 -0
- package/build/components/HelpBar.js.map +1 -0
- package/build/components/InstallConfirmBar.d.ts +9 -0
- package/build/components/InstallConfirmBar.d.ts.map +1 -0
- package/build/components/InstallConfirmBar.js +23 -0
- package/build/components/InstallConfirmBar.js.map +1 -0
- package/build/components/InstallSummary.d.ts +29 -0
- package/build/components/InstallSummary.d.ts.map +1 -0
- package/build/components/InstallSummary.js +12 -0
- package/build/components/InstallSummary.js.map +1 -0
- package/build/components/SectionDivider.d.ts +5 -0
- package/build/components/SectionDivider.d.ts.map +1 -0
- package/build/components/SectionDivider.js +11 -0
- package/build/components/SectionDivider.js.map +1 -0
- package/build/components/Spinner.d.ts +13 -0
- package/build/components/Spinner.d.ts.map +1 -0
- package/build/components/Spinner.js +11 -0
- package/build/components/Spinner.js.map +1 -0
- package/build/components/StatusBadge.d.ts +23 -0
- package/build/components/StatusBadge.d.ts.map +1 -0
- package/build/components/StatusBadge.js +43 -0
- package/build/components/StatusBadge.js.map +1 -0
- package/build/components/index.d.ts +20 -0
- package/build/components/index.d.ts.map +1 -0
- package/build/components/index.js +20 -0
- package/build/components/index.js.map +1 -0
- package/build/hooks/useBrowseState.d.ts +122 -0
- package/build/hooks/useBrowseState.d.ts.map +1 -0
- package/build/hooks/useBrowseState.js +315 -0
- package/build/hooks/useBrowseState.js.map +1 -0
- package/build/hooks/useCommand.d.ts +23 -0
- package/build/hooks/useCommand.d.ts.map +1 -0
- package/build/hooks/useCommand.js +43 -0
- package/build/hooks/useCommand.js.map +1 -0
- package/build/lib/adapter.d.ts +40 -0
- package/build/lib/adapter.d.ts.map +1 -0
- package/build/lib/adapter.js +112 -0
- package/build/lib/adapter.js.map +1 -0
- package/build/lib/auth.d.ts +31 -0
- package/build/lib/auth.d.ts.map +1 -0
- package/build/lib/auth.js +101 -0
- package/build/lib/auth.js.map +1 -0
- package/build/lib/breakpoints.d.ts +3 -0
- package/build/lib/breakpoints.d.ts.map +1 -0
- package/build/lib/breakpoints.js +8 -0
- package/build/lib/breakpoints.js.map +1 -0
- package/build/lib/checksum.d.ts +31 -0
- package/build/lib/checksum.d.ts.map +1 -0
- package/build/lib/checksum.js +78 -0
- package/build/lib/checksum.js.map +1 -0
- package/build/lib/config.d.ts +42 -0
- package/build/lib/config.d.ts.map +1 -0
- package/build/lib/config.js +123 -0
- package/build/lib/config.js.map +1 -0
- package/build/lib/detector.d.ts +35 -0
- package/build/lib/detector.d.ts.map +1 -0
- package/build/lib/detector.js +125 -0
- package/build/lib/detector.js.map +1 -0
- package/build/lib/diagnostics.d.ts +10 -0
- package/build/lib/diagnostics.d.ts.map +1 -0
- package/build/lib/diagnostics.js +195 -0
- package/build/lib/diagnostics.js.map +1 -0
- package/build/lib/diff.d.ts +34 -0
- package/build/lib/diff.d.ts.map +1 -0
- package/build/lib/diff.js +78 -0
- package/build/lib/diff.js.map +1 -0
- package/build/lib/fetch-retry.d.ts +43 -0
- package/build/lib/fetch-retry.d.ts.map +1 -0
- package/build/lib/fetch-retry.js +137 -0
- package/build/lib/fetch-retry.js.map +1 -0
- package/build/lib/github.d.ts +57 -0
- package/build/lib/github.d.ts.map +1 -0
- package/build/lib/github.js +96 -0
- package/build/lib/github.js.map +1 -0
- package/build/lib/gitignore.d.ts +37 -0
- package/build/lib/gitignore.d.ts.map +1 -0
- package/build/lib/gitignore.js +142 -0
- package/build/lib/gitignore.js.map +1 -0
- package/build/lib/init.d.ts +100 -0
- package/build/lib/init.d.ts.map +1 -0
- package/build/lib/init.js +295 -0
- package/build/lib/init.js.map +1 -0
- package/build/lib/installer.d.ts +50 -0
- package/build/lib/installer.d.ts.map +1 -0
- package/build/lib/installer.js +435 -0
- package/build/lib/installer.js.map +1 -0
- package/build/lib/lockfile.d.ts +170 -0
- package/build/lib/lockfile.d.ts.map +1 -0
- package/build/lib/lockfile.js +437 -0
- package/build/lib/lockfile.js.map +1 -0
- package/build/lib/markdown.d.ts +9 -0
- package/build/lib/markdown.d.ts.map +1 -0
- package/build/lib/markdown.js +67 -0
- package/build/lib/markdown.js.map +1 -0
- package/build/lib/parse-json.d.ts +34 -0
- package/build/lib/parse-json.d.ts.map +1 -0
- package/build/lib/parse-json.js +52 -0
- package/build/lib/parse-json.js.map +1 -0
- package/build/lib/paths.d.ts +28 -0
- package/build/lib/paths.d.ts.map +1 -0
- package/build/lib/paths.js +68 -0
- package/build/lib/paths.js.map +1 -0
- package/build/lib/publisher.d.ts +49 -0
- package/build/lib/publisher.d.ts.map +1 -0
- package/build/lib/publisher.js +388 -0
- package/build/lib/publisher.js.map +1 -0
- package/build/lib/registry.d.ts +97 -0
- package/build/lib/registry.d.ts.map +1 -0
- package/build/lib/registry.js +248 -0
- package/build/lib/registry.js.map +1 -0
- package/build/lib/resolver.d.ts +50 -0
- package/build/lib/resolver.d.ts.map +1 -0
- package/build/lib/resolver.js +110 -0
- package/build/lib/resolver.js.map +1 -0
- package/build/lib/schemas/adapter.d.ts +33 -0
- package/build/lib/schemas/adapter.d.ts.map +1 -0
- package/build/lib/schemas/adapter.js +27 -0
- package/build/lib/schemas/adapter.js.map +1 -0
- package/build/lib/schemas/bundle.d.ts +38 -0
- package/build/lib/schemas/bundle.d.ts.map +1 -0
- package/build/lib/schemas/bundle.js +19 -0
- package/build/lib/schemas/bundle.js.map +1 -0
- package/build/lib/schemas/config.d.ts +12 -0
- package/build/lib/schemas/config.d.ts.map +1 -0
- package/build/lib/schemas/config.js +14 -0
- package/build/lib/schemas/config.js.map +1 -0
- package/build/lib/schemas/index.d.ts +7 -0
- package/build/lib/schemas/index.d.ts.map +1 -0
- package/build/lib/schemas/index.js +7 -0
- package/build/lib/schemas/index.js.map +1 -0
- package/build/lib/schemas/lockfile.d.ts +102 -0
- package/build/lib/schemas/lockfile.d.ts.map +1 -0
- package/build/lib/schemas/lockfile.js +50 -0
- package/build/lib/schemas/lockfile.js.map +1 -0
- package/build/lib/schemas/manifest.d.ts +91 -0
- package/build/lib/schemas/manifest.d.ts.map +1 -0
- package/build/lib/schemas/manifest.js +42 -0
- package/build/lib/schemas/manifest.js.map +1 -0
- package/build/lib/schemas/registry.d.ts +225 -0
- package/build/lib/schemas/registry.d.ts.map +1 -0
- package/build/lib/schemas/registry.js +59 -0
- package/build/lib/schemas/registry.js.map +1 -0
- package/build/lib/search.d.ts +23 -0
- package/build/lib/search.d.ts.map +1 -0
- package/build/lib/search.js +139 -0
- package/build/lib/search.js.map +1 -0
- package/build/lib/tool-resolver.d.ts +12 -0
- package/build/lib/tool-resolver.d.ts.map +1 -0
- package/build/lib/tool-resolver.js +24 -0
- package/build/lib/tool-resolver.js.map +1 -0
- package/build/lib/uninstaller.d.ts +109 -0
- package/build/lib/uninstaller.d.ts.map +1 -0
- package/build/lib/uninstaller.js +368 -0
- package/build/lib/uninstaller.js.map +1 -0
- package/build/lib/updater.d.ts +68 -0
- package/build/lib/updater.d.ts.map +1 -0
- package/build/lib/updater.js +230 -0
- package/build/lib/updater.js.map +1 -0
- package/build/lib/version.d.ts +13 -0
- package/build/lib/version.d.ts.map +1 -0
- package/build/lib/version.js +30 -0
- package/build/lib/version.js.map +1 -0
- package/build/windows-esm-loader.d.ts +15 -0
- package/build/windows-esm-loader.d.ts.map +1 -0
- package/build/windows-esm-loader.js +11 -0
- package/build/windows-esm-loader.js.map +1 -0
- package/package.json +67 -0
- package/tool-adapters/claude-code.json +34 -0
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text, useApp, useInput } from 'ink';
|
|
3
|
+
import { option } from 'pastel';
|
|
4
|
+
import { useEffect, useState } from 'react';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import { DryRunBanner, Spinner } from '../components/index.js';
|
|
7
|
+
import { useCommand } from '../hooks/useCommand.js';
|
|
8
|
+
import { findAllOrphanedAssets, LockfileLockedError, readLockfile, removeAssetFromLockfile, withLockfileLock, writeLockfile, } from '../lib/lockfile.js';
|
|
9
|
+
import { findProjectRoot } from '../lib/paths.js';
|
|
10
|
+
import { resolveTool } from '../lib/tool-resolver.js';
|
|
11
|
+
import { removeSingleAsset } from '../lib/uninstaller.js';
|
|
12
|
+
export const description = 'Remove orphaned dependencies';
|
|
13
|
+
export const options = z.object({
|
|
14
|
+
dryRun: z
|
|
15
|
+
.boolean()
|
|
16
|
+
.default(false)
|
|
17
|
+
.describe(option({
|
|
18
|
+
alias: 'n',
|
|
19
|
+
description: 'Show what would be pruned without making changes',
|
|
20
|
+
})),
|
|
21
|
+
projectRoot: z
|
|
22
|
+
.string()
|
|
23
|
+
.optional()
|
|
24
|
+
.describe(option({
|
|
25
|
+
alias: 'P',
|
|
26
|
+
description: 'Override project root directory',
|
|
27
|
+
})),
|
|
28
|
+
tool: z
|
|
29
|
+
.string()
|
|
30
|
+
.optional()
|
|
31
|
+
.describe(option({
|
|
32
|
+
alias: 'T',
|
|
33
|
+
description: 'Target tool (e.g., claude-code)',
|
|
34
|
+
})),
|
|
35
|
+
yes: z
|
|
36
|
+
.boolean()
|
|
37
|
+
.default(false)
|
|
38
|
+
.describe(option({
|
|
39
|
+
alias: 'y',
|
|
40
|
+
description: 'Skip confirmation prompt',
|
|
41
|
+
})),
|
|
42
|
+
});
|
|
43
|
+
export default function Prune({ options: { dryRun, projectRoot, tool, yes } }) {
|
|
44
|
+
const [confirmed, setConfirmed] = useState(false);
|
|
45
|
+
const [cancelled, setCancelled] = useState(false);
|
|
46
|
+
const [executing, setExecuting] = useState(false);
|
|
47
|
+
const [pruneResult, setPruneResult] = useState(null);
|
|
48
|
+
const [pruneError, setPruneError] = useState(null);
|
|
49
|
+
const [pruneProgress, setPruneProgress] = useState('Removing orphans...');
|
|
50
|
+
const { exit } = useApp();
|
|
51
|
+
const state = useCommand(async (progress) => {
|
|
52
|
+
const projectDir = findProjectRoot(projectRoot);
|
|
53
|
+
progress('Loading configuration...');
|
|
54
|
+
const { tool: resolvedTool } = await resolveTool(tool);
|
|
55
|
+
progress('Reading lockfile...');
|
|
56
|
+
const lockfile = await readLockfile(projectDir, resolvedTool);
|
|
57
|
+
if ((lockfile.assets ?? []).length === 0) {
|
|
58
|
+
return { outcome: 'no-orphans', tool: resolvedTool };
|
|
59
|
+
}
|
|
60
|
+
progress('Scanning for orphaned dependencies...');
|
|
61
|
+
const orphans = findAllOrphanedAssets(lockfile);
|
|
62
|
+
if (orphans.length === 0) {
|
|
63
|
+
return { outcome: 'no-orphans', tool: resolvedTool };
|
|
64
|
+
}
|
|
65
|
+
if (dryRun) {
|
|
66
|
+
return { orphans, outcome: 'dry-run', tool: resolvedTool };
|
|
67
|
+
}
|
|
68
|
+
if (yes) {
|
|
69
|
+
try {
|
|
70
|
+
const result = await withLockfileLock(projectDir, async () => {
|
|
71
|
+
// Re-read lockfile inside the lock for freshness
|
|
72
|
+
let currentLockfile = await readLockfile(projectDir, resolvedTool);
|
|
73
|
+
const freshOrphans = findAllOrphanedAssets(currentLockfile);
|
|
74
|
+
const removed = [];
|
|
75
|
+
const errors = [];
|
|
76
|
+
for (const orphan of freshOrphans) {
|
|
77
|
+
try {
|
|
78
|
+
progress(`Removing ${orphan.name}...`);
|
|
79
|
+
await removeSingleAsset(orphan, projectDir);
|
|
80
|
+
currentLockfile = removeAssetFromLockfile(currentLockfile, orphan.name, orphan.type);
|
|
81
|
+
removed.push(orphan.name);
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
errors.push({
|
|
85
|
+
error: err instanceof Error ? err.message : String(err),
|
|
86
|
+
name: orphan.name,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
progress('Updating lockfile...');
|
|
91
|
+
await writeLockfile(projectDir, currentLockfile);
|
|
92
|
+
return { errors, orphans: freshOrphans, removed };
|
|
93
|
+
});
|
|
94
|
+
return { ...result, outcome: 'pruned', tool: resolvedTool };
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
if (error instanceof LockfileLockedError) {
|
|
98
|
+
throw new Error('Another ATK process is currently modifying this project. Please wait and try again.');
|
|
99
|
+
}
|
|
100
|
+
throw error;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return { orphans, outcome: 'confirming', tool: resolvedTool };
|
|
104
|
+
}, [dryRun, projectRoot, tool, yes]);
|
|
105
|
+
// Handle confirmation input
|
|
106
|
+
const isConfirming = !confirmed && !cancelled && state.status === 'done' && state.data.outcome === 'confirming';
|
|
107
|
+
useInput((input) => {
|
|
108
|
+
if (input === 'y' || input === 'Y') {
|
|
109
|
+
setConfirmed(true);
|
|
110
|
+
}
|
|
111
|
+
else if (input === 'n' || input === 'N') {
|
|
112
|
+
setCancelled(true);
|
|
113
|
+
}
|
|
114
|
+
}, { isActive: isConfirming });
|
|
115
|
+
// Execute prune after confirmation
|
|
116
|
+
useEffect(() => {
|
|
117
|
+
if (confirmed && !executing && state.status === 'done' && state.data.outcome === 'confirming') {
|
|
118
|
+
setExecuting(true);
|
|
119
|
+
const { orphans } = state.data;
|
|
120
|
+
const projectDir = findProjectRoot(projectRoot);
|
|
121
|
+
const resolvedTool = state.data.tool;
|
|
122
|
+
withLockfileLock(projectDir, async () => {
|
|
123
|
+
let currentLockfile = await readLockfile(projectDir, resolvedTool);
|
|
124
|
+
const freshOrphans = findAllOrphanedAssets(currentLockfile);
|
|
125
|
+
const removed = [];
|
|
126
|
+
const errors = [];
|
|
127
|
+
for (const orphan of freshOrphans) {
|
|
128
|
+
setPruneProgress(`Removing ${orphan.name}...`);
|
|
129
|
+
try {
|
|
130
|
+
await removeSingleAsset(orphan, projectDir);
|
|
131
|
+
currentLockfile = removeAssetFromLockfile(currentLockfile, orphan.name, orphan.type);
|
|
132
|
+
removed.push(orphan.name);
|
|
133
|
+
}
|
|
134
|
+
catch (err) {
|
|
135
|
+
errors.push({
|
|
136
|
+
error: err instanceof Error ? err.message : String(err),
|
|
137
|
+
name: orphan.name,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
setPruneProgress('Updating lockfile...');
|
|
142
|
+
await writeLockfile(projectDir, currentLockfile);
|
|
143
|
+
return { errors, orphans, removed };
|
|
144
|
+
})
|
|
145
|
+
.then((result) => {
|
|
146
|
+
setPruneResult(result);
|
|
147
|
+
})
|
|
148
|
+
.catch((err) => {
|
|
149
|
+
setPruneError(err instanceof Error ? err.message : String(err));
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
}, [confirmed, executing, state, projectRoot]);
|
|
153
|
+
// Exit after cancellation
|
|
154
|
+
useEffect(() => {
|
|
155
|
+
if (cancelled) {
|
|
156
|
+
const timer = setTimeout(() => {
|
|
157
|
+
exit();
|
|
158
|
+
}, 100);
|
|
159
|
+
return () => {
|
|
160
|
+
clearTimeout(timer);
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
}, [cancelled, exit]);
|
|
164
|
+
// --- Render ---
|
|
165
|
+
if (state.status === 'loading') {
|
|
166
|
+
return _jsx(Spinner, { message: state.message });
|
|
167
|
+
}
|
|
168
|
+
if (state.status === 'error') {
|
|
169
|
+
return _jsxs(Text, { color: 'red', children: ["Error: ", state.message] });
|
|
170
|
+
}
|
|
171
|
+
const { data } = state;
|
|
172
|
+
if (data.outcome === 'no-orphans') {
|
|
173
|
+
return _jsxs(Text, { dimColor: true, children: ["No orphaned dependencies found for ", data.tool, ". Nothing to prune."] });
|
|
174
|
+
}
|
|
175
|
+
if (data.outcome === 'dry-run') {
|
|
176
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(DryRunBanner, { action: 'prune', count: data.orphans.length, tool: data.tool }), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Orphaned dependencies:" }), data.orphans.map((o) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'cyan', children: ["- ", o.name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", o.type, ") v", o.version] })] }, `${o.type}/${o.name}`)))] }));
|
|
177
|
+
}
|
|
178
|
+
if (data.outcome === 'pruned') {
|
|
179
|
+
return _jsx(PruneSummary, { errors: data.errors, orphans: data.orphans, removed: data.removed, tool: data.tool });
|
|
180
|
+
}
|
|
181
|
+
if (data.outcome === 'confirming') {
|
|
182
|
+
if (cancelled) {
|
|
183
|
+
return _jsx(Text, { color: 'yellow', children: "Cancelled." });
|
|
184
|
+
}
|
|
185
|
+
if (pruneError) {
|
|
186
|
+
return _jsxs(Text, { color: 'red', children: ["Error: ", pruneError] });
|
|
187
|
+
}
|
|
188
|
+
if (confirmed && !pruneResult) {
|
|
189
|
+
return _jsx(Spinner, { message: pruneProgress });
|
|
190
|
+
}
|
|
191
|
+
if (confirmed && pruneResult) {
|
|
192
|
+
return (_jsx(PruneSummary, { errors: pruneResult.errors, orphans: data.orphans, removed: pruneResult.removed, tool: data.tool }));
|
|
193
|
+
}
|
|
194
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Text, { dimColor: true, children: "Orphaned dependencies to remove:" }), data.orphans.map((o) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'cyan', children: ["- ", o.name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", o.type, ") v", o.version] })] }, `${o.type}/${o.name}`))), _jsx(Text, { children: " " }), _jsxs(Text, { children: ["Remove ", data.orphans.length, " orphan", data.orphans.length !== 1 ? 's' : '', "? (y/n)"] })] }));
|
|
195
|
+
}
|
|
196
|
+
return null;
|
|
197
|
+
}
|
|
198
|
+
function PruneSummary({ errors, orphans, removed, tool }) {
|
|
199
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'green', children: ["\u2713 Pruned ", removed.length, " orphaned dependenc", removed.length !== 1 ? 'ies' : 'y', " from ", tool] }), removed.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), orphans
|
|
200
|
+
.filter((o) => removed.includes(o.name))
|
|
201
|
+
.map((o) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'green', children: ["\u2713 ", o.name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", o.type, ") v", o.version] })] }, `${o.type}/${o.name}`)))] })), errors.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { color: 'red', children: "Errors:" }), errors.map((e) => (_jsxs(Text, { color: 'red', children: [' ', "\u2715 ", e.name, ": ", e.error] }, e.name)))] }))] }));
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=prune.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prune.js","sourceRoot":"","sources":["../../src/commands/prune.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const description = "Publish an asset or bundle to the registry";
|
|
3
|
+
export declare const options: z.ZodObject<{
|
|
4
|
+
dryRun: z.ZodDefault<z.ZodBoolean>;
|
|
5
|
+
message: z.ZodOptional<z.ZodString>;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
export declare const args: z.ZodTuple<[z.ZodString], null>;
|
|
8
|
+
type Props = {
|
|
9
|
+
args: z.infer<typeof args>;
|
|
10
|
+
options: z.infer<typeof options>;
|
|
11
|
+
};
|
|
12
|
+
export default function Publish({ args: [rawPath], options: { dryRun, message }, }: Props): import("react/jsx-runtime").JSX.Element | null;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=publish.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyBxB,eAAO,MAAM,WAAW,+CAA+C,CAAC;AAExE,eAAO,MAAM,OAAO;;;iBAmBlB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAA0E,CAAC;AAc5F,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,IAAI,EAAE,CAAC,OAAO,CAAC,EACf,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAC7B,EAAE,KAAK,kDAugBP"}
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text, useApp } from 'ink';
|
|
3
|
+
import TextInput from 'ink-text-input';
|
|
4
|
+
import { resolve } from 'node:path';
|
|
5
|
+
import { option } from 'pastel';
|
|
6
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
import { DryRunBanner, Spinner } from '../components/index.js';
|
|
9
|
+
import { CheckIcon } from '../components/StatusBadge.js';
|
|
10
|
+
import { getGitHubToken } from '../lib/auth.js';
|
|
11
|
+
import { DEFAULT_REGISTRY_BRANCH_DEV } from '../lib/github.js';
|
|
12
|
+
import { buildPublishPlan, bumpVersion, checkRegistryVersion, detectPublishType, executePublish, mapPublishError, updateManifestVersion, validatePublishTarget, } from '../lib/publisher.js';
|
|
13
|
+
import { fetchRegistry } from '../lib/registry.js';
|
|
14
|
+
export const description = 'Publish an asset or bundle to the registry';
|
|
15
|
+
export const options = z.object({
|
|
16
|
+
dryRun: z
|
|
17
|
+
.boolean()
|
|
18
|
+
.default(false)
|
|
19
|
+
.describe(option({
|
|
20
|
+
alias: 'd',
|
|
21
|
+
description: 'Show what would happen without creating the PR',
|
|
22
|
+
})),
|
|
23
|
+
message: z
|
|
24
|
+
.string()
|
|
25
|
+
.optional()
|
|
26
|
+
.describe(option({
|
|
27
|
+
alias: 'm',
|
|
28
|
+
description: 'Custom PR description (appended to auto-generated content)',
|
|
29
|
+
})),
|
|
30
|
+
});
|
|
31
|
+
export const args = z.tuple([z.string().describe('Path to the asset or bundle directory')]);
|
|
32
|
+
export default function Publish({ args: [rawPath], options: { dryRun, message }, }) {
|
|
33
|
+
const { exit } = useApp();
|
|
34
|
+
// Phase state machine
|
|
35
|
+
const [phase, setPhase] = useState('detecting');
|
|
36
|
+
// Data accumulated across phases
|
|
37
|
+
const [target, setTarget] = useState();
|
|
38
|
+
const [validation, setValidation] = useState();
|
|
39
|
+
const [_registry, setRegistry] = useState();
|
|
40
|
+
const [versionCheck, setVersionCheck] = useState();
|
|
41
|
+
const [token, setToken] = useState();
|
|
42
|
+
const [isUpdate, setIsUpdate] = useState(false);
|
|
43
|
+
const [resolvedVersion, setResolvedVersion] = useState('');
|
|
44
|
+
const [plan, setPlan] = useState();
|
|
45
|
+
const [publishResult, setPublishResult] = useState();
|
|
46
|
+
const [progressMessage, setProgressMessage] = useState('');
|
|
47
|
+
// Interactive prompt values
|
|
48
|
+
const [confirmValue, setConfirmValue] = useState('');
|
|
49
|
+
const [bumpSelection, setBumpSelection] = useState('');
|
|
50
|
+
// Error and status
|
|
51
|
+
const [errorMessage, setErrorMessage] = useState('');
|
|
52
|
+
const resolvedPath = resolve(rawPath);
|
|
53
|
+
// ---------------------------------------------------------------------------
|
|
54
|
+
// Phase: Detecting asset vs bundle
|
|
55
|
+
// ---------------------------------------------------------------------------
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
if (phase !== 'detecting')
|
|
58
|
+
return;
|
|
59
|
+
let cancelled = false;
|
|
60
|
+
const detect = async () => {
|
|
61
|
+
const detected = await detectPublishType(resolvedPath);
|
|
62
|
+
if (cancelled)
|
|
63
|
+
return;
|
|
64
|
+
setTarget(detected);
|
|
65
|
+
setPhase('validating');
|
|
66
|
+
};
|
|
67
|
+
detect().catch((err) => {
|
|
68
|
+
if (!cancelled) {
|
|
69
|
+
setErrorMessage(err instanceof Error ? err.message : String(err));
|
|
70
|
+
setPhase('error');
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
return () => {
|
|
74
|
+
cancelled = true;
|
|
75
|
+
};
|
|
76
|
+
}, [phase, resolvedPath]);
|
|
77
|
+
// ---------------------------------------------------------------------------
|
|
78
|
+
// Phase: Validating manifest/bundle
|
|
79
|
+
// ---------------------------------------------------------------------------
|
|
80
|
+
useEffect(() => {
|
|
81
|
+
if (phase !== 'validating')
|
|
82
|
+
return;
|
|
83
|
+
if (!target)
|
|
84
|
+
return;
|
|
85
|
+
let cancelled = false;
|
|
86
|
+
const validate = async () => {
|
|
87
|
+
const result = await validatePublishTarget(target);
|
|
88
|
+
if (cancelled)
|
|
89
|
+
return;
|
|
90
|
+
setValidation(result);
|
|
91
|
+
if (!result.valid) {
|
|
92
|
+
setErrorMessage(`Validation failed:\n${result.errors.map((e) => ` - ${e}`).join('\n')}`);
|
|
93
|
+
setPhase('error');
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
setPhase('checking-registry');
|
|
97
|
+
};
|
|
98
|
+
validate().catch((err) => {
|
|
99
|
+
if (!cancelled) {
|
|
100
|
+
setErrorMessage(err instanceof Error ? err.message : String(err));
|
|
101
|
+
setPhase('error');
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
return () => {
|
|
105
|
+
cancelled = true;
|
|
106
|
+
};
|
|
107
|
+
}, [phase, target]);
|
|
108
|
+
// ---------------------------------------------------------------------------
|
|
109
|
+
// Phase: Checking registry for existing asset
|
|
110
|
+
// ---------------------------------------------------------------------------
|
|
111
|
+
useEffect(() => {
|
|
112
|
+
if (phase !== 'checking-registry')
|
|
113
|
+
return;
|
|
114
|
+
if (!target)
|
|
115
|
+
return;
|
|
116
|
+
let cancelled = false;
|
|
117
|
+
const check = async () => {
|
|
118
|
+
const authToken = await getGitHubToken();
|
|
119
|
+
if (cancelled)
|
|
120
|
+
return;
|
|
121
|
+
setToken(authToken);
|
|
122
|
+
const reg = await fetchRegistry();
|
|
123
|
+
if (cancelled)
|
|
124
|
+
return;
|
|
125
|
+
setRegistry(reg);
|
|
126
|
+
const versionResult = checkRegistryVersion(target, reg);
|
|
127
|
+
if (cancelled)
|
|
128
|
+
return;
|
|
129
|
+
setVersionCheck(versionResult);
|
|
130
|
+
if (versionResult.status === 'new-asset') {
|
|
131
|
+
setIsUpdate(false);
|
|
132
|
+
setResolvedVersion(target.data.version);
|
|
133
|
+
setPhase('building-plan');
|
|
134
|
+
}
|
|
135
|
+
else if (versionResult.status === 'version-already-bumped') {
|
|
136
|
+
setIsUpdate(true);
|
|
137
|
+
setResolvedVersion(target.data.version);
|
|
138
|
+
setPhase('confirm-update');
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
// needs-bump
|
|
142
|
+
setIsUpdate(true);
|
|
143
|
+
setPhase('bump-prompt');
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
check().catch((err) => {
|
|
147
|
+
if (!cancelled) {
|
|
148
|
+
setErrorMessage(mapPublishError(err));
|
|
149
|
+
setPhase('error');
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
return () => {
|
|
153
|
+
cancelled = true;
|
|
154
|
+
};
|
|
155
|
+
}, [phase, target]);
|
|
156
|
+
// ---------------------------------------------------------------------------
|
|
157
|
+
// Phase: Building publish plan
|
|
158
|
+
// ---------------------------------------------------------------------------
|
|
159
|
+
useEffect(() => {
|
|
160
|
+
if (phase !== 'building-plan')
|
|
161
|
+
return;
|
|
162
|
+
if (!target)
|
|
163
|
+
return;
|
|
164
|
+
let cancelled = false;
|
|
165
|
+
const build = async () => {
|
|
166
|
+
const publishPlan = await buildPublishPlan(target, resolvedVersion, isUpdate, message);
|
|
167
|
+
if (cancelled)
|
|
168
|
+
return;
|
|
169
|
+
setPlan(publishPlan);
|
|
170
|
+
if (dryRun) {
|
|
171
|
+
setPhase('dry-run-result');
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
setPhase('publishing');
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
build().catch((err) => {
|
|
178
|
+
if (!cancelled) {
|
|
179
|
+
setErrorMessage(err instanceof Error ? err.message : String(err));
|
|
180
|
+
setPhase('error');
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
return () => {
|
|
184
|
+
cancelled = true;
|
|
185
|
+
};
|
|
186
|
+
}, [phase, target, resolvedVersion, isUpdate, dryRun, message]);
|
|
187
|
+
// ---------------------------------------------------------------------------
|
|
188
|
+
// Phase: Publishing (executing git operations)
|
|
189
|
+
// ---------------------------------------------------------------------------
|
|
190
|
+
useEffect(() => {
|
|
191
|
+
if (phase !== 'publishing')
|
|
192
|
+
return;
|
|
193
|
+
if (!plan || !token)
|
|
194
|
+
return;
|
|
195
|
+
let cancelled = false;
|
|
196
|
+
const publish = async () => {
|
|
197
|
+
const result = await executePublish(plan, token, (msg) => {
|
|
198
|
+
if (!cancelled) {
|
|
199
|
+
setProgressMessage(msg);
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
if (cancelled)
|
|
203
|
+
return;
|
|
204
|
+
setPublishResult(result);
|
|
205
|
+
setPhase('done');
|
|
206
|
+
};
|
|
207
|
+
publish().catch((err) => {
|
|
208
|
+
if (!cancelled) {
|
|
209
|
+
setErrorMessage(mapPublishError(err));
|
|
210
|
+
setPhase('error');
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
return () => {
|
|
214
|
+
cancelled = true;
|
|
215
|
+
};
|
|
216
|
+
}, [phase, plan, token]);
|
|
217
|
+
// ---------------------------------------------------------------------------
|
|
218
|
+
// Prompt handlers
|
|
219
|
+
// ---------------------------------------------------------------------------
|
|
220
|
+
const handleConfirmSubmit = useCallback((value) => {
|
|
221
|
+
const trimmed = value.trim().toLowerCase();
|
|
222
|
+
if (trimmed === 'y' || trimmed === 'yes') {
|
|
223
|
+
setPhase('building-plan');
|
|
224
|
+
}
|
|
225
|
+
else if (trimmed === 'n' || trimmed === 'no') {
|
|
226
|
+
setErrorMessage('Publish cancelled.');
|
|
227
|
+
setPhase('error');
|
|
228
|
+
}
|
|
229
|
+
// Otherwise ignore (wait for valid input)
|
|
230
|
+
}, []);
|
|
231
|
+
const handleBumpSubmit = useCallback((value) => {
|
|
232
|
+
if (!target || !versionCheck || versionCheck.status !== 'needs-bump')
|
|
233
|
+
return;
|
|
234
|
+
const trimmed = value.trim().toLowerCase();
|
|
235
|
+
if (trimmed !== 'patch' && trimmed !== 'minor' && trimmed !== 'major') {
|
|
236
|
+
return; // Ignore invalid input
|
|
237
|
+
}
|
|
238
|
+
const bumpType = trimmed;
|
|
239
|
+
const newVersion = bumpVersion(versionCheck.latestVersion, bumpType);
|
|
240
|
+
setResolvedVersion(newVersion);
|
|
241
|
+
// Update the local manifest file
|
|
242
|
+
const manifestFile = target.type === 'asset' ? 'manifest.json' : 'bundle.json';
|
|
243
|
+
updateManifestVersion(target.sourceDir, manifestFile, newVersion)
|
|
244
|
+
.then(() => {
|
|
245
|
+
// Re-read the target so it has the updated version
|
|
246
|
+
return detectPublishType(target.sourceDir);
|
|
247
|
+
})
|
|
248
|
+
.then((updatedTarget) => {
|
|
249
|
+
setTarget(updatedTarget);
|
|
250
|
+
setPhase('building-plan');
|
|
251
|
+
})
|
|
252
|
+
.catch((err) => {
|
|
253
|
+
setErrorMessage(`Failed to update version: ${err instanceof Error ? err.message : String(err)}`);
|
|
254
|
+
setPhase('error');
|
|
255
|
+
});
|
|
256
|
+
}, [target, versionCheck]);
|
|
257
|
+
// ---------------------------------------------------------------------------
|
|
258
|
+
// Exit on error
|
|
259
|
+
// ---------------------------------------------------------------------------
|
|
260
|
+
useEffect(() => {
|
|
261
|
+
if (phase === 'error') {
|
|
262
|
+
const timer = setTimeout(() => {
|
|
263
|
+
process.exitCode = 1;
|
|
264
|
+
exit();
|
|
265
|
+
}, 100);
|
|
266
|
+
return () => {
|
|
267
|
+
clearTimeout(timer);
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
}, [phase, exit]);
|
|
271
|
+
// ---------------------------------------------------------------------------
|
|
272
|
+
// Exit on done
|
|
273
|
+
// ---------------------------------------------------------------------------
|
|
274
|
+
useEffect(() => {
|
|
275
|
+
if (phase === 'done') {
|
|
276
|
+
const timer = setTimeout(() => {
|
|
277
|
+
exit();
|
|
278
|
+
}, 100);
|
|
279
|
+
return () => {
|
|
280
|
+
clearTimeout(timer);
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
}, [phase, exit]);
|
|
284
|
+
// ---------------------------------------------------------------------------
|
|
285
|
+
// Exit on dry-run-result
|
|
286
|
+
// ---------------------------------------------------------------------------
|
|
287
|
+
useEffect(() => {
|
|
288
|
+
if (phase === 'dry-run-result') {
|
|
289
|
+
const timer = setTimeout(() => {
|
|
290
|
+
exit();
|
|
291
|
+
}, 100);
|
|
292
|
+
return () => {
|
|
293
|
+
clearTimeout(timer);
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
}, [phase, exit]);
|
|
297
|
+
// ---------------------------------------------------------------------------
|
|
298
|
+
// Render
|
|
299
|
+
// ---------------------------------------------------------------------------
|
|
300
|
+
// Error state
|
|
301
|
+
if (phase === 'error') {
|
|
302
|
+
return _jsxs(Text, { color: 'red', children: ["Error: ", errorMessage] });
|
|
303
|
+
}
|
|
304
|
+
// Detecting
|
|
305
|
+
if (phase === 'detecting') {
|
|
306
|
+
return _jsx(Spinner, { message: 'Detecting asset type...' });
|
|
307
|
+
}
|
|
308
|
+
// Validating
|
|
309
|
+
if (phase === 'validating') {
|
|
310
|
+
return _jsx(Spinner, { message: 'Validating manifest...' });
|
|
311
|
+
}
|
|
312
|
+
// Checking registry
|
|
313
|
+
if (phase === 'checking-registry') {
|
|
314
|
+
return _jsx(Spinner, { message: 'Checking registry...' });
|
|
315
|
+
}
|
|
316
|
+
// Confirm update prompt
|
|
317
|
+
if (phase === 'confirm-update' && target && versionCheck && versionCheck.status === 'version-already-bumped') {
|
|
318
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [validation && (_jsxs(Box, { flexDirection: 'column', marginBottom: 1, children: [_jsx(Text, { bold: true, children: "Validation:" }), validation.errors.length === 0 && (_jsxs(Text, { children: [' ', _jsx(CheckIcon, { status: 'pass' }), " All checks passed"] })), validation.warnings.map((w, i) => (_jsxs(Text, { children: [' ', _jsx(CheckIcon, { status: 'warn' }), " ", w] }, i)))] })), _jsxs(Box, { flexDirection: 'column', marginBottom: 1, children: [_jsxs(Text, { children: ["Asset ", _jsx(Text, { bold: true, children: target.data.name }), " already exists in the registry at v", versionCheck.latestVersion, "."] }), _jsxs(Text, { children: ["Publishing v", _jsx(Text, { bold: true, children: target.data.version }), " as an update."] })] }), _jsxs(Box, { children: [_jsx(Text, { color: 'cyan', children: '> ' }), _jsx(Text, { children: "Continue? (y/n): " }), _jsx(TextInput, { focus: true, onChange: setConfirmValue, onSubmit: handleConfirmSubmit, value: confirmValue })] })] }));
|
|
319
|
+
}
|
|
320
|
+
// Bump prompt
|
|
321
|
+
if (phase === 'bump-prompt' && target && versionCheck && versionCheck.status === 'needs-bump') {
|
|
322
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [validation && (_jsxs(Box, { flexDirection: 'column', marginBottom: 1, children: [_jsx(Text, { bold: true, children: "Validation:" }), validation.errors.length === 0 && (_jsxs(Text, { children: [' ', _jsx(CheckIcon, { status: 'pass' }), " All checks passed"] })), validation.warnings.map((w, i) => (_jsxs(Text, { children: [' ', _jsx(CheckIcon, { status: 'warn' }), " ", w] }, i)))] })), _jsxs(Box, { flexDirection: 'column', marginBottom: 1, children: [_jsxs(Text, { children: ["Asset ", _jsx(Text, { bold: true, children: target.data.name }), " exists in the registry at v", versionCheck.latestVersion, "."] }), _jsxs(Text, { children: ["Current manifest version (v", target.data.version, ") is not newer."] })] }), _jsxs(Box, { children: [_jsx(Text, { color: 'cyan', children: '> ' }), _jsx(Text, { children: "Bump type (patch/minor/major): " }), _jsx(TextInput, { focus: true, onChange: setBumpSelection, onSubmit: handleBumpSubmit, value: bumpSelection })] })] }));
|
|
323
|
+
}
|
|
324
|
+
// Building plan
|
|
325
|
+
if (phase === 'building-plan') {
|
|
326
|
+
return _jsx(Spinner, { message: 'Building publish plan...' });
|
|
327
|
+
}
|
|
328
|
+
// Dry run result
|
|
329
|
+
if (phase === 'dry-run-result' && plan && target) {
|
|
330
|
+
const statusLabel = plan.isUpdate
|
|
331
|
+
? `Update from v${versionCheck && versionCheck.status !== 'new-asset' ? versionCheck.latestVersion : '?'}`
|
|
332
|
+
: 'New asset';
|
|
333
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(DryRunBanner, { action: 'publish', count: plan.files.length, tool: 'registry' }), _jsx(Text, { children: " " }), validation && (_jsxs(Box, { flexDirection: 'column', marginBottom: 1, children: [_jsx(Text, { bold: true, children: "Validation:" }), validation.errors.length === 0 && (_jsxs(Text, { children: [' ', _jsx(CheckIcon, { status: 'pass' }), " All checks passed"] })), validation.warnings.map((w, i) => (_jsxs(Text, { children: [' ', _jsx(CheckIcon, { status: 'warn' }), " ", w] }, i)))] })), _jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "Asset: " }), _jsx(Text, { bold: true, children: target.data.name })] }), target.type === 'asset' && target.assetType && (_jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "Type: " }), target.assetType] })), target.type === 'bundle' && (_jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "Type: " }), "bundle"] })), _jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "Version: " }), plan.resolvedVersion] }), _jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "Status: " }), statusLabel] }), _jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "Checksum: " }), plan.checksum] })] }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "Files to publish:" }), plan.files.map((file) => (_jsxs(Text, { children: [" ", file] }, file))), _jsx(Text, { children: " " }), _jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "Target: " }), plan.registryPath] }), _jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "Branch: " }), plan.branchName] }), _jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "PR Target:" }), " ", DEFAULT_REGISTRY_BRANCH_DEV] })] }));
|
|
334
|
+
}
|
|
335
|
+
// Publishing
|
|
336
|
+
if (phase === 'publishing') {
|
|
337
|
+
return _jsx(Spinner, { message: progressMessage || 'Publishing...' });
|
|
338
|
+
}
|
|
339
|
+
// Done
|
|
340
|
+
if (phase === 'done' && publishResult && target) {
|
|
341
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'green', children: ["Published ", _jsx(Text, { bold: true, children: target.data.name }), " v", resolvedVersion] }), _jsx(Text, { children: " " }), _jsxs(Text, { children: ["PR: ", _jsx(Text, { color: 'cyan', children: publishResult.prUrl })] }), _jsxs(Text, { children: ["Branch: ", _jsx(Text, { dimColor: true, children: publishResult.branchName })] })] }));
|
|
342
|
+
}
|
|
343
|
+
return null;
|
|
344
|
+
}
|
|
345
|
+
//# sourceMappingURL=publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const description = "Search for assets in the registry";
|
|
3
|
+
export declare const options: z.ZodObject<{
|
|
4
|
+
refresh: z.ZodDefault<z.ZodBoolean>;
|
|
5
|
+
tag: z.ZodOptional<z.ZodString>;
|
|
6
|
+
tool: z.ZodOptional<z.ZodString>;
|
|
7
|
+
type: z.ZodOptional<z.ZodString>;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
export declare const args: z.ZodTuple<[z.ZodString], null>;
|
|
10
|
+
type Props = {
|
|
11
|
+
args: z.infer<typeof args>;
|
|
12
|
+
options: z.infer<typeof options>;
|
|
13
|
+
};
|
|
14
|
+
export default function Search({ args: [query], options: { refresh, tag, tool, type } }: Props): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,WAAW,sCAAsC,CAAC;AAE/D,eAAO,MAAM,OAAO;;;;;iBAkClB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAAiD,CAAC;AAEnE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAOF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CAkE7F"}
|