@doist/twist-cli 2.21.2 → 2.22.0
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/CHANGELOG.md +80 -123
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +1 -2
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/update/action.d.ts +12 -0
- package/dist/commands/update/action.d.ts.map +1 -0
- package/dist/commands/update/action.js +125 -0
- package/dist/commands/update/action.js.map +1 -0
- package/dist/commands/update/channel.d.ts +2 -0
- package/dist/commands/update/channel.d.ts.map +1 -0
- package/dist/commands/update/channel.js +13 -0
- package/dist/commands/update/channel.js.map +1 -0
- package/dist/commands/update/index.d.ts +3 -0
- package/dist/commands/update/index.d.ts.map +1 -0
- package/dist/commands/update/index.js +18 -0
- package/dist/commands/update/index.js.map +1 -0
- package/dist/commands/update/switch.d.ts +5 -0
- package/dist/commands/update/switch.d.ts.map +1 -0
- package/dist/commands/update/switch.js +31 -0
- package/dist/commands/update/switch.js.map +1 -0
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +1 -7
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/config.d.ts +2 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/skills/content.d.ts +1 -1
- package/dist/lib/skills/content.d.ts.map +1 -1
- package/dist/lib/skills/content.js +4 -1
- package/dist/lib/skills/content.js.map +1 -1
- package/package.json +7 -9
- package/dist/commands/update.d.ts +0 -14
- package/dist/commands/update.d.ts.map +0 -1
- package/dist/commands/update.js +0 -91
- package/dist/commands/update.js.map +0 -1
package/dist/commands/update.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { spawn } from 'node:child_process';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
|
-
import pkg from '../../package.json' with { type: 'json' };
|
|
4
|
-
import { withSpinner } from '../lib/spinner.js';
|
|
5
|
-
const PACKAGE_NAME = '@doist/twist-cli';
|
|
6
|
-
const REGISTRY_URL = `https://registry.npmjs.org/${PACKAGE_NAME}/latest`;
|
|
7
|
-
export async function fetchLatestVersion() {
|
|
8
|
-
const response = await fetch(REGISTRY_URL);
|
|
9
|
-
if (!response.ok) {
|
|
10
|
-
throw new Error(`Registry returned ${response.status}`);
|
|
11
|
-
}
|
|
12
|
-
const data = (await response.json());
|
|
13
|
-
return data.version;
|
|
14
|
-
}
|
|
15
|
-
export function detectPackageManager() {
|
|
16
|
-
const execPath = process.env.npm_execpath ?? '';
|
|
17
|
-
if (execPath.includes('pnpm')) {
|
|
18
|
-
return 'pnpm';
|
|
19
|
-
}
|
|
20
|
-
return 'npm';
|
|
21
|
-
}
|
|
22
|
-
export function runInstall(pm) {
|
|
23
|
-
const command = pm === 'pnpm' ? 'add' : 'install';
|
|
24
|
-
return new Promise((resolve, reject) => {
|
|
25
|
-
const child = spawn(pm, [command, '-g', `${PACKAGE_NAME}@latest`], {
|
|
26
|
-
stdio: 'pipe',
|
|
27
|
-
});
|
|
28
|
-
let stderr = '';
|
|
29
|
-
child.stderr?.on('data', (data) => {
|
|
30
|
-
stderr += data.toString();
|
|
31
|
-
});
|
|
32
|
-
child.on('error', reject);
|
|
33
|
-
child.on('close', (code) => resolve({ exitCode: code ?? 1, stderr }));
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
export async function updateAction(options) {
|
|
37
|
-
const currentVersion = pkg.version;
|
|
38
|
-
let latestVersion;
|
|
39
|
-
try {
|
|
40
|
-
latestVersion = await withSpinner({ text: 'Checking for updates...' }, fetchLatestVersion);
|
|
41
|
-
}
|
|
42
|
-
catch (error) {
|
|
43
|
-
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
44
|
-
console.error(chalk.red('Failed to check for updates:'), message);
|
|
45
|
-
process.exitCode = 1;
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
if (currentVersion === latestVersion) {
|
|
49
|
-
console.log(chalk.green('✓'), `Already up to date (v${currentVersion})`);
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
console.log(`Update available: ${chalk.dim(`v${currentVersion}`)} → ${chalk.green(`v${latestVersion}`)}`);
|
|
53
|
-
if (options.check) {
|
|
54
|
-
console.log(chalk.dim('Run `tw update` to install'));
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
const pm = detectPackageManager();
|
|
58
|
-
let result;
|
|
59
|
-
try {
|
|
60
|
-
result = await withSpinner({ text: `Updating to v${latestVersion}...`, color: 'blue' }, () => runInstall(pm));
|
|
61
|
-
}
|
|
62
|
-
catch (error) {
|
|
63
|
-
if (error instanceof Error && 'code' in error && error.code === 'EACCES') {
|
|
64
|
-
console.error(chalk.red('Permission denied.'), `Try running with sudo: sudo ${pm} ${pm === 'pnpm' ? 'add' : 'install'} -g ${PACKAGE_NAME}@latest`);
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
68
|
-
console.error(chalk.red('Update failed:'), message);
|
|
69
|
-
}
|
|
70
|
-
process.exitCode = 1;
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
if (result.exitCode !== 0) {
|
|
74
|
-
console.error(chalk.red('Update failed:'), `${pm} exited with code ${result.exitCode}`);
|
|
75
|
-
if (result.stderr) {
|
|
76
|
-
console.error(chalk.dim(result.stderr.trim()));
|
|
77
|
-
}
|
|
78
|
-
process.exitCode = 1;
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
console.log(chalk.green('✓'), `Updated to v${latestVersion}`);
|
|
82
|
-
console.log(chalk.dim(' Run'), chalk.cyan('tw changelog'), chalk.dim('to see what changed'));
|
|
83
|
-
}
|
|
84
|
-
export function registerUpdateCommand(program) {
|
|
85
|
-
program
|
|
86
|
-
.command('update')
|
|
87
|
-
.description('Update the CLI to the latest version')
|
|
88
|
-
.option('--check', 'Check for updates without installing')
|
|
89
|
-
.action(updateAction);
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=update.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|