@tdk-landscape/tdk-cli-core 1.3.49 → 1.3.50
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/.claude/skills/layer-autoresearch/SKILL.md +48 -0
- package/.claude/skills/tdk-troubleshoot/SKILL.md +222 -0
- package/.github/ISSUE_TEMPLATE/bug_report.yml +40 -0
- package/.github/ISSUE_TEMPLATE/config.yml +8 -0
- package/.github/ISSUE_TEMPLATE/feature_request.yml +18 -0
- package/.github/dependabot.yml +33 -0
- package/.github/pull_request_template.md +5 -0
- package/.github/workflows/ci.yml +187 -0
- package/.github/workflows/release-binaries.yml +19 -9
- package/.github/zizmor.yml +9 -0
- package/CODE_OF_CONDUCT.md +9 -0
- package/CONTRIBUTING.md +42 -0
- package/LICENSE +21 -0
- package/README.md +149 -0
- package/SECURITY.md +17 -0
- package/benchmarks/results/container-scale-2026-09-25T20-54-49-736Z.json +45 -0
- package/benchmarks/results/container-scale-2026-09-25T21-01-20-540Z.json +150 -0
- package/benchmarks/results/container-scale-2026-09-25T21-15-01-441Z.json +73 -0
- package/benchmarks/results/container-scale-2026-09-25T22-09-01-630Z.json +77 -0
- package/benchmarks/results/container-scale-2026-09-25T22-18-28-371Z.json +202 -0
- package/cli/README.md +25 -0
- package/cli/biome.json +1 -1
- package/cli/dist/cli.d.ts +3 -0
- package/cli/dist/cli.d.ts.map +1 -0
- package/cli/dist/cli.js +64 -0
- package/cli/dist/cli.js.map +1 -0
- package/cli/dist/commands/completion.d.ts +3 -0
- package/cli/dist/commands/completion.d.ts.map +1 -0
- package/cli/dist/commands/completion.js +294 -0
- package/cli/dist/commands/completion.js.map +1 -0
- package/cli/dist/commands/config.d.ts +3 -0
- package/cli/dist/commands/config.d.ts.map +1 -0
- package/cli/dist/commands/config.js +231 -0
- package/cli/dist/commands/config.js.map +1 -0
- package/cli/dist/commands/doctor.d.ts +19 -0
- package/cli/dist/commands/doctor.d.ts.map +1 -0
- package/cli/dist/commands/doctor.js +745 -0
- package/cli/dist/commands/doctor.js.map +1 -0
- package/cli/dist/commands/down.d.ts +3 -0
- package/cli/dist/commands/down.d.ts.map +1 -0
- package/cli/dist/commands/down.js +32 -0
- package/cli/dist/commands/down.js.map +1 -0
- package/cli/dist/commands/help.d.ts +2 -0
- package/cli/dist/commands/help.d.ts.map +1 -0
- package/cli/dist/commands/help.js +138 -0
- package/cli/dist/commands/help.js.map +1 -0
- package/cli/dist/commands/networks.d.ts +3 -0
- package/cli/dist/commands/networks.d.ts.map +1 -0
- package/cli/dist/commands/networks.js +260 -0
- package/cli/dist/commands/networks.js.map +1 -0
- package/cli/dist/commands/project.d.ts +3 -0
- package/cli/dist/commands/project.d.ts.map +1 -0
- package/cli/dist/commands/project.js +370 -0
- package/cli/dist/commands/project.js.map +1 -0
- package/cli/dist/commands/projects.d.ts +3 -0
- package/cli/dist/commands/projects.d.ts.map +1 -0
- package/cli/dist/commands/projects.js +71 -0
- package/cli/dist/commands/projects.js.map +1 -0
- package/cli/dist/commands/resource.d.ts +69 -0
- package/cli/dist/commands/resource.d.ts.map +1 -0
- package/cli/dist/commands/resource.js +579 -0
- package/cli/dist/commands/resource.js.map +1 -0
- package/cli/dist/commands/resources.d.ts +3 -0
- package/cli/dist/commands/resources.d.ts.map +1 -0
- package/cli/dist/commands/resources.js +73 -0
- package/cli/dist/commands/resources.js.map +1 -0
- package/cli/dist/commands/stack.d.ts +3 -0
- package/cli/dist/commands/stack.d.ts.map +1 -0
- package/cli/dist/commands/stack.js +97 -0
- package/cli/dist/commands/stack.js.map +1 -0
- package/cli/dist/commands/stacks.d.ts +3 -0
- package/cli/dist/commands/stacks.d.ts.map +1 -0
- package/cli/dist/commands/stacks.js +43 -0
- package/cli/dist/commands/stacks.js.map +1 -0
- package/cli/dist/commands/status.d.ts +3 -0
- package/cli/dist/commands/status.d.ts.map +1 -0
- package/cli/dist/commands/status.js +71 -0
- package/cli/dist/commands/status.js.map +1 -0
- package/cli/dist/commands/ui.d.ts +3 -0
- package/cli/dist/commands/ui.d.ts.map +1 -0
- package/cli/dist/commands/ui.js +445 -0
- package/cli/dist/commands/ui.js.map +1 -0
- package/cli/dist/commands/up.d.ts +3 -0
- package/cli/dist/commands/up.d.ts.map +1 -0
- package/cli/dist/commands/up.js +124 -0
- package/cli/dist/commands/up.js.map +1 -0
- package/cli/dist/commands/upgrade.d.ts +11 -0
- package/cli/dist/commands/upgrade.d.ts.map +1 -0
- package/cli/dist/commands/upgrade.js +496 -0
- package/cli/dist/commands/upgrade.js.map +1 -0
- package/cli/dist/commands/version.d.ts +3 -0
- package/cli/dist/commands/version.d.ts.map +1 -0
- package/cli/dist/commands/version.js +9 -0
- package/cli/dist/commands/version.js.map +1 -0
- package/cli/dist/components/Accessible.d.ts +8 -0
- package/cli/dist/components/Accessible.d.ts.map +1 -0
- package/cli/dist/components/Accessible.js +10 -0
- package/cli/dist/components/Accessible.js.map +1 -0
- package/cli/dist/components/BaseTooltip.d.ts +4 -0
- package/cli/dist/components/BaseTooltip.d.ts.map +1 -0
- package/cli/dist/components/BaseTooltip.js +28 -0
- package/cli/dist/components/BaseTooltip.js.map +1 -0
- package/cli/dist/components/DetailPanel.d.ts +4 -0
- package/cli/dist/components/DetailPanel.d.ts.map +1 -0
- package/cli/dist/components/DetailPanel.js +18 -0
- package/cli/dist/components/DetailPanel.js.map +1 -0
- package/cli/dist/components/FileTree.d.ts +4 -0
- package/cli/dist/components/FileTree.d.ts.map +1 -0
- package/cli/dist/components/FileTree.js +47 -0
- package/cli/dist/components/FileTree.js.map +1 -0
- package/cli/dist/components/ResourceSelectInput.d.ts +4 -0
- package/cli/dist/components/ResourceSelectInput.d.ts.map +1 -0
- package/cli/dist/components/ResourceSelectInput.js +7 -0
- package/cli/dist/components/ResourceSelectInput.js.map +1 -0
- package/cli/dist/components/ResourceTable.d.ts +4 -0
- package/cli/dist/components/ResourceTable.d.ts.map +1 -0
- package/cli/dist/components/ResourceTable.js +18 -0
- package/cli/dist/components/ResourceTable.js.map +1 -0
- package/cli/dist/components/TabBar.d.ts +4 -0
- package/cli/dist/components/TabBar.d.ts.map +1 -0
- package/cli/dist/components/TabBar.js +17 -0
- package/cli/dist/components/TabBar.js.map +1 -0
- package/cli/dist/components/Tooltip.d.ts +12 -0
- package/cli/dist/components/Tooltip.d.ts.map +1 -0
- package/cli/dist/components/Tooltip.js +12 -0
- package/cli/dist/components/Tooltip.js.map +1 -0
- package/cli/dist/components/index.d.ts +8 -0
- package/cli/dist/components/index.d.ts.map +1 -0
- package/cli/dist/components/index.js +8 -0
- package/cli/dist/components/index.js.map +1 -0
- package/cli/dist/config/platform-standards.d.ts +159 -0
- package/cli/dist/config/platform-standards.d.ts.map +1 -0
- package/cli/dist/config/platform-standards.js +181 -0
- package/cli/dist/config/platform-standards.js.map +1 -0
- package/cli/dist/generator/extension-fetch.d.ts +25 -0
- package/cli/dist/generator/extension-fetch.d.ts.map +1 -0
- package/cli/dist/generator/extension-fetch.js +259 -0
- package/cli/dist/generator/extension-fetch.js.map +1 -0
- package/cli/dist/generator/template-engine.d.ts +62 -0
- package/cli/dist/generator/template-engine.d.ts.map +1 -0
- package/cli/dist/generator/template-engine.js +623 -0
- package/cli/dist/generator/template-engine.js.map +1 -0
- package/cli/dist/index.d.ts +11 -0
- package/cli/dist/index.d.ts.map +1 -0
- package/cli/dist/index.js +11 -0
- package/cli/dist/index.js.map +1 -0
- package/cli/dist/types/index.d.ts +257 -0
- package/cli/dist/types/index.d.ts.map +1 -0
- package/cli/dist/types/index.js +17 -0
- package/cli/dist/types/index.js.map +1 -0
- package/cli/dist/utils/cache.d.ts +19 -0
- package/cli/dist/utils/cache.d.ts.map +1 -0
- package/cli/dist/utils/cache.js +64 -0
- package/cli/dist/utils/cache.js.map +1 -0
- package/cli/dist/utils/command-helpers.d.ts +17 -0
- package/cli/dist/utils/command-helpers.d.ts.map +1 -0
- package/cli/dist/utils/command-helpers.js +41 -0
- package/cli/dist/utils/command-helpers.js.map +1 -0
- package/cli/dist/utils/constants.d.ts +53 -0
- package/cli/dist/utils/constants.d.ts.map +1 -0
- package/cli/dist/utils/constants.js +115 -0
- package/cli/dist/utils/constants.js.map +1 -0
- package/cli/dist/utils/discovery-context.d.ts +4 -0
- package/cli/dist/utils/discovery-context.d.ts.map +1 -0
- package/cli/dist/utils/discovery-context.js +39 -0
- package/cli/dist/utils/discovery-context.js.map +1 -0
- package/cli/dist/utils/docker.d.ts +4 -0
- package/cli/dist/utils/docker.d.ts.map +1 -0
- package/cli/dist/utils/docker.js +19 -0
- package/cli/dist/utils/docker.js.map +1 -0
- package/cli/dist/utils/doctor-runtime.d.ts +81 -0
- package/cli/dist/utils/doctor-runtime.d.ts.map +1 -0
- package/cli/dist/utils/doctor-runtime.js +498 -0
- package/cli/dist/utils/doctor-runtime.js.map +1 -0
- package/cli/dist/utils/env-validator.d.ts +15 -0
- package/cli/dist/utils/env-validator.d.ts.map +1 -0
- package/cli/dist/utils/env-validator.js +109 -0
- package/cli/dist/utils/env-validator.js.map +1 -0
- package/cli/dist/utils/errors.d.ts +31 -0
- package/cli/dist/utils/errors.d.ts.map +1 -0
- package/cli/dist/utils/errors.js +140 -0
- package/cli/dist/utils/errors.js.map +1 -0
- package/cli/dist/utils/file-helpers.d.ts +14 -0
- package/cli/dist/utils/file-helpers.d.ts.map +1 -0
- package/cli/dist/utils/file-helpers.js +45 -0
- package/cli/dist/utils/file-helpers.js.map +1 -0
- package/cli/dist/utils/formatting.d.ts +30 -0
- package/cli/dist/utils/formatting.d.ts.map +1 -0
- package/cli/dist/utils/formatting.js +164 -0
- package/cli/dist/utils/formatting.js.map +1 -0
- package/cli/dist/utils/paths.d.ts +3 -0
- package/cli/dist/utils/paths.d.ts.map +1 -0
- package/cli/dist/utils/paths.js +41 -0
- package/cli/dist/utils/paths.js.map +1 -0
- package/cli/dist/utils/port-assignment.d.ts +6 -0
- package/cli/dist/utils/port-assignment.d.ts.map +1 -0
- package/cli/dist/utils/port-assignment.js +81 -0
- package/cli/dist/utils/port-assignment.js.map +1 -0
- package/cli/dist/utils/project-features.d.ts +23 -0
- package/cli/dist/utils/project-features.d.ts.map +1 -0
- package/cli/dist/utils/project-features.js +98 -0
- package/cli/dist/utils/project-features.js.map +1 -0
- package/cli/dist/utils/project-templates.d.ts +7 -0
- package/cli/dist/utils/project-templates.d.ts.map +1 -0
- package/cli/dist/utils/project-templates.js +24 -0
- package/cli/dist/utils/project-templates.js.map +1 -0
- package/cli/dist/utils/prompt.d.ts +28 -0
- package/cli/dist/utils/prompt.d.ts.map +1 -0
- package/cli/dist/utils/prompt.js +79 -0
- package/cli/dist/utils/prompt.js.map +1 -0
- package/cli/dist/utils/resource-features.d.ts +29 -0
- package/cli/dist/utils/resource-features.d.ts.map +1 -0
- package/cli/dist/utils/resource-features.js +175 -0
- package/cli/dist/utils/resource-features.js.map +1 -0
- package/cli/dist/utils/service-urls.d.ts +30 -0
- package/cli/dist/utils/service-urls.d.ts.map +1 -0
- package/cli/dist/utils/service-urls.js +93 -0
- package/cli/dist/utils/service-urls.js.map +1 -0
- package/cli/dist/utils/services.d.ts +18 -0
- package/cli/dist/utils/services.d.ts.map +1 -0
- package/cli/dist/utils/services.js +292 -0
- package/cli/dist/utils/services.js.map +1 -0
- package/cli/dist/utils/stack-features.d.ts +22 -0
- package/cli/dist/utils/stack-features.d.ts.map +1 -0
- package/cli/dist/utils/stack-features.js +13 -0
- package/cli/dist/utils/stack-features.js.map +1 -0
- package/cli/dist/utils/tar.d.ts +7 -0
- package/cli/dist/utils/tar.d.ts.map +1 -0
- package/cli/dist/utils/tar.js +21 -0
- package/cli/dist/utils/tar.js.map +1 -0
- package/cli/dist/utils/tilt.d.ts +20 -0
- package/cli/dist/utils/tilt.d.ts.map +1 -0
- package/cli/dist/utils/tilt.js +95 -0
- package/cli/dist/utils/tilt.js.map +1 -0
- package/cli/dist/utils/validation.d.ts +16 -0
- package/cli/dist/utils/validation.d.ts.map +1 -0
- package/cli/dist/utils/validation.js +58 -0
- package/cli/dist/utils/validation.js.map +1 -0
- package/cli/package.json +11 -12
- package/cli/src/commands/__tests__/always-enabled-infra.test.ts +2 -8
- package/cli/src/commands/__tests__/doctor.test.ts +181 -8
- package/cli/src/commands/__tests__/phases-model.test.ts +2 -4
- package/cli/src/commands/__tests__/project-resource-features-e2e.test.ts +4 -24
- package/cli/src/commands/__tests__/saas-starter-integration.test.ts +8 -10
- package/cli/src/commands/__tests__/stack-features-e2e.test.ts +10 -4
- package/cli/src/commands/__tests__/upgrade.test.ts +23 -13
- package/cli/src/commands/doctor.ts +136 -0
- package/cli/src/commands/help.ts +13 -3
- package/cli/src/commands/project.ts +11 -14
- package/cli/src/commands/projects.ts +2 -2
- package/cli/src/commands/up.ts +13 -4
- package/cli/src/commands/upgrade.ts +11 -4
- package/cli/src/config/platform-standards.test.ts +6 -6
- package/cli/src/generator/__tests__/extension-fetch.test.ts +36 -14
- package/cli/src/generator/extension-fetch.ts +12 -5
- package/cli/src/generator/template-engine.ts +19 -21
- package/cli/src/types/index.ts +2 -0
- package/cli/src/utils/__tests__/tilt.test.ts +29 -0
- package/cli/src/utils/constants.ts +4 -0
- package/cli/src/utils/doctor-runtime.ts +67 -27
- package/cli/src/utils/env-validator.ts +2 -2
- package/cli/src/utils/project-templates.ts +2 -1
- package/cli/src/utils/prompt.ts +2 -4
- package/cli/src/utils/resource-features.ts +10 -4
- package/cli/src/utils/services.ts +2 -1
- package/cli/src/utils/tilt.ts +20 -0
- package/engine/assets/docker/wake-gateway/Dockerfile +26 -0
- package/engine/assets/docker/wake-gateway/decide.test.ts +87 -0
- package/engine/assets/docker/wake-gateway/decide.ts +75 -0
- package/engine/assets/docker/wake-gateway/server.ts +220 -0
- package/engine/topologies/platform/docker/build/golden_image_dockerfile.star +13 -23
- package/engine/topologies/platform/docker/compose/compose.star +7 -14
- package/engine/topologies/platform/docker/compose/compose_helpers.star +1 -1
- package/engine/topologies/platform/docker/compose/traefik_standalone.star +44 -6
- package/engine/topologies/platform/docker/config/healthcheck.star +56 -0
- package/engine/topologies/platform/docker/constants.star +10 -0
- package/engine/topologies/platform/docker/layers/l1_base_layers.star +1 -1
- package/engine/topologies/platform/docker/layers/l4_runtime_layers.star +55 -20
- package/engine/topologies/platform/docker/networking/traefik_static_routes.star +107 -0
- package/engine/topologies/tilt/generators/typescript/backend_tsconfig.star +2 -2
- package/engine/topologies/tilt/generators/typescript/frontend_tsconfig.star +1 -1
- package/engine/topologies/tilt/manifest/schema.star +6 -0
- package/engine/topologies/tilt/manifest/validator.star +16 -0
- package/engine/topologies/tilt/resources/orchestrator/apply_compose_resource_registration.star +107 -8
- package/engine/topologies/tilt/resources/orchestrator/builders/typescript.star +12 -6
- package/engine/topologies/tilt/resources/orchestrator/generators/manifest_resource.star +2 -1
- package/knip.json +1 -1
- package/openspec/changes/optimize-runtime-docker-layers/.openspec.yaml +3 -0
- package/openspec/changes/optimize-runtime-docker-layers/design.md +81 -0
- package/openspec/changes/optimize-runtime-docker-layers/proposal.md +44 -0
- package/openspec/changes/optimize-runtime-docker-layers/specs/runtime-container-footprint/spec.md +79 -0
- package/openspec/changes/optimize-runtime-docker-layers/tasks.md +36 -0
- package/openspec/changes/prioritized-cold-start/.openspec.yaml +4 -0
- package/openspec/changes/prioritized-cold-start/design.md +113 -0
- package/openspec/changes/prioritized-cold-start/proposal.md +40 -0
- package/openspec/changes/prioritized-cold-start/specs/on-demand-resource-startup/spec.md +92 -0
- package/openspec/changes/prioritized-cold-start/tasks.md +46 -0
- package/openspec/config.yaml +1 -0
- package/package.json +35 -5
- package/scripts/autoresearch/layer-eval.sh +65 -0
- package/scripts/benchmark/README.md +25 -0
- package/scripts/benchmark/container-scale.ts +503 -0
- package/scripts/benchmark/pre-release-gate.sh +9 -0
- package/scripts/measure-idle-footprint.sh +58 -0
- package/tests/tilt-engine/test_runtime_container_footprint.py +162 -0
- package/tests/tilt-engine/test_sablier_defer_start.py +196 -0
- package/tests/tilt-engine/test_standalone_traefik.py +38 -0
- package/tests/tilt-engine/test_traefik_static_wake_route.py +119 -0
- package/bun.lock +0 -538
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import chalk from "chalk";
|
|
5
|
+
import { Command } from "commander";
|
|
6
|
+
import { hasVerdaccioLicense } from "../generator/extension-fetch.js";
|
|
7
|
+
import { generateMasterConfigs, readProjectConfig, TemplateEngine, verifyMasterConfigs, } from "../generator/template-engine.js";
|
|
8
|
+
import { isMasterConfigFileName } from "../types/index.js";
|
|
9
|
+
import { assertValid } from "../utils/command-helpers.js";
|
|
10
|
+
import { MASTER_CONFIG_FILES } from "../utils/constants.js";
|
|
11
|
+
import { requireProjectRoot, runCommand } from "../utils/errors.js";
|
|
12
|
+
import { writeJsonFile } from "../utils/file-helpers.js";
|
|
13
|
+
import { validateOptionalInfraService } from "../utils/validation.js";
|
|
14
|
+
/**
|
|
15
|
+
* Serialize ProjectConfig to JSON-safe value.
|
|
16
|
+
* ProjectConfig is guaranteed to be JSON-serializable (all properties are primitive or plain objects).
|
|
17
|
+
* This wrapper documents the type relationship that TypeScript cannot infer.
|
|
18
|
+
*/
|
|
19
|
+
function _serializeProjectConfig(config) {
|
|
20
|
+
// ProjectConfig has no index signature but is structurally compatible with JsonValue
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
22
|
+
return config;
|
|
23
|
+
}
|
|
24
|
+
export const configCommand = new Command("config")
|
|
25
|
+
.description("Manage project configuration and regenerate master files")
|
|
26
|
+
.addCommand(new Command("regenerate")
|
|
27
|
+
.description("Regenerate all 4 master config files from .tdk/project.json")
|
|
28
|
+
.option("--dry-run", "Show what would change without writing files")
|
|
29
|
+
.action(async (options) => {
|
|
30
|
+
await runCommand(async () => {
|
|
31
|
+
const projectRoot = requireProjectRoot();
|
|
32
|
+
if (options.dryRun) {
|
|
33
|
+
console.log(chalk.blue("🔍 Dry run - comparing current files with new configuration...\n"));
|
|
34
|
+
const projectConfig = readProjectConfig(projectRoot);
|
|
35
|
+
const engine = new TemplateEngine();
|
|
36
|
+
const newFiles = engine.generateAll(projectConfig);
|
|
37
|
+
const outputDir = join(projectRoot, ".tdk", ".tdk-out");
|
|
38
|
+
const filesToCheck = MASTER_CONFIG_FILES;
|
|
39
|
+
let hasChanges = false;
|
|
40
|
+
for (const filename of filesToCheck) {
|
|
41
|
+
// Runtime validation with type guard eliminates type assertion
|
|
42
|
+
if (!isMasterConfigFileName(filename)) {
|
|
43
|
+
continue; // Skip unknown files (shouldn't happen with const array)
|
|
44
|
+
}
|
|
45
|
+
const newContent = newFiles[filename];
|
|
46
|
+
const filePath = join(outputDir, filename);
|
|
47
|
+
if (!existsSync(filePath)) {
|
|
48
|
+
console.log(chalk.yellow(`📁 ${filename}`));
|
|
49
|
+
console.log(chalk.gray(" Status: NEW (file does not exist)\n"));
|
|
50
|
+
hasChanges = true;
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
const currentContent = readFileSync(filePath, "utf-8");
|
|
54
|
+
if (currentContent === newContent) {
|
|
55
|
+
console.log(chalk.green(`✓ ${filename}`));
|
|
56
|
+
console.log(chalk.gray(" Status: No changes\n"));
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
console.log(chalk.yellow(`📝 ${filename}`));
|
|
60
|
+
console.log(chalk.gray(" Status: MODIFIED"));
|
|
61
|
+
const currentLines = currentContent.split("\n").length;
|
|
62
|
+
const newLines = newContent.split("\n").length;
|
|
63
|
+
const lineDiff = newLines - currentLines;
|
|
64
|
+
if (lineDiff > 0) {
|
|
65
|
+
console.log(chalk.gray(` Lines: ${currentLines} → ${newLines} (+${lineDiff})`));
|
|
66
|
+
}
|
|
67
|
+
else if (lineDiff < 0) {
|
|
68
|
+
console.log(chalk.gray(` Lines: ${currentLines} → ${newLines} (${lineDiff})`));
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
console.log(chalk.gray(` Lines: ${currentLines} (content changed)`));
|
|
72
|
+
}
|
|
73
|
+
const currentLinesArr = currentContent.split("\n");
|
|
74
|
+
const newLinesArr = newContent.split("\n");
|
|
75
|
+
let firstDiffLine = -1;
|
|
76
|
+
for (let i = 0; i < Math.max(currentLinesArr.length, newLinesArr.length); i++) {
|
|
77
|
+
if (currentLinesArr[i] !== newLinesArr[i]) {
|
|
78
|
+
firstDiffLine = i;
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (firstDiffLine >= 0) {
|
|
83
|
+
console.log(chalk.gray(` First change around line ${firstDiffLine + 1}:`));
|
|
84
|
+
const contextStart = Math.max(0, firstDiffLine - 1);
|
|
85
|
+
const contextEnd = Math.min(currentLinesArr.length, firstDiffLine + 2);
|
|
86
|
+
for (let i = contextStart; i < contextEnd; i++) {
|
|
87
|
+
const line = currentLinesArr[i];
|
|
88
|
+
const newLine = newLinesArr[i];
|
|
89
|
+
if (line !== newLine) {
|
|
90
|
+
if (line !== undefined) {
|
|
91
|
+
console.log(chalk.red(` - ${line.substring(0, 60)}${line.length > 60 ? "..." : ""}`));
|
|
92
|
+
}
|
|
93
|
+
if (newLine !== undefined) {
|
|
94
|
+
console.log(chalk.green(` + ${newLine.substring(0, 60)}${newLine.length > 60 ? "..." : ""}`));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
console.log(chalk.gray(` ${line.substring(0, 60)}${line.length > 60 ? "..." : ""}`));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
console.log("");
|
|
103
|
+
hasChanges = true;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (hasChanges) {
|
|
107
|
+
console.log(chalk.blue("💡 Run without --dry-run to apply these changes.\n"));
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
console.log(chalk.green("✅ All files are already up to date!\n"));
|
|
111
|
+
}
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
console.log(chalk.blue("📋 Regenerating master configuration files...\n"));
|
|
115
|
+
await generateMasterConfigs(projectRoot);
|
|
116
|
+
console.log(chalk.green("\n✅ Configuration regenerated!"));
|
|
117
|
+
});
|
|
118
|
+
}))
|
|
119
|
+
.addCommand(new Command("verify")
|
|
120
|
+
.description("Verify that generated files match .tdk/project.json")
|
|
121
|
+
.action(async () => {
|
|
122
|
+
await runCommand(async () => {
|
|
123
|
+
const projectRoot = requireProjectRoot();
|
|
124
|
+
console.log(chalk.blue("🔍 Verifying configuration...\n"));
|
|
125
|
+
const result = verifyMasterConfigs(projectRoot);
|
|
126
|
+
if (result.valid) {
|
|
127
|
+
console.log(chalk.green("✅ All files are in sync!"));
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
console.log(chalk.yellow("⚠️ Configuration issues found:"));
|
|
132
|
+
for (const error of result.errors) {
|
|
133
|
+
console.log(chalk.gray(` - ${error}`));
|
|
134
|
+
}
|
|
135
|
+
console.log(chalk.gray("\nRun `tdk config regenerate` to fix."));
|
|
136
|
+
process.exit(1);
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}))
|
|
140
|
+
.addCommand(new Command("edit").description("Open .tdk/project.json in your $EDITOR").action(async () => {
|
|
141
|
+
await runCommand(async () => {
|
|
142
|
+
const projectRoot = requireProjectRoot();
|
|
143
|
+
const projectJsonPath = join(projectRoot, ".tdk", "project.json");
|
|
144
|
+
if (!existsSync(projectJsonPath)) {
|
|
145
|
+
throw new Error(".tdk/project.json not found");
|
|
146
|
+
}
|
|
147
|
+
const editor = process.env.EDITOR || "vi";
|
|
148
|
+
console.log(chalk.blue(`Opening ${projectJsonPath} in ${editor}...`));
|
|
149
|
+
const editorParts = editor.trim().split(/\s+/);
|
|
150
|
+
const editorCmd = editorParts[0];
|
|
151
|
+
const editorArgs = [...editorParts.slice(1), projectJsonPath];
|
|
152
|
+
const allowedEditors = [
|
|
153
|
+
"vi",
|
|
154
|
+
"vim",
|
|
155
|
+
"nano",
|
|
156
|
+
"emacs",
|
|
157
|
+
"code",
|
|
158
|
+
"subl",
|
|
159
|
+
"atom",
|
|
160
|
+
"mate",
|
|
161
|
+
"pico",
|
|
162
|
+
"micro",
|
|
163
|
+
"hx",
|
|
164
|
+
];
|
|
165
|
+
const editorBase = editorCmd.replace(/.*\//, ""); // Remove path prefix for validation
|
|
166
|
+
if (!allowedEditors.includes(editorBase)) {
|
|
167
|
+
console.error(chalk.yellow(`Warning: Unknown editor "${editorCmd}". Using 'vi' instead.`));
|
|
168
|
+
spawnSync("vi", [projectJsonPath], { stdio: "inherit" });
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
spawnSync(editorCmd, editorArgs, { stdio: "inherit" });
|
|
172
|
+
}
|
|
173
|
+
console.log(chalk.green("\n✅ Editor closed."));
|
|
174
|
+
console.log(chalk.gray("Run `tdk config regenerate` to apply changes."));
|
|
175
|
+
});
|
|
176
|
+
}));
|
|
177
|
+
/**
|
|
178
|
+
* Type guard for optional infrastructure service keys.
|
|
179
|
+
* Validates that a service name is a valid key of the optional_infra object.
|
|
180
|
+
*/
|
|
181
|
+
function isOptionalInfraKey(service, config) {
|
|
182
|
+
return service in config.optional_infra;
|
|
183
|
+
}
|
|
184
|
+
async function toggleInfraService(service, enabled) {
|
|
185
|
+
const projectRoot = requireProjectRoot();
|
|
186
|
+
// Validates service is in OPTIONAL_INFRA_SERVICES array
|
|
187
|
+
const validation = validateOptionalInfraService(service);
|
|
188
|
+
assertValid(validation);
|
|
189
|
+
// Verdaccio is a Premium feature - refuse to enable it without a license
|
|
190
|
+
// key that actually grants it, rather than writing a config that
|
|
191
|
+
// generateMasterConfigs will just silently downgrade back to false later.
|
|
192
|
+
if (service === "verdaccio" && enabled) {
|
|
193
|
+
const granted = await hasVerdaccioLicense(projectRoot);
|
|
194
|
+
if (!granted) {
|
|
195
|
+
throw new Error("Verdaccio is a Premium feature and requires a license key that grants it. " +
|
|
196
|
+
"Set export TDK_LICENSE_KEY=<key> (request a Premium license at https://tdk-landscape.github.io/#waitlist) and try again.");
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
const config = readProjectConfig(projectRoot);
|
|
200
|
+
// Runtime validation: ensure service is a valid key of optional_infra
|
|
201
|
+
if (!isOptionalInfraKey(service, config)) {
|
|
202
|
+
throw new Error(`Invalid infrastructure service: "${service}". ` +
|
|
203
|
+
`Must be one of: ${Object.keys(config.optional_infra).join(", ")}`);
|
|
204
|
+
}
|
|
205
|
+
// Type-safe assignment: service is now narrowed to OptionalInfraKey
|
|
206
|
+
config.optional_infra[service] = enabled;
|
|
207
|
+
const projectJsonPath = join(projectRoot, ".tdk", "project.json");
|
|
208
|
+
// ProjectConfig is guaranteed to be JSON-serializable
|
|
209
|
+
writeJsonFile(projectJsonPath, config);
|
|
210
|
+
const action = enabled ? "Enabled" : "Disabled";
|
|
211
|
+
console.log(chalk.green(`✓ ${action}: ${service}`));
|
|
212
|
+
console.log(chalk.gray("Run `tdk config regenerate` to apply."));
|
|
213
|
+
}
|
|
214
|
+
configCommand
|
|
215
|
+
.addCommand(new Command("enable-infra")
|
|
216
|
+
.description("Enable optional infrastructure service")
|
|
217
|
+
.argument("<service>", "Service name (monitoring, elk, debezium, golden_image, verdaccio)")
|
|
218
|
+
.action(async (service) => {
|
|
219
|
+
await runCommand(async () => {
|
|
220
|
+
await toggleInfraService(service, true);
|
|
221
|
+
});
|
|
222
|
+
}))
|
|
223
|
+
.addCommand(new Command("disable-infra")
|
|
224
|
+
.description("Disable optional infrastructure service")
|
|
225
|
+
.argument("<service>", "Service name (monitoring, elk, debezium, golden_image, verdaccio)")
|
|
226
|
+
.action(async (service) => {
|
|
227
|
+
await runCommand(async () => {
|
|
228
|
+
await toggleInfraService(service, false);
|
|
229
|
+
});
|
|
230
|
+
}));
|
|
231
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { execSync } from "node:child_process";
|
|
2
|
+
import { Command } from "commander";
|
|
3
|
+
import type { CheckResult } from "../types/index.js";
|
|
4
|
+
export { checkIngressPorts, checkPrivateNpmRegistry, checkTiltResourceHealth, summarizeTiltBuildError, } from "../utils/doctor-runtime.js";
|
|
5
|
+
export declare function checkDockerVersions(exec?: typeof execSync): CheckResult;
|
|
6
|
+
export declare function checkGeneratedProjectRuntimeAssets(): CheckResult;
|
|
7
|
+
export declare function checkStarlarkLoadExports(): CheckResult;
|
|
8
|
+
/**
|
|
9
|
+
* Backend/frontend tsconfig generators set `"types": ["bun"]` on the
|
|
10
|
+
* assumption that `@types/bun` is a direct devDependency (`tdk resource`
|
|
11
|
+
* adds it for new services). Nothing re-adds it if a service's package.json
|
|
12
|
+
* loses that entry -- e.g. a checkout missing it entirely, or a manual edit
|
|
13
|
+
* -- and the failure only surfaces later as `tsc: TS2688: Cannot find type
|
|
14
|
+
* definition file for 'bun'` inside `bun run build`, mid Docker image build.
|
|
15
|
+
*/
|
|
16
|
+
export declare function checkTypeScriptTypeDependencies(): CheckResult;
|
|
17
|
+
export declare function checkFrontendDockerPreflight(): CheckResult;
|
|
18
|
+
export declare const doctorCommand: Command;
|
|
19
|
+
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAiBrD,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AA+HpC,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,OAAO,QAAmB,GAAG,WAAW,CAmDjF;AA0ED,wBAAgB,kCAAkC,IAAI,WAAW,CA6BhE;AAmHD,wBAAgB,wBAAwB,IAAI,WAAW,CAoDtD;AA+CD;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,IAAI,WAAW,CA8C7D;AAmBD,wBAAgB,4BAA4B,IAAI,WAAW,CA2F1D;AA8JD,eAAO,MAAM,aAAa,SAiFtB,CAAC"}
|