@tdk-landscape/tdk-cli-core 1.3.14

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.
Files changed (212) hide show
  1. package/README.md +293 -0
  2. package/bin/tdk.js +14 -0
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +64 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/commands/completion.d.ts +3 -0
  8. package/dist/commands/completion.d.ts.map +1 -0
  9. package/dist/commands/completion.js +294 -0
  10. package/dist/commands/completion.js.map +1 -0
  11. package/dist/commands/config.d.ts +3 -0
  12. package/dist/commands/config.d.ts.map +1 -0
  13. package/dist/commands/config.js +220 -0
  14. package/dist/commands/config.js.map +1 -0
  15. package/dist/commands/doctor.d.ts +3 -0
  16. package/dist/commands/doctor.d.ts.map +1 -0
  17. package/dist/commands/doctor.js +176 -0
  18. package/dist/commands/doctor.js.map +1 -0
  19. package/dist/commands/down.d.ts +3 -0
  20. package/dist/commands/down.d.ts.map +1 -0
  21. package/dist/commands/down.js +32 -0
  22. package/dist/commands/down.js.map +1 -0
  23. package/dist/commands/help.d.ts +2 -0
  24. package/dist/commands/help.d.ts.map +1 -0
  25. package/dist/commands/help.js +130 -0
  26. package/dist/commands/help.js.map +1 -0
  27. package/dist/commands/networks.d.ts +3 -0
  28. package/dist/commands/networks.d.ts.map +1 -0
  29. package/dist/commands/networks.js +260 -0
  30. package/dist/commands/networks.js.map +1 -0
  31. package/dist/commands/project.d.ts +3 -0
  32. package/dist/commands/project.d.ts.map +1 -0
  33. package/dist/commands/project.js +360 -0
  34. package/dist/commands/project.js.map +1 -0
  35. package/dist/commands/projects.d.ts +3 -0
  36. package/dist/commands/projects.d.ts.map +1 -0
  37. package/dist/commands/projects.js +71 -0
  38. package/dist/commands/projects.js.map +1 -0
  39. package/dist/commands/resource.d.ts +69 -0
  40. package/dist/commands/resource.d.ts.map +1 -0
  41. package/dist/commands/resource.js +572 -0
  42. package/dist/commands/resource.js.map +1 -0
  43. package/dist/commands/resources.d.ts +3 -0
  44. package/dist/commands/resources.d.ts.map +1 -0
  45. package/dist/commands/resources.js +73 -0
  46. package/dist/commands/resources.js.map +1 -0
  47. package/dist/commands/stack.d.ts +3 -0
  48. package/dist/commands/stack.d.ts.map +1 -0
  49. package/dist/commands/stack.js +103 -0
  50. package/dist/commands/stack.js.map +1 -0
  51. package/dist/commands/stacks.d.ts +3 -0
  52. package/dist/commands/stacks.d.ts.map +1 -0
  53. package/dist/commands/stacks.js +43 -0
  54. package/dist/commands/stacks.js.map +1 -0
  55. package/dist/commands/status.d.ts +3 -0
  56. package/dist/commands/status.d.ts.map +1 -0
  57. package/dist/commands/status.js +71 -0
  58. package/dist/commands/status.js.map +1 -0
  59. package/dist/commands/ui.d.ts +3 -0
  60. package/dist/commands/ui.d.ts.map +1 -0
  61. package/dist/commands/ui.js +446 -0
  62. package/dist/commands/ui.js.map +1 -0
  63. package/dist/commands/up.d.ts +3 -0
  64. package/dist/commands/up.d.ts.map +1 -0
  65. package/dist/commands/up.js +149 -0
  66. package/dist/commands/up.js.map +1 -0
  67. package/dist/commands/upgrade.d.ts +3 -0
  68. package/dist/commands/upgrade.d.ts.map +1 -0
  69. package/dist/commands/upgrade.js +454 -0
  70. package/dist/commands/upgrade.js.map +1 -0
  71. package/dist/commands/version.d.ts +3 -0
  72. package/dist/commands/version.d.ts.map +1 -0
  73. package/dist/commands/version.js +9 -0
  74. package/dist/commands/version.js.map +1 -0
  75. package/dist/components/Accessible.d.ts +8 -0
  76. package/dist/components/Accessible.d.ts.map +1 -0
  77. package/dist/components/Accessible.js +10 -0
  78. package/dist/components/Accessible.js.map +1 -0
  79. package/dist/components/BaseTooltip.d.ts +4 -0
  80. package/dist/components/BaseTooltip.d.ts.map +1 -0
  81. package/dist/components/BaseTooltip.js +28 -0
  82. package/dist/components/BaseTooltip.js.map +1 -0
  83. package/dist/components/DetailPanel.d.ts +4 -0
  84. package/dist/components/DetailPanel.d.ts.map +1 -0
  85. package/dist/components/DetailPanel.js +18 -0
  86. package/dist/components/DetailPanel.js.map +1 -0
  87. package/dist/components/FileTree.d.ts +4 -0
  88. package/dist/components/FileTree.d.ts.map +1 -0
  89. package/dist/components/FileTree.js +47 -0
  90. package/dist/components/FileTree.js.map +1 -0
  91. package/dist/components/ResourceSelectInput.d.ts +4 -0
  92. package/dist/components/ResourceSelectInput.d.ts.map +1 -0
  93. package/dist/components/ResourceSelectInput.js +7 -0
  94. package/dist/components/ResourceSelectInput.js.map +1 -0
  95. package/dist/components/ResourceTable.d.ts +4 -0
  96. package/dist/components/ResourceTable.d.ts.map +1 -0
  97. package/dist/components/ResourceTable.js +18 -0
  98. package/dist/components/ResourceTable.js.map +1 -0
  99. package/dist/components/TabBar.d.ts +4 -0
  100. package/dist/components/TabBar.d.ts.map +1 -0
  101. package/dist/components/TabBar.js +17 -0
  102. package/dist/components/TabBar.js.map +1 -0
  103. package/dist/components/Tooltip.d.ts +12 -0
  104. package/dist/components/Tooltip.d.ts.map +1 -0
  105. package/dist/components/Tooltip.js +12 -0
  106. package/dist/components/Tooltip.js.map +1 -0
  107. package/dist/components/index.d.ts +8 -0
  108. package/dist/components/index.d.ts.map +1 -0
  109. package/dist/components/index.js +8 -0
  110. package/dist/components/index.js.map +1 -0
  111. package/dist/config/platform-standards.d.ts +159 -0
  112. package/dist/config/platform-standards.d.ts.map +1 -0
  113. package/dist/config/platform-standards.js +181 -0
  114. package/dist/config/platform-standards.js.map +1 -0
  115. package/dist/generator/extension-fetch.d.ts +9 -0
  116. package/dist/generator/extension-fetch.d.ts.map +1 -0
  117. package/dist/generator/extension-fetch.js +153 -0
  118. package/dist/generator/extension-fetch.js.map +1 -0
  119. package/dist/generator/template-engine.d.ts +60 -0
  120. package/dist/generator/template-engine.d.ts.map +1 -0
  121. package/dist/generator/template-engine.js +416 -0
  122. package/dist/generator/template-engine.js.map +1 -0
  123. package/dist/index.d.ts +11 -0
  124. package/dist/index.d.ts.map +1 -0
  125. package/dist/index.js +11 -0
  126. package/dist/index.js.map +1 -0
  127. package/dist/types/index.d.ts +236 -0
  128. package/dist/types/index.d.ts.map +1 -0
  129. package/dist/types/index.js +17 -0
  130. package/dist/types/index.js.map +1 -0
  131. package/dist/utils/cache.d.ts +19 -0
  132. package/dist/utils/cache.d.ts.map +1 -0
  133. package/dist/utils/cache.js +64 -0
  134. package/dist/utils/cache.js.map +1 -0
  135. package/dist/utils/command-helpers.d.ts +17 -0
  136. package/dist/utils/command-helpers.d.ts.map +1 -0
  137. package/dist/utils/command-helpers.js +48 -0
  138. package/dist/utils/command-helpers.js.map +1 -0
  139. package/dist/utils/constants.d.ts +50 -0
  140. package/dist/utils/constants.d.ts.map +1 -0
  141. package/dist/utils/constants.js +100 -0
  142. package/dist/utils/constants.js.map +1 -0
  143. package/dist/utils/discovery-context.d.ts +4 -0
  144. package/dist/utils/discovery-context.d.ts.map +1 -0
  145. package/dist/utils/discovery-context.js +39 -0
  146. package/dist/utils/discovery-context.js.map +1 -0
  147. package/dist/utils/docker.d.ts +3 -0
  148. package/dist/utils/docker.d.ts.map +1 -0
  149. package/dist/utils/docker.js +13 -0
  150. package/dist/utils/docker.js.map +1 -0
  151. package/dist/utils/env-validator.d.ts +15 -0
  152. package/dist/utils/env-validator.d.ts.map +1 -0
  153. package/dist/utils/env-validator.js +95 -0
  154. package/dist/utils/env-validator.js.map +1 -0
  155. package/dist/utils/errors.d.ts +28 -0
  156. package/dist/utils/errors.d.ts.map +1 -0
  157. package/dist/utils/errors.js +127 -0
  158. package/dist/utils/errors.js.map +1 -0
  159. package/dist/utils/file-helpers.d.ts +14 -0
  160. package/dist/utils/file-helpers.d.ts.map +1 -0
  161. package/dist/utils/file-helpers.js +45 -0
  162. package/dist/utils/file-helpers.js.map +1 -0
  163. package/dist/utils/formatting.d.ts +30 -0
  164. package/dist/utils/formatting.d.ts.map +1 -0
  165. package/dist/utils/formatting.js +164 -0
  166. package/dist/utils/formatting.js.map +1 -0
  167. package/dist/utils/paths.d.ts +3 -0
  168. package/dist/utils/paths.d.ts.map +1 -0
  169. package/dist/utils/paths.js +41 -0
  170. package/dist/utils/paths.js.map +1 -0
  171. package/dist/utils/port-assignment.d.ts +6 -0
  172. package/dist/utils/port-assignment.d.ts.map +1 -0
  173. package/dist/utils/port-assignment.js +75 -0
  174. package/dist/utils/port-assignment.js.map +1 -0
  175. package/dist/utils/project-features.d.ts +23 -0
  176. package/dist/utils/project-features.d.ts.map +1 -0
  177. package/dist/utils/project-features.js +98 -0
  178. package/dist/utils/project-features.js.map +1 -0
  179. package/dist/utils/project-templates.d.ts +7 -0
  180. package/dist/utils/project-templates.d.ts.map +1 -0
  181. package/dist/utils/project-templates.js +24 -0
  182. package/dist/utils/project-templates.js.map +1 -0
  183. package/dist/utils/resource-features.d.ts +28 -0
  184. package/dist/utils/resource-features.d.ts.map +1 -0
  185. package/dist/utils/resource-features.js +148 -0
  186. package/dist/utils/resource-features.js.map +1 -0
  187. package/dist/utils/services.d.ts +18 -0
  188. package/dist/utils/services.d.ts.map +1 -0
  189. package/dist/utils/services.js +291 -0
  190. package/dist/utils/services.js.map +1 -0
  191. package/dist/utils/stack-features.d.ts +22 -0
  192. package/dist/utils/stack-features.d.ts.map +1 -0
  193. package/dist/utils/stack-features.js +13 -0
  194. package/dist/utils/stack-features.js.map +1 -0
  195. package/dist/utils/tar.d.ts +7 -0
  196. package/dist/utils/tar.d.ts.map +1 -0
  197. package/dist/utils/tar.js +21 -0
  198. package/dist/utils/tar.js.map +1 -0
  199. package/dist/utils/tilt.d.ts +18 -0
  200. package/dist/utils/tilt.d.ts.map +1 -0
  201. package/dist/utils/tilt.js +77 -0
  202. package/dist/utils/tilt.js.map +1 -0
  203. package/dist/utils/validation.d.ts +9 -0
  204. package/dist/utils/validation.d.ts.map +1 -0
  205. package/dist/utils/validation.js +49 -0
  206. package/dist/utils/validation.js.map +1 -0
  207. package/package.json +72 -0
  208. package/templates/.tiltignore.hbs +73 -0
  209. package/templates/TILT_RESOURCE_DEFAULTS.star.hbs +221 -0
  210. package/templates/TILT_TECH_STACK.star.hbs +150 -0
  211. package/templates/Tiltfile.hbs +295 -0
  212. package/templates/spec.master.hbs +186 -0
@@ -0,0 +1,149 @@
1
+ import { execSync } from "node:child_process";
2
+ import { readFileSync } from "node:fs";
3
+ import { join } from "node:path";
4
+ import chalk from "chalk";
5
+ import { Command } from "commander";
6
+ import { handleDryRun } from "../utils/command-helpers.js";
7
+ import { errorFactories, handleTiltFailure, withTiltCheck } from "../utils/errors.js";
8
+ import { formatCount } from "../utils/formatting.js";
9
+ import { findAvailablePort } from "../utils/port-assignment.js";
10
+ import { discoverResources, discoverStacks, getResourcesForStack, stackExists, } from "../utils/services.js";
11
+ import { buildTiltUpArgs, runTilt } from "../utils/tilt.js";
12
+ import { findProjectRoot } from "../utils/paths.js";
13
+ function getProjectName() {
14
+ const root = findProjectRoot();
15
+ if (root) {
16
+ try {
17
+ const content = readFileSync(join(root, ".tdk", "project.json"), "utf-8");
18
+ const parsed = JSON.parse(content);
19
+ if (parsed?.project?.name) {
20
+ return parsed.project.name;
21
+ }
22
+ }
23
+ catch { }
24
+ }
25
+ return "beauty-crm";
26
+ }
27
+ function resolveSubdomainBases() {
28
+ const projectName = getProjectName();
29
+ const raw = process.env.TDK_SERVICE_BASE_URL ?? `http://${projectName}.localhost`;
30
+ try {
31
+ const u = new URL(raw.includes("://") ? raw : `http://${raw}`);
32
+ const host = u.hostname;
33
+ if (host === "localhost" || /^\d+\.\d+\.\d+\.\d+$/.test(host)) {
34
+ return {
35
+ appBase: `${u.protocol}//${host}${u.port ? `:${u.port}` : ""}`,
36
+ apiBase: `${u.protocol}//${host}${u.port ? `:${u.port}` : ""}`,
37
+ };
38
+ }
39
+ const bare = host.replace(/^(app|api)\./, "");
40
+ return {
41
+ appBase: `${u.protocol}//app.${bare}${u.port ? `:${u.port}` : ""}`,
42
+ apiBase: `${u.protocol}//api.${bare}${u.port ? `:${u.port}` : ""}`,
43
+ };
44
+ }
45
+ catch {
46
+ return {
47
+ appBase: `http://app.${projectName}.localhost`,
48
+ apiBase: `http://api.${projectName}.localhost`,
49
+ };
50
+ }
51
+ }
52
+ export const upCommand = new Command("up")
53
+ .description("Start all services (optionally filtered by stack)")
54
+ .alias("deploy")
55
+ .argument("[stack-name]", "Name of the stack to start (optional - runs all if omitted)")
56
+ .option("-v, --verbose", "Enable verbose output", false)
57
+ .option("-q, --quiet", "Suppress non-essential output", false)
58
+ .option("--dry-run", "Show what would be started without starting", false)
59
+ .option("-f, --force", "Kill existing Tilt process before starting", false)
60
+ .action(async (stackName, options) => {
61
+ await withTiltCheck(async () => {
62
+ let servicesToStart;
63
+ let stackDescription;
64
+ if (stackName) {
65
+ if (!stackExists(stackName)) {
66
+ errorFactories.stackNotFound(stackName).display();
67
+ process.exit(1);
68
+ }
69
+ servicesToStart = getResourcesForStack(stackName);
70
+ stackDescription = `stack "${stackName}"`;
71
+ }
72
+ else {
73
+ servicesToStart = discoverResources();
74
+ const allStacks = discoverStacks();
75
+ stackDescription = `all stacks (${formatCount(allStacks.length, "stack")}, ${formatCount(servicesToStart.length, "service")})`;
76
+ }
77
+ if (options.verbose && !options.quiet) {
78
+ console.log(chalk.gray(`Found ${formatCount(servicesToStart.length, "service")} in ${stackDescription}`));
79
+ }
80
+ const serviceNames = servicesToStart.map((s) => s.name);
81
+ if (!options.quiet) {
82
+ console.log(chalk.blue(`Starting ${formatCount(serviceNames.length, "service")} from ${stackDescription}...`));
83
+ serviceNames.forEach((name) => {
84
+ console.log(chalk.gray(` - ${name}`));
85
+ });
86
+ const { appBase, apiBase } = resolveSubdomainBases();
87
+ const frontends = servicesToStart.filter((s) => s.config?.appType === "frontend");
88
+ const backends = servicesToStart.filter((s) => s.config?.appType === "backend");
89
+ if (frontends.length > 0) {
90
+ console.log(chalk.blue("\nšŸŒ Frontend URLs:"));
91
+ frontends.forEach((svc) => {
92
+ const basePath = svc.config?.basePath ?? `/${svc.name}`;
93
+ console.log(chalk.gray(` - ${svc.name}: ${appBase}${chalk.cyan(basePath)}`));
94
+ });
95
+ }
96
+ if (backends.length > 0) {
97
+ console.log(chalk.blue("\nšŸ”§ Backend API URLs:"));
98
+ backends.forEach((svc) => {
99
+ const servicePathName = svc.name.replace(/-api$/, "");
100
+ const apiPath = svc.config?.apiPath ?? `/api/${servicePathName}`;
101
+ console.log(chalk.gray(` - ${svc.name}: ${apiBase}${chalk.cyan(apiPath)}`));
102
+ });
103
+ }
104
+ }
105
+ if (handleDryRun(options, "not starting services", `tilt up ${serviceNames.join(" ")}`)) {
106
+ return;
107
+ }
108
+ if (options.force && !options.quiet) {
109
+ console.log(chalk.yellow("Force flag set - killing any existing Tilt processes..."));
110
+ execSync("killall tilt 2>/dev/null || true", { shell: "/bin/sh", stdio: "pipe" });
111
+ await new Promise((resolve) => setTimeout(resolve, 2000));
112
+ }
113
+ const basePort = 10350;
114
+ let port = basePort;
115
+ if (process.env.TILT_PORT) {
116
+ port = parseInt(process.env.TILT_PORT, 10);
117
+ }
118
+ else {
119
+ const availablePort = await findAvailablePort(basePort, 10);
120
+ if (availablePort && availablePort !== basePort) {
121
+ port = availablePort;
122
+ if (!options.quiet) {
123
+ console.log(chalk.yellow(`āš ļø Port ${basePort} is already in use`));
124
+ console.log(chalk.blue(`šŸ”„ Auto-switching to port ${port}\n`));
125
+ }
126
+ }
127
+ }
128
+ process.env.TILT_PORT = port.toString();
129
+ const tiltArgs = buildTiltUpArgs(serviceNames, {
130
+ verbose: options.verbose,
131
+ quiet: options.quiet,
132
+ force: options.force,
133
+ });
134
+ if (!options.quiet) {
135
+ console.log(chalk.gray("\nRunning tilt up..."));
136
+ console.log(chalk.gray(`Using Tiltfile: .tdk/.tdk-out/Tiltfile`));
137
+ console.log(chalk.blue(`šŸ“Š Tilt UI: http://localhost:${port}/\n`));
138
+ }
139
+ const result = await runTilt("up", tiltArgs, {
140
+ verbose: options.verbose,
141
+ quiet: options.quiet,
142
+ inheritStdio: !options.quiet, // Suppress tilt output in quiet mode
143
+ });
144
+ if (result.exitCode !== 0) {
145
+ handleTiltFailure("up", result.exitCode);
146
+ }
147
+ });
148
+ });
149
+ //# sourceMappingURL=up.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"up.js","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const upgradeCommand: Command;
3
+ //# sourceMappingURL=upgrade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2QpC,eAAO,MAAM,cAAc,SAiPvB,CAAC"}
@@ -0,0 +1,454 @@
1
+ import { execSync } from "node:child_process";
2
+ import { existsSync } from "node:fs";
3
+ import { dirname, join, resolve } from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+ import chalk from "chalk";
6
+ import { Command } from "commander";
7
+ import ora from "ora";
8
+ import { getErrorMessage, logVerbose, showErrorAndExit } from "../utils/errors.js";
9
+ import { showCancelled } from "../utils/formatting.js";
10
+ import { getPackageVersion } from "../utils/paths.js";
11
+ function isStandaloneBinary(tdkPath) {
12
+ try {
13
+ const fileInfo = execSync(`file -b ${JSON.stringify(tdkPath)}`, { encoding: "utf-8" });
14
+ return /Mach-O|ELF/.test(fileInfo);
15
+ }
16
+ catch (err) {
17
+ logVerbose("Binary detection (file command) error", err);
18
+ return false;
19
+ }
20
+ }
21
+ function detectInstallation() {
22
+ try {
23
+ const tdkPath = execSync("which tdk", { encoding: "utf-8" }).trim();
24
+ const realPath = execSync(`readlink -f ${tdkPath}`, { encoding: "utf-8" }).trim();
25
+ // If the real path contains tdk-cli and has .git, it's a linked git install
26
+ if (realPath.includes("tdk-cli")) {
27
+ const possibleGitRoot = resolve(realPath, "..", "..", "..");
28
+ if (existsSync(join(possibleGitRoot, ".git"))) {
29
+ return { method: "git", path: possibleGitRoot };
30
+ }
31
+ }
32
+ if (tdkPath.includes("node_modules") || tdkPath.includes(".npm") || tdkPath.includes(".bun")) {
33
+ if (tdkPath.includes(".bun")) {
34
+ return { method: "bun", path: tdkPath };
35
+ }
36
+ return { method: "npm", path: tdkPath };
37
+ }
38
+ const cliRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..", "..", "..");
39
+ if (existsSync(join(cliRoot, ".git"))) {
40
+ return { method: "git", path: cliRoot };
41
+ }
42
+ // Standalone prebuilt binary from tdk-cli-releases (installed to e.g. /usr/local/bin),
43
+ // not a node_modules/.bun link and not sitting inside a git checkout.
44
+ if (isStandaloneBinary(realPath)) {
45
+ return { method: "binary", path: realPath };
46
+ }
47
+ return { method: "unknown", path: tdkPath };
48
+ }
49
+ catch (err) {
50
+ console.warn(chalk.yellow("āš ļø Could not detect installation method"));
51
+ logVerbose("Installation detection error", err);
52
+ return { method: "unknown" };
53
+ }
54
+ }
55
+ const BINARY_RELEASE_REPO = "tdk-landscape/tdk-cli-releases";
56
+ function binaryAssetName() {
57
+ const osName = process.platform === "darwin" ? "darwin" : process.platform === "linux" ? "linux" : null;
58
+ const archName = process.arch === "arm64" ? "arm64" : process.arch === "x64" ? "amd64" : null;
59
+ if (!osName || !archName)
60
+ return null;
61
+ return `tdk-${osName}-${archName}`;
62
+ }
63
+ async function getLatestBinaryRelease() {
64
+ const assetName = binaryAssetName();
65
+ if (!assetName)
66
+ return null;
67
+ try {
68
+ const raw = execSync(`curl -fsSL https://api.github.com/repos/${BINARY_RELEASE_REPO}/releases/latest`, { encoding: "utf-8", timeout: 10000 });
69
+ const data = JSON.parse(raw);
70
+ if (!data.tag_name)
71
+ return null;
72
+ return {
73
+ tag: data.tag_name,
74
+ assetName,
75
+ downloadUrl: `https://github.com/${BINARY_RELEASE_REPO}/releases/download/${data.tag_name}/${assetName}`,
76
+ };
77
+ }
78
+ catch (err) {
79
+ logVerbose("Binary release lookup error", err);
80
+ return null;
81
+ }
82
+ }
83
+ async function upgradeViaBinary(tdkPath, release) {
84
+ const spinner = ora(`Downloading ${release.assetName} (${release.tag})...`).start();
85
+ // Download to /tmp so we don't need write permission to the install dir
86
+ // (e.g. /usr/local/bin) during the curl step. We only need it for the
87
+ // final mv, which is a single atomic operation.
88
+ const tmpPath = `/tmp/tdk-upgrade-${release.assetName}`;
89
+ try {
90
+ execSync(`curl -fsSL -o ${JSON.stringify(tmpPath)} ${JSON.stringify(release.downloadUrl)}`, {
91
+ stdio: "pipe",
92
+ timeout: 120000,
93
+ });
94
+ execSync(`chmod +x ${JSON.stringify(tmpPath)}`);
95
+ execSync(`mv ${JSON.stringify(tmpPath)} ${JSON.stringify(tdkPath)}`);
96
+ spinner.succeed(`Upgraded to ${release.tag}`);
97
+ return true;
98
+ }
99
+ catch (err) {
100
+ spinner.fail(`Binary upgrade failed: ${getErrorMessage(err)}`);
101
+ logVerbose("Binary upgrade error", err);
102
+ try {
103
+ execSync(`rm -f ${JSON.stringify(tmpPath)}`);
104
+ }
105
+ catch {
106
+ // best-effort cleanup
107
+ }
108
+ console.log(chalk.yellow("\nšŸ’” If this failed due to permissions, try:"));
109
+ console.log(chalk.cyan(` sudo tdk upgrade`));
110
+ return false;
111
+ }
112
+ }
113
+ function getCurrentVersion() {
114
+ try {
115
+ return getPackageVersion();
116
+ }
117
+ catch (err) {
118
+ logVerbose("Version detection error", err);
119
+ return "unknown";
120
+ }
121
+ }
122
+ async function getLatestVersion() {
123
+ const spinner = ora("Checking for latest version...").start();
124
+ try {
125
+ const result = execSync("npm view @tdk/cli version", {
126
+ encoding: "utf-8",
127
+ timeout: 10000,
128
+ }).trim();
129
+ spinner.succeed(`Latest version: ${chalk.green(result)}`);
130
+ return result;
131
+ }
132
+ catch (_err) {
133
+ // npm registry failed - package not published yet
134
+ spinner.warn("Package not yet published to npm registry");
135
+ console.log(chalk.yellow("\nšŸ’” For now, please upgrade manually from GitHub:"));
136
+ console.log(chalk.cyan(" npm install -g github:tdk-landscape/tdk-cli-core"));
137
+ console.log(chalk.cyan(" bun install -g github:tdk-landscape/tdk-cli-core"));
138
+ console.log(chalk.gray("\n (npm package will be available soon)"));
139
+ return null;
140
+ }
141
+ }
142
+ async function upgradeViaNpm() {
143
+ const spinner = ora("Upgrading via npm...").start();
144
+ try {
145
+ execSync("npm install -g @tdk/cli@latest", {
146
+ stdio: "inherit",
147
+ timeout: 120000,
148
+ });
149
+ spinner.succeed("Upgraded successfully via npm");
150
+ return true;
151
+ }
152
+ catch (err) {
153
+ // npm registry failed (package may not exist or network issue) - try GitHub fallback
154
+ spinner.text = "npm registry failed, trying GitHub...";
155
+ logVerbose("npm registry error", err);
156
+ try {
157
+ execSync("npm install -g github:tdk-landscape/tdk-cli-core", {
158
+ stdio: "inherit",
159
+ timeout: 120000,
160
+ });
161
+ spinner.succeed("Upgraded successfully via GitHub");
162
+ return true;
163
+ }
164
+ catch (err) {
165
+ spinner.fail(`Upgrade failed: ${getErrorMessage(err)}`);
166
+ return false;
167
+ }
168
+ }
169
+ }
170
+ async function upgradeViaBun() {
171
+ const spinner = ora("Upgrading via bun...").start();
172
+ try {
173
+ execSync("bun install -g @tdk/cli@latest", {
174
+ stdio: "inherit",
175
+ timeout: 120000,
176
+ });
177
+ spinner.succeed("Upgraded successfully via bun");
178
+ return true;
179
+ }
180
+ catch (err) {
181
+ // bun registry failed (package may not exist or network issue) - try GitHub fallback
182
+ spinner.text = "bun registry failed, trying GitHub...";
183
+ logVerbose("bun registry error", err);
184
+ try {
185
+ execSync("bun install -g github:tdk-landscape/tdk-cli-core", {
186
+ stdio: "inherit",
187
+ timeout: 120000,
188
+ });
189
+ spinner.succeed("Upgraded successfully via GitHub");
190
+ return true;
191
+ }
192
+ catch (err) {
193
+ spinner.fail(`Upgrade failed: ${getErrorMessage(err)}`);
194
+ return false;
195
+ }
196
+ }
197
+ }
198
+ async function upgradeViaGit(path) {
199
+ const spinner = ora("Pulling latest changes from git...").start();
200
+ try {
201
+ execSync("git rev-parse --git-dir", {
202
+ cwd: path,
203
+ stdio: "pipe",
204
+ });
205
+ spinner.text = "Fetching from origin...";
206
+ execSync("git fetch origin", {
207
+ cwd: path,
208
+ stdio: "pipe",
209
+ timeout: 30000,
210
+ });
211
+ const branch = execSync("git rev-parse --abbrev-ref HEAD", {
212
+ cwd: path,
213
+ encoding: "utf-8",
214
+ }).trim();
215
+ spinner.text = `Pulling latest on ${branch}...`;
216
+ execSync(`git pull origin ${branch}`, {
217
+ cwd: path,
218
+ stdio: "pipe",
219
+ timeout: 30000,
220
+ });
221
+ if (existsSync(join(path, "cli", "package.json"))) {
222
+ spinner.text = "Rebuilding CLI...";
223
+ execSync("bun install && bun run build", {
224
+ cwd: join(path, "cli"),
225
+ stdio: "pipe",
226
+ timeout: 60000,
227
+ });
228
+ }
229
+ spinner.text = "Re-linking CLI...";
230
+ execSync("bun link --force", {
231
+ cwd: join(path, "cli"),
232
+ stdio: "pipe",
233
+ timeout: 30000,
234
+ });
235
+ spinner.succeed("Upgraded successfully via git pull");
236
+ return true;
237
+ }
238
+ catch (err) {
239
+ spinner.fail(`Git upgrade failed: ${getErrorMessage(err)}`);
240
+ return false;
241
+ }
242
+ }
243
+ export const upgradeCommand = new Command("upgrade")
244
+ .alias("update")
245
+ .description("Upgrade TDK CLI to the latest version")
246
+ .option("-f, --force", "Force upgrade even if already on latest", false)
247
+ .option("--dry-run", "Show what would be upgraded without actually doing it", false)
248
+ .option("-y, --yes", "Skip confirmation prompt", false)
249
+ .action(async (options) => {
250
+ console.log(chalk.cyan("šŸš€ TDK CLI Upgrade\n"));
251
+ const currentVersion = getCurrentVersion();
252
+ console.log(chalk.gray(`Current version: ${currentVersion}`));
253
+ const installInfo = detectInstallation();
254
+ console.log(chalk.gray(`Installation method: ${installInfo.method}`));
255
+ console.log();
256
+ if (installInfo.method === "unknown") {
257
+ console.error(chalk.red("āŒ Could not detect installation method"));
258
+ console.log(chalk.yellow("\nšŸ’” Manual upgrade (package not on npm yet, use GitHub):"));
259
+ console.log(chalk.cyan(" npm: npm install -g github:tdk-landscape/tdk-cli-core"));
260
+ console.log(chalk.cyan(" bun: bun install -g github:tdk-landscape/tdk-cli-core"));
261
+ console.log(chalk.cyan(" git: cd /path/to/tdk-cli && git pull && bun link --force"));
262
+ process.exit(1);
263
+ }
264
+ let latestVersion = null;
265
+ let binaryRelease = null;
266
+ if (installInfo.method === "binary" && installInfo.path) {
267
+ console.log(chalk.blue("šŸ“¦ Standalone binary installation detected"));
268
+ binaryRelease = await getLatestBinaryRelease();
269
+ if (!binaryRelease) {
270
+ showErrorAndExit(`Could not determine latest release for this platform (${process.platform}/${process.arch})`);
271
+ }
272
+ latestVersion = binaryRelease.tag.replace(/^v/, "").split("-")[0];
273
+ if (latestVersion === currentVersion && !options.force) {
274
+ console.log(chalk.green("\nāœ… You are already on the latest version!"));
275
+ console.log(chalk.gray(` ${currentVersion} (current) = ${latestVersion} (latest)`));
276
+ process.exit(0);
277
+ }
278
+ if (latestVersion !== currentVersion) {
279
+ console.log(chalk.yellow(`\nā¬†ļø Upgrade available: ${currentVersion} → ${latestVersion}`));
280
+ }
281
+ else if (options.force) {
282
+ console.log(chalk.yellow(`\nšŸ”„ Force upgrade requested (currently ${currentVersion})`));
283
+ }
284
+ }
285
+ else if (installInfo.method === "git" && installInfo.path) {
286
+ console.log(chalk.blue("šŸ“¦ Git installation detected - will pull latest from origin"));
287
+ try {
288
+ execSync("git fetch origin", { cwd: installInfo.path, stdio: "pipe" });
289
+ const localHash = execSync("git rev-parse HEAD", {
290
+ cwd: installInfo.path,
291
+ encoding: "utf-8",
292
+ }).trim();
293
+ const remoteHash = execSync("git rev-parse origin/main", {
294
+ cwd: installInfo.path,
295
+ encoding: "utf-8",
296
+ }).trim();
297
+ if (localHash === remoteHash && !options.force) {
298
+ console.log(chalk.green("\nāœ… Already up to date with origin/main!"));
299
+ console.log(chalk.gray(` Current: ${localHash.substring(0, 7)}`));
300
+ console.log(chalk.gray("\n Tip: Use --force to pull and rebuild anyway"));
301
+ process.exit(0);
302
+ }
303
+ if (localHash !== remoteHash) {
304
+ console.log(chalk.yellow(`\nā¬†ļø Updates available:`));
305
+ console.log(chalk.gray(` Local: ${localHash.substring(0, 7)}`));
306
+ console.log(chalk.gray(` Remote: ${remoteHash.substring(0, 7)}`));
307
+ }
308
+ else {
309
+ console.log(chalk.yellow(`\nšŸ”„ Force upgrade requested`));
310
+ }
311
+ latestVersion = remoteHash.substring(0, 7);
312
+ }
313
+ catch (err) {
314
+ console.warn(chalk.yellow("āš ļø Could not check git remote, will attempt upgrade anyway"));
315
+ logVerbose("Git remote check failed", err);
316
+ latestVersion = "latest";
317
+ }
318
+ }
319
+ else {
320
+ latestVersion = await getLatestVersion();
321
+ if (!latestVersion) {
322
+ showErrorAndExit("Could not determine latest version");
323
+ }
324
+ if (currentVersion === latestVersion && !options.force) {
325
+ console.log(chalk.green("\nāœ… You are already on the latest version!"));
326
+ console.log(chalk.gray(` ${currentVersion} (current) = ${latestVersion} (latest)`));
327
+ process.exit(0);
328
+ }
329
+ if (currentVersion !== latestVersion) {
330
+ console.log(chalk.yellow(`\nā¬†ļø Upgrade available: ${currentVersion} → ${latestVersion}`));
331
+ }
332
+ else if (options.force) {
333
+ console.log(chalk.yellow(`\nšŸ”„ Force upgrade requested (currently ${currentVersion})`));
334
+ }
335
+ }
336
+ if (options.dryRun) {
337
+ console.log(chalk.blue("\nšŸ“‹ Dry run mode - would perform:"));
338
+ console.log(chalk.gray(` Method: ${installInfo.method}`));
339
+ if (installInfo.path) {
340
+ console.log(chalk.gray(` Path: ${installInfo.path}`));
341
+ }
342
+ if (installInfo.method === "git") {
343
+ console.log(chalk.gray(" Action: git pull origin main && bun install && bun link --force"));
344
+ }
345
+ else if (installInfo.method === "binary" && binaryRelease) {
346
+ console.log(chalk.gray(` Action: Download and replace with ${binaryRelease.downloadUrl}`));
347
+ }
348
+ else {
349
+ console.log(chalk.gray(` Action: Upgrade to ${latestVersion}`));
350
+ }
351
+ console.log(chalk.yellow("\n (Not actually upgrading due to --dry-run)"));
352
+ process.exit(0);
353
+ }
354
+ if (!options.yes) {
355
+ console.log();
356
+ const { confirm } = await import("inquirer").then((m) => m.default.prompt([
357
+ {
358
+ type: "confirm",
359
+ name: "confirm",
360
+ message: "Proceed with upgrade?",
361
+ default: true,
362
+ },
363
+ ]));
364
+ if (!confirm) {
365
+ showCancelled();
366
+ process.exit(0);
367
+ }
368
+ }
369
+ else {
370
+ console.log(chalk.gray("⚔ Auto-confirming (--yes flag)\n"));
371
+ }
372
+ console.log();
373
+ let success = false;
374
+ switch (installInfo.method) {
375
+ case "npm":
376
+ success = await upgradeViaNpm();
377
+ break;
378
+ case "bun":
379
+ success = await upgradeViaBun();
380
+ break;
381
+ case "git":
382
+ if (installInfo.path) {
383
+ success = await upgradeViaGit(installInfo.path);
384
+ }
385
+ break;
386
+ case "binary":
387
+ if (installInfo.path && binaryRelease) {
388
+ success = await upgradeViaBinary(installInfo.path, binaryRelease);
389
+ }
390
+ break;
391
+ }
392
+ if (!success) {
393
+ console.error(chalk.red("\nāŒ Upgrade failed"));
394
+ console.log(chalk.yellow("\nšŸ’” Try manual upgrade (use GitHub until npm package is published):"));
395
+ if (installInfo.method === "npm") {
396
+ console.log(chalk.cyan(" npm install -g github:tdk-landscape/tdk-cli-core"));
397
+ }
398
+ else if (installInfo.method === "bun") {
399
+ console.log(chalk.cyan(" bun install -g github:tdk-landscape/tdk-cli-core"));
400
+ }
401
+ else if (installInfo.method === "git") {
402
+ console.log(chalk.cyan(` cd ${installInfo.path} && git pull && bun link --force`));
403
+ }
404
+ else if (installInfo.method === "binary" && binaryRelease) {
405
+ console.log(chalk.cyan(` curl -fsSL -o ${installInfo.path} ${binaryRelease.downloadUrl}`));
406
+ console.log(chalk.cyan(` chmod +x ${installInfo.path}`));
407
+ }
408
+ process.exit(1);
409
+ }
410
+ console.log();
411
+ const verifySpinner = ora("Verifying upgrade...").start();
412
+ try {
413
+ const newVersion = execSync("tdk version", { encoding: "utf-8" }).trim();
414
+ verifySpinner.succeed(`Verified: now running ${chalk.green(newVersion)}`);
415
+ console.log();
416
+ console.log(chalk.green.bold("✨ Upgrade complete!"));
417
+ console.log(chalk.gray(` Version: ${currentVersion} → ${newVersion}`));
418
+ console.log();
419
+ console.log(chalk.cyan.bold("šŸ“ Installation Details:"));
420
+ if (installInfo.method === "git" && installInfo.path) {
421
+ console.log(chalk.gray(` Location: ${installInfo.path}`));
422
+ console.log(chalk.gray(` Method: git clone + bun link`));
423
+ }
424
+ else {
425
+ console.log(chalk.gray(` Method: ${installInfo.method}`));
426
+ }
427
+ console.log(chalk.gray(` Binary: ${execSync("which tdk", { encoding: "utf-8" }).trim()}`));
428
+ console.log();
429
+ console.log(chalk.cyan.bold("šŸš€ Quick Start:"));
430
+ console.log(chalk.white(` tdk --help Show all commands`));
431
+ console.log(chalk.white(` tdk networks View service URLs`));
432
+ console.log(chalk.white(` tdk doctor Check environment`));
433
+ if (newVersion === currentVersion && !options.force) {
434
+ console.log();
435
+ console.log(chalk.yellow("šŸ’” Tip: Version appears unchanged. You may need to restart your terminal."));
436
+ }
437
+ console.log();
438
+ console.log(chalk.green("Happy coding! šŸŽ‰"));
439
+ }
440
+ catch (err) {
441
+ verifySpinner.warn("Could not verify new version");
442
+ console.error(chalk.red(`Verification error: ${getErrorMessage(err)}`));
443
+ console.log();
444
+ console.log(chalk.yellow("āš ļø Upgrade status unknown - verification failed"));
445
+ console.log();
446
+ console.log(chalk.yellow("šŸ’” Verify manually:"));
447
+ console.log(chalk.white(" 1. Restart your terminal"));
448
+ console.log(chalk.white(" 2. Run: tdk version"));
449
+ if (installInfo.path) {
450
+ console.log(chalk.white(` 3. Compare with: git -C ${installInfo.path} rev-parse HEAD`));
451
+ }
452
+ }
453
+ });
454
+ //# sourceMappingURL=upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const versionCommand: Command;
3
+ //# sourceMappingURL=version.d.ts.map