decocms 0.16.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/README.md +95 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +373 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/add/add.d.ts +7 -0
- package/dist/commands/add/add.d.ts.map +1 -0
- package/dist/commands/add/add.js +90 -0
- package/dist/commands/add/add.js.map +1 -0
- package/dist/commands/auth/login.d.ts +2 -0
- package/dist/commands/auth/login.d.ts.map +1 -0
- package/dist/commands/auth/login.js +125 -0
- package/dist/commands/auth/login.js.map +1 -0
- package/dist/commands/auth/whoami.d.ts +2 -0
- package/dist/commands/auth/whoami.d.ts.map +1 -0
- package/dist/commands/auth/whoami.js +51 -0
- package/dist/commands/auth/whoami.js.map +1 -0
- package/dist/commands/config/configure.d.ts +2 -0
- package/dist/commands/config/configure.d.ts.map +1 -0
- package/dist/commands/config/configure.js +51 -0
- package/dist/commands/config/configure.js.map +1 -0
- package/dist/commands/create/create.d.ts +3 -0
- package/dist/commands/create/create.d.ts.map +1 -0
- package/dist/commands/create/create.js +238 -0
- package/dist/commands/create/create.js.map +1 -0
- package/dist/commands/dev/dev.d.ts +8 -0
- package/dist/commands/dev/dev.d.ts.map +1 -0
- package/dist/commands/dev/dev.js +64 -0
- package/dist/commands/dev/dev.js.map +1 -0
- package/dist/commands/dev/link.d.ts +8 -0
- package/dist/commands/dev/link.d.ts.map +1 -0
- package/dist/commands/dev/link.js +124 -0
- package/dist/commands/dev/link.js.map +1 -0
- package/dist/commands/gen/gen.d.ts +11 -0
- package/dist/commands/gen/gen.d.ts.map +1 -0
- package/dist/commands/gen/gen.js +341 -0
- package/dist/commands/gen/gen.js.map +1 -0
- package/dist/commands/hosting/deploy.d.ts +19 -0
- package/dist/commands/hosting/deploy.d.ts.map +1 -0
- package/dist/commands/hosting/deploy.js +194 -0
- package/dist/commands/hosting/deploy.js.map +1 -0
- package/dist/commands/hosting/list.d.ts +6 -0
- package/dist/commands/hosting/list.d.ts.map +1 -0
- package/dist/commands/hosting/list.js +26 -0
- package/dist/commands/hosting/list.js.map +1 -0
- package/dist/commands/hosting/promote.d.ts +11 -0
- package/dist/commands/hosting/promote.d.ts.map +1 -0
- package/dist/commands/hosting/promote.js +153 -0
- package/dist/commands/hosting/promote.js.map +1 -0
- package/dist/commands/update/update.d.ts +4 -0
- package/dist/commands/update/update.d.ts.map +1 -0
- package/dist/commands/update/update.js +242 -0
- package/dist/commands/update/update.js.map +1 -0
- package/dist/commands/update/upgrade.d.ts +4 -0
- package/dist/commands/update/upgrade.d.ts.map +1 -0
- package/dist/commands/update/upgrade.js +157 -0
- package/dist/commands/update/upgrade.js.map +1 -0
- package/dist/lib/config.d.ts +309 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +262 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/constants.d.ts +10 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +16 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/fs.d.ts +40 -0
- package/dist/lib/fs.d.ts.map +1 -0
- package/dist/lib/fs.js +162 -0
- package/dist/lib/fs.js.map +1 -0
- package/dist/lib/mcp.d.ts +34 -0
- package/dist/lib/mcp.d.ts.map +1 -0
- package/dist/lib/mcp.js +19 -0
- package/dist/lib/mcp.js.map +1 -0
- package/dist/lib/parse-binding-tool.d.ts +12 -0
- package/dist/lib/parse-binding-tool.d.ts.map +1 -0
- package/dist/lib/parse-binding-tool.js +15 -0
- package/dist/lib/parse-binding-tool.js.map +1 -0
- package/dist/lib/prompt-ide-setup.d.ts +27 -0
- package/dist/lib/prompt-ide-setup.d.ts.map +1 -0
- package/dist/lib/prompt-ide-setup.js +158 -0
- package/dist/lib/prompt-ide-setup.js.map +1 -0
- package/dist/lib/prompt-integrations.d.ts +7 -0
- package/dist/lib/prompt-integrations.d.ts.map +1 -0
- package/dist/lib/prompt-integrations.js +84 -0
- package/dist/lib/prompt-integrations.js.map +1 -0
- package/dist/lib/prompt-workspace.d.ts +2 -0
- package/dist/lib/prompt-workspace.d.ts.map +1 -0
- package/dist/lib/prompt-workspace.js +93 -0
- package/dist/lib/prompt-workspace.js.map +1 -0
- package/dist/lib/runtime.d.ts +5 -0
- package/dist/lib/runtime.d.ts.map +1 -0
- package/dist/lib/runtime.js +15 -0
- package/dist/lib/runtime.js.map +1 -0
- package/dist/lib/session.d.ts +39 -0
- package/dist/lib/session.d.ts.map +1 -0
- package/dist/lib/session.js +124 -0
- package/dist/lib/session.js.map +1 -0
- package/dist/lib/slugify.d.ts +13 -0
- package/dist/lib/slugify.d.ts.map +1 -0
- package/dist/lib/slugify.js +27 -0
- package/dist/lib/slugify.js.map +1 -0
- package/dist/lib/supabase.d.ts +5 -0
- package/dist/lib/supabase.d.ts.map +1 -0
- package/dist/lib/supabase.js +19 -0
- package/dist/lib/supabase.js.map +1 -0
- package/dist/lib/wrangler.d.ts +9 -0
- package/dist/lib/wrangler.d.ts.map +1 -0
- package/dist/lib/wrangler.js +118 -0
- package/dist/lib/wrangler.js.map +1 -0
- package/dist/rules/deco-chat.mdc +902 -0
- package/package.json +79 -0
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { readFile, writeFile } from "fs/promises";
|
|
2
|
+
import { resolve } from "path";
|
|
3
|
+
import { existsSync } from "fs";
|
|
4
|
+
import { glob } from "glob";
|
|
5
|
+
import inquirer from "inquirer";
|
|
6
|
+
import chalk from "chalk";
|
|
7
|
+
import process from "node:process";
|
|
8
|
+
// Hardcoded Deco dependencies to manage
|
|
9
|
+
const DECO_DEPENDENCIES = ["@deco/workers-runtime"];
|
|
10
|
+
const DECO_DEV_DEPENDENCIES = ["deco-cli"];
|
|
11
|
+
const getLatestVersion = async (packageName) => {
|
|
12
|
+
const controller = new AbortController();
|
|
13
|
+
const timeoutId = setTimeout(() => controller.abort(), 10000);
|
|
14
|
+
try {
|
|
15
|
+
// Handle JSR packages - check JSR registry first
|
|
16
|
+
if (packageName === "@deco/workers-runtime") {
|
|
17
|
+
const response = await fetch("https://jsr.io/@deco/workers-runtime/meta.json", {
|
|
18
|
+
signal: controller.signal,
|
|
19
|
+
});
|
|
20
|
+
clearTimeout(timeoutId);
|
|
21
|
+
if (response.ok) {
|
|
22
|
+
const data = (await response.json());
|
|
23
|
+
return data.latest;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
// Fallback to npm registry
|
|
27
|
+
const response = await fetch(`https://registry.npmjs.org/${packageName}/latest`, {
|
|
28
|
+
signal: controller.signal,
|
|
29
|
+
});
|
|
30
|
+
clearTimeout(timeoutId);
|
|
31
|
+
if (!response.ok) {
|
|
32
|
+
throw new Error(`Failed to fetch latest version: ${response.statusText}`);
|
|
33
|
+
}
|
|
34
|
+
const data = (await response.json());
|
|
35
|
+
return data.version;
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
clearTimeout(timeoutId);
|
|
39
|
+
if (error instanceof Error && error.name === "AbortError") {
|
|
40
|
+
throw new Error("Request timed out while checking for updates");
|
|
41
|
+
}
|
|
42
|
+
throw error;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
const parseCurrentVersion = (versionString) => {
|
|
46
|
+
// Handle JSR format: "npm:@jsr/deco__workers-runtime@0.6.3"
|
|
47
|
+
if (versionString.startsWith("npm:@jsr/")) {
|
|
48
|
+
const match = versionString.match(/@([^@]+)$/);
|
|
49
|
+
return match ? match[1] : versionString;
|
|
50
|
+
}
|
|
51
|
+
// Handle regular semver versions
|
|
52
|
+
return versionString.replace(/^[\^~]/, "");
|
|
53
|
+
};
|
|
54
|
+
const formatVersionForPackageJson = (packageName, version) => {
|
|
55
|
+
if (packageName === "@deco/workers-runtime") {
|
|
56
|
+
return `npm:@jsr/deco__workers-runtime@${version}`;
|
|
57
|
+
}
|
|
58
|
+
return `^${version}`;
|
|
59
|
+
};
|
|
60
|
+
const discoverWorkspaces = async (rootPath) => {
|
|
61
|
+
const rootPackageJsonPath = resolve(rootPath, "package.json");
|
|
62
|
+
if (!existsSync(rootPackageJsonPath)) {
|
|
63
|
+
throw new Error("No package.json found in the current directory");
|
|
64
|
+
}
|
|
65
|
+
const rootPackageJson = JSON.parse(await readFile(rootPackageJsonPath, "utf-8"));
|
|
66
|
+
if (!rootPackageJson.workspaces) {
|
|
67
|
+
// Not a workspace, return just the root package.json
|
|
68
|
+
return [rootPackageJsonPath];
|
|
69
|
+
}
|
|
70
|
+
const packageJsonPaths = [rootPackageJsonPath];
|
|
71
|
+
// Find all package.json files in workspace directories
|
|
72
|
+
for (const workspacePattern of rootPackageJson.workspaces) {
|
|
73
|
+
const workspaceDirs = await glob(workspacePattern, {
|
|
74
|
+
cwd: rootPath,
|
|
75
|
+
});
|
|
76
|
+
for (const dir of workspaceDirs) {
|
|
77
|
+
const packageJsonPath = resolve(rootPath, dir, "package.json");
|
|
78
|
+
if (existsSync(packageJsonPath)) {
|
|
79
|
+
packageJsonPaths.push(packageJsonPath);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return packageJsonPaths;
|
|
84
|
+
};
|
|
85
|
+
const findPackageJsons = async (cwd) => {
|
|
86
|
+
return await discoverWorkspaces(cwd);
|
|
87
|
+
};
|
|
88
|
+
const checkForUpdates = async (packageJsonPath) => {
|
|
89
|
+
const packageJsonContent = await readFile(packageJsonPath, "utf-8");
|
|
90
|
+
const packageJson = JSON.parse(packageJsonContent);
|
|
91
|
+
const updates = [];
|
|
92
|
+
// Check regular dependencies
|
|
93
|
+
if (packageJson.dependencies) {
|
|
94
|
+
for (const depName of DECO_DEPENDENCIES) {
|
|
95
|
+
const currentVersionString = packageJson.dependencies[depName];
|
|
96
|
+
if (currentVersionString) {
|
|
97
|
+
try {
|
|
98
|
+
const currentVersion = parseCurrentVersion(currentVersionString);
|
|
99
|
+
const latestVersion = await getLatestVersion(depName);
|
|
100
|
+
if (currentVersion !== latestVersion) {
|
|
101
|
+
updates.push({
|
|
102
|
+
name: depName,
|
|
103
|
+
currentVersion,
|
|
104
|
+
latestVersion,
|
|
105
|
+
isDev: false,
|
|
106
|
+
packagePath: packageJsonPath,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
console.warn(chalk.yellow(`â ī¸ Failed to check updates for ${depName}: ${error instanceof Error ? error.message : String(error)}`));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// Check dev dependencies
|
|
117
|
+
if (packageJson.devDependencies) {
|
|
118
|
+
for (const depName of DECO_DEV_DEPENDENCIES) {
|
|
119
|
+
const currentVersionString = packageJson.devDependencies[depName];
|
|
120
|
+
if (currentVersionString) {
|
|
121
|
+
try {
|
|
122
|
+
const currentVersion = parseCurrentVersion(currentVersionString);
|
|
123
|
+
const latestVersion = await getLatestVersion(depName);
|
|
124
|
+
if (currentVersion !== latestVersion) {
|
|
125
|
+
updates.push({
|
|
126
|
+
name: depName,
|
|
127
|
+
currentVersion,
|
|
128
|
+
latestVersion,
|
|
129
|
+
isDev: true,
|
|
130
|
+
packagePath: packageJsonPath,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
console.warn(chalk.yellow(`â ī¸ Failed to check updates for ${depName}: ${error instanceof Error ? error.message : String(error)}`));
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return updates;
|
|
141
|
+
};
|
|
142
|
+
const checkAllPackagesForUpdates = async (packageJsonPaths) => {
|
|
143
|
+
const allUpdates = [];
|
|
144
|
+
for (const packageJsonPath of packageJsonPaths) {
|
|
145
|
+
try {
|
|
146
|
+
const updates = await checkForUpdates(packageJsonPath);
|
|
147
|
+
allUpdates.push(...updates);
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
console.warn(chalk.yellow(`â ī¸ Failed to check updates for ${packageJsonPath}: ${error instanceof Error ? error.message : String(error)}`));
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return allUpdates;
|
|
154
|
+
};
|
|
155
|
+
const applyUpdates = async (updates) => {
|
|
156
|
+
// Group updates by package path
|
|
157
|
+
const updatesByPackage = new Map();
|
|
158
|
+
for (const update of updates) {
|
|
159
|
+
if (!updatesByPackage.has(update.packagePath)) {
|
|
160
|
+
updatesByPackage.set(update.packagePath, []);
|
|
161
|
+
}
|
|
162
|
+
updatesByPackage.get(update.packagePath).push(update);
|
|
163
|
+
}
|
|
164
|
+
// Apply updates to each package
|
|
165
|
+
for (const [packageJsonPath, packageUpdates] of updatesByPackage) {
|
|
166
|
+
const packageJsonContent = await readFile(packageJsonPath, "utf-8");
|
|
167
|
+
const packageJson = JSON.parse(packageJsonContent);
|
|
168
|
+
for (const update of packageUpdates) {
|
|
169
|
+
const newVersionString = formatVersionForPackageJson(update.name, update.latestVersion);
|
|
170
|
+
if (update.isDev && packageJson.devDependencies) {
|
|
171
|
+
packageJson.devDependencies[update.name] = newVersionString;
|
|
172
|
+
}
|
|
173
|
+
else if (!update.isDev && packageJson.dependencies) {
|
|
174
|
+
packageJson.dependencies[update.name] = newVersionString;
|
|
175
|
+
}
|
|
176
|
+
const relativePath = packageJsonPath.replace(process.cwd(), ".");
|
|
177
|
+
console.log(chalk.green(`â
Updated ${update.name} in ${relativePath}: ${update.currentVersion} â ${update.latestVersion}`));
|
|
178
|
+
}
|
|
179
|
+
await writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2) + "\n");
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
export async function updateCommand(options) {
|
|
183
|
+
try {
|
|
184
|
+
const cwd = process.cwd();
|
|
185
|
+
console.log(chalk.blue("đ Searching for Deco dependencies to update..."));
|
|
186
|
+
// Find all package.json files (workspace-aware)
|
|
187
|
+
const packageJsonPaths = await findPackageJsons(cwd);
|
|
188
|
+
if (packageJsonPaths.length === 1) {
|
|
189
|
+
console.log(chalk.gray(`Found package.json at: ${packageJsonPaths[0]}`));
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
console.log(chalk.gray(`Found ${packageJsonPaths.length} package.json files in workspace:`));
|
|
193
|
+
for (const path of packageJsonPaths) {
|
|
194
|
+
const relativePath = path.replace(cwd, ".");
|
|
195
|
+
console.log(chalk.gray(` - ${relativePath}`));
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
// Check for updates across all packages
|
|
199
|
+
const updates = await checkAllPackagesForUpdates(packageJsonPaths);
|
|
200
|
+
if (updates.length === 0) {
|
|
201
|
+
console.log(chalk.green("â
All Deco dependencies are up to date!"));
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
// Display available updates
|
|
205
|
+
console.log();
|
|
206
|
+
console.log(chalk.yellow("đĻ Available updates:"));
|
|
207
|
+
for (const update of updates) {
|
|
208
|
+
const depType = update.isDev ? "(dev)" : "";
|
|
209
|
+
const relativePath = update.packagePath.replace(cwd, ".");
|
|
210
|
+
console.log(chalk.blue(` ${update.name} ${depType} in ${relativePath}: ${update.currentVersion} â ${update.latestVersion}`));
|
|
211
|
+
}
|
|
212
|
+
console.log();
|
|
213
|
+
// Confirm updates (unless -y flag is used)
|
|
214
|
+
let confirmed = options.yes || false;
|
|
215
|
+
if (!confirmed) {
|
|
216
|
+
const response = await inquirer.prompt([
|
|
217
|
+
{
|
|
218
|
+
type: "confirm",
|
|
219
|
+
name: "confirmed",
|
|
220
|
+
message: `Update ${updates.length} Deco ${updates.length === 1 ? "dependency" : "dependencies"}?`,
|
|
221
|
+
default: true,
|
|
222
|
+
},
|
|
223
|
+
]);
|
|
224
|
+
confirmed = response.confirmed;
|
|
225
|
+
}
|
|
226
|
+
if (!confirmed) {
|
|
227
|
+
console.log(chalk.gray("Update cancelled."));
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
// Apply updates
|
|
231
|
+
console.log(chalk.yellow("đ Updating dependencies..."));
|
|
232
|
+
await applyUpdates(updates);
|
|
233
|
+
console.log();
|
|
234
|
+
console.log(chalk.green("đ Dependencies updated successfully!"));
|
|
235
|
+
console.log(chalk.blue("đĄ Don't forget to run your package manager to install the new versions."));
|
|
236
|
+
}
|
|
237
|
+
catch (error) {
|
|
238
|
+
console.error(chalk.red("â Failed to update dependencies:"), error instanceof Error ? error.message : String(error));
|
|
239
|
+
process.exit(1);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/update/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/commands/update/upgrade.ts"],"names":[],"mappings":"AAuEA,eAAO,MAAM,OAAO,GAAI,aAAa,MAAM,KAAG,OAAO,CAAC,IAAI,CAsCzD,CAAC;AAEF,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CA4CrD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA6CpD"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { readFile } from "fs/promises";
|
|
2
|
+
import { dirname, join } from "path";
|
|
3
|
+
import { fileURLToPath } from "url";
|
|
4
|
+
import { spawn } from "child_process";
|
|
5
|
+
import * as semver from "semver";
|
|
6
|
+
import inquirer from "inquirer";
|
|
7
|
+
import chalk from "chalk";
|
|
8
|
+
import process from "node:process";
|
|
9
|
+
import { detectRuntime } from "../../lib/runtime.js";
|
|
10
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
11
|
+
const __dirname = dirname(__filename);
|
|
12
|
+
// Read package.json for current version
|
|
13
|
+
const getPackageJson = async () => {
|
|
14
|
+
const packageJsonPath = join(__dirname, "../../../package.json");
|
|
15
|
+
const packageJson = JSON.parse(await readFile(packageJsonPath, "utf-8"));
|
|
16
|
+
return packageJson;
|
|
17
|
+
};
|
|
18
|
+
const getLatestVersion = async (packageName) => {
|
|
19
|
+
const controller = new AbortController();
|
|
20
|
+
const timeoutId = setTimeout(() => controller.abort(), 5000);
|
|
21
|
+
try {
|
|
22
|
+
const response = await fetch(`https://registry.npmjs.org/${packageName}/latest`, {
|
|
23
|
+
signal: controller.signal,
|
|
24
|
+
});
|
|
25
|
+
clearTimeout(timeoutId);
|
|
26
|
+
if (!response.ok) {
|
|
27
|
+
throw new Error(`Failed to fetch latest version: ${response.statusText}`);
|
|
28
|
+
}
|
|
29
|
+
const data = (await response.json());
|
|
30
|
+
return data.version;
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
clearTimeout(timeoutId);
|
|
34
|
+
if (error instanceof Error && error.name === "AbortError") {
|
|
35
|
+
throw new Error("Request timed out while checking for updates");
|
|
36
|
+
}
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Gets the install command for a specific runtime
|
|
42
|
+
*/
|
|
43
|
+
const getInstallCommand = (runtime, packageName) => {
|
|
44
|
+
switch (runtime) {
|
|
45
|
+
case "bun":
|
|
46
|
+
return ["bun", ["install", "-g", packageName]];
|
|
47
|
+
case "deno":
|
|
48
|
+
return ["deno", ["install", "-Ar", "-g", "-f", `npm:${packageName}`]];
|
|
49
|
+
case "node":
|
|
50
|
+
return ["npm", ["install", "-g", packageName]];
|
|
51
|
+
case "unknown":
|
|
52
|
+
default:
|
|
53
|
+
// Fallback to npm for unknown runtime
|
|
54
|
+
console.log(chalk.yellow("â ī¸ Unknown runtime, falling back to npm"));
|
|
55
|
+
return ["npm", ["install", "-g", packageName]];
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
export const upgrade = (packageName) => {
|
|
59
|
+
console.log(chalk.yellow("đ Upgrading to the latest version..."));
|
|
60
|
+
const runtime = detectRuntime();
|
|
61
|
+
console.log(chalk.gray(`Detected runtime: ${runtime}`));
|
|
62
|
+
const [command, args] = getInstallCommand(runtime, packageName);
|
|
63
|
+
return new Promise((resolve, reject) => {
|
|
64
|
+
const child = spawn(command, args, {
|
|
65
|
+
stdio: "inherit",
|
|
66
|
+
shell: true,
|
|
67
|
+
});
|
|
68
|
+
child.on("close", (code) => {
|
|
69
|
+
if (code === 0) {
|
|
70
|
+
console.log(chalk.green("đ CLI updated successfully!"));
|
|
71
|
+
console.log(chalk.blue("Please restart your terminal or run 'deco --version' to verify."));
|
|
72
|
+
resolve();
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
console.error(chalk.red("â Failed to update the CLI."));
|
|
76
|
+
reject(new Error(`${command} ${args.join(" ")} failed with exit code ${code}`));
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
child.on("error", (error) => {
|
|
80
|
+
console.error(chalk.red("â Failed to update the CLI."));
|
|
81
|
+
reject(error);
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
export async function checkForUpdates() {
|
|
86
|
+
// Skip if we've already checked in this session or if running update command
|
|
87
|
+
if (process.env.DECO_CLI_UPDATE_CHECKED || process.argv.includes("update")) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
process.env.DECO_CLI_UPDATE_CHECKED = "true";
|
|
91
|
+
try {
|
|
92
|
+
const packageJson = await getPackageJson();
|
|
93
|
+
const currentVersion = packageJson.version;
|
|
94
|
+
const latestVersion = await getLatestVersion(packageJson.name);
|
|
95
|
+
if (semver.gt(latestVersion, currentVersion)) {
|
|
96
|
+
console.log();
|
|
97
|
+
console.log(chalk.green(`A new version of deco is available: ${chalk.bold(`v${latestVersion}`)}`));
|
|
98
|
+
console.log(chalk.yellow(`You are on version: v${currentVersion}`));
|
|
99
|
+
console.log();
|
|
100
|
+
const { upgradeConfirm } = await inquirer.prompt([
|
|
101
|
+
{
|
|
102
|
+
type: "confirm",
|
|
103
|
+
name: "upgradeConfirm",
|
|
104
|
+
message: "Do you want to upgrade?",
|
|
105
|
+
default: true,
|
|
106
|
+
},
|
|
107
|
+
]);
|
|
108
|
+
if (upgradeConfirm) {
|
|
109
|
+
await upgrade(packageJson.name);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
// We can ignore this error since it's not critical.
|
|
115
|
+
// Only log in debug mode
|
|
116
|
+
if (process.env.DEBUG) {
|
|
117
|
+
console.debug("Update check failed:", error);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
export async function upgradeCommand() {
|
|
122
|
+
try {
|
|
123
|
+
const packageJson = await getPackageJson();
|
|
124
|
+
const currentVersion = packageJson.version;
|
|
125
|
+
console.log(chalk.blue(`Current version: v${currentVersion}`));
|
|
126
|
+
console.log(chalk.blue("Checking for updates..."));
|
|
127
|
+
const latestVersion = await getLatestVersion(packageJson.name);
|
|
128
|
+
if (semver.gt(latestVersion, currentVersion)) {
|
|
129
|
+
console.log(chalk.green(`đĻ New version available: ${chalk.bold(`v${latestVersion}`)}`));
|
|
130
|
+
const { confirmed } = await inquirer.prompt([
|
|
131
|
+
{
|
|
132
|
+
type: "confirm",
|
|
133
|
+
name: "confirmed",
|
|
134
|
+
message: `Update from v${currentVersion} to v${latestVersion}?`,
|
|
135
|
+
default: true,
|
|
136
|
+
},
|
|
137
|
+
]);
|
|
138
|
+
if (confirmed) {
|
|
139
|
+
await upgrade(packageJson.name);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
console.log(chalk.gray("Update cancelled."));
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
else if (semver.eq(latestVersion, currentVersion)) {
|
|
146
|
+
console.log(chalk.green("â
You are already running the latest version!"));
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
console.log(chalk.blue("âšī¸ You are running a development version."));
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
console.error(chalk.red("â Failed to check for updates:"), error instanceof Error ? error.message : String(error));
|
|
154
|
+
process.exit(1);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=upgrade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/commands/update/upgrade.ts"],"names":[],"mappings":"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"}
|