@tdk-landscape/tdk-cli-core 1.3.15 → 1.3.22
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/Tiltfile +144 -0
- package/discovery/AGENTS.md +362 -0
- package/discovery/TILT_DISCOVERY.star +424 -0
- package/discovery/Tiltfile +58 -0
- package/discovery/config.star +258 -0
- package/discovery/constants.star +127 -0
- package/discovery/deterministic.star +211 -0
- package/discovery/discovery_daemon.star +191 -0
- package/discovery/discovery_orchestrator.star +460 -0
- package/discovery/filtering.star +5 -0
- package/discovery/identity-management-backend/service.yaml +26 -0
- package/discovery/identity-management-frontend/service.yaml +29 -0
- package/discovery/identity-sdk/service.yaml +9 -0
- package/discovery/incremental_discovery.star +213 -0
- package/discovery/indexing.star +7 -0
- package/discovery/json_manifest_scanner.star +51 -0
- package/discovery/libraries.star +46 -0
- package/discovery/loading.star +23 -0
- package/discovery/manifest/constants.star +104 -0
- package/discovery/manifest/loading.star +386 -0
- package/discovery/manifest/normalize.star +281 -0
- package/discovery/manifest/validation.star +108 -0
- package/discovery/normalization.star +11 -0
- package/discovery/registry.star +544 -0
- package/discovery/resource_snapshot.py +382 -0
- package/discovery/resource_snapshot.star +143 -0
- package/discovery/schemas.star +1 -0
- package/discovery/services/platform/cdc/debezium/nats-connector/service.yaml +9 -0
- package/discovery/services/platform/cdc/nats-http-bridge/service.yaml +9 -0
- package/discovery/services/platform/orchestrator/orchestrator-glue-backend/service.yaml +26 -0
- package/discovery/services/platform/synthetic-monitor/service.yaml +9 -0
- package/discovery/test_resource_snapshot.py +251 -0
- package/discovery/validation.star +78 -0
- package/discovery/versioning.star +1 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +11 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +1 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/project.d.ts.map +1 -1
- package/dist/commands/project.js +36 -41
- package/dist/commands/project.js.map +1 -1
- package/dist/commands/resource.d.ts.map +1 -1
- package/dist/commands/resource.js +51 -55
- package/dist/commands/resource.js.map +1 -1
- package/dist/commands/stack.d.ts.map +1 -1
- package/dist/commands/stack.js +22 -24
- package/dist/commands/stack.js.map +1 -1
- package/dist/commands/ui.d.ts.map +1 -1
- package/dist/commands/ui.js +1 -2
- package/dist/commands/ui.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +1 -2
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/upgrade.d.ts +8 -0
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +59 -18
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/generator/extension-fetch.d.ts +19 -0
- package/dist/generator/extension-fetch.d.ts.map +1 -1
- package/dist/generator/extension-fetch.js +71 -5
- package/dist/generator/extension-fetch.js.map +1 -1
- package/dist/generator/template-engine.d.ts +1 -0
- package/dist/generator/template-engine.d.ts.map +1 -1
- package/dist/generator/template-engine.js +50 -6
- package/dist/generator/template-engine.js.map +1 -1
- package/dist/utils/command-helpers.d.ts.map +1 -1
- package/dist/utils/command-helpers.js +7 -9
- package/dist/utils/command-helpers.js.map +1 -1
- package/dist/utils/constants.d.ts +1 -0
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +1 -0
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/errors.d.ts +2 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +6 -1
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/project-features.d.ts.map +1 -1
- package/dist/utils/project-features.js +1 -1
- package/dist/utils/project-features.js.map +1 -1
- package/dist/utils/resource-features.d.ts.map +1 -1
- package/dist/utils/resource-features.js +2 -2
- package/dist/utils/resource-features.js.map +1 -1
- package/dist/utils/tar.js +4 -4
- package/dist/utils/tar.js.map +1 -1
- package/dist/utils/validation.d.ts +7 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +9 -0
- package/dist/utils/validation.js.map +1 -1
- package/engine/AGENTS.md +705 -0
- package/engine/README.md +29 -0
- package/engine/REFACTORING_MANIFEST_SYSTEM.md +974 -0
- package/engine/Tiltfile +80 -0
- package/engine/assets/docker/golden-layers.Dockerfile +221 -0
- package/engine/assets/scripts/cleanup-completed-migrator-images.sh +37 -0
- package/engine/assets/scripts/cleanup-tilt-images.sh +120 -0
- package/engine/assets/scripts/mac-m1-resource-monitor.sh +121 -0
- package/engine/config.star +3 -0
- package/engine/docs/AUTODISCOVERY_TEST.md +182 -0
- package/engine/docs/C4-ARCHITECTURE-operations.md +396 -0
- package/engine/docs/C4-ARCHITECTURE-overview.md +284 -0
- package/engine/docs/C4-ARCHITECTURE.md +17 -0
- package/engine/docs/GOLDEN_IMAGE_INTEGRATION.md +349 -0
- package/engine/docs/MANIFEST_DRIVEN_ARCHITECTURE.md +357 -0
- package/engine/docs/README.md +284 -0
- package/engine/entrypoint.star +97 -0
- package/engine/lifecycle/orchestrator.star +260 -0
- package/engine/paths.star +717 -0
- package/engine/schemas/manifest-schema.json +301 -0
- package/engine/schemas/service-schema.json +301 -0
- package/engine/scripts/README.md +89 -0
- package/engine/scripts/build-and-publish-lib.sh +205 -0
- package/engine/scripts/check-lib-publish.sh +85 -0
- package/engine/scripts/debug-container.sh +258 -0
- package/engine/scripts/generate-manifest.sh +197 -0
- package/engine/spec.master +702 -0
- package/engine/spec.master.example +341 -0
- package/engine/topologies/README.md +34 -0
- package/engine/topologies/platform/docker/AGENTS.md +59 -0
- package/engine/topologies/platform/docker/auth/auth.star +167 -0
- package/engine/topologies/platform/docker/build/golden_image.star +37 -0
- package/engine/topologies/platform/docker/build/golden_image_build.star +82 -0
- package/engine/topologies/platform/docker/build/golden_image_constants.star +93 -0
- package/engine/topologies/platform/docker/build/golden_image_dockerfile.star +291 -0
- package/engine/topologies/platform/docker/compose/compose.star +636 -0
- package/engine/topologies/platform/docker/compose/compose_helpers.star +52 -0
- package/engine/topologies/platform/docker/compose/traefik_standalone.star +53 -0
- package/engine/topologies/platform/docker/config/bunignore.star +142 -0
- package/engine/topologies/platform/docker/config/dockerignore.star +150 -0
- package/engine/topologies/platform/docker/constants.star +170 -0
- package/engine/topologies/platform/docker/dockerfile/dockerfile.star +54 -0
- package/engine/topologies/platform/docker/generators/golden_docker_generator_v2.star +73 -0
- package/engine/topologies/platform/docker/index.star +27 -0
- package/engine/topologies/platform/docker/layers/bun_helpers.star +23 -0
- package/engine/topologies/platform/docker/layers/infisical/index.star +40 -0
- package/engine/topologies/platform/docker/layers/infisical/infisical_docker.star +262 -0
- package/engine/topologies/platform/docker/layers/l1_base_layers.star +87 -0
- package/engine/topologies/platform/docker/layers/l2_dependency_layers.star +125 -0
- package/engine/topologies/platform/docker/layers/l3_builder_layers.star +209 -0
- package/engine/topologies/platform/docker/layers/l4_runtime_layers.star +214 -0
- package/engine/topologies/platform/docker/layers/prisma/constants.star +135 -0
- package/engine/topologies/platform/docker/layers/prisma/db_readiness.star +96 -0
- package/engine/topologies/platform/docker/layers/prisma/filesystem_setup.star +109 -0
- package/engine/topologies/platform/docker/layers/prisma/migrate_script.star +98 -0
- package/engine/topologies/platform/docker/layers/prisma/prisma_build.star +126 -0
- package/engine/topologies/platform/docker/layers/prisma/prisma_runtime.star +161 -0
- package/engine/topologies/platform/docker/layers/prisma/secret_resolution.star +119 -0
- package/engine/topologies/platform/docker/networking/api_path_constants.star +230 -0
- package/engine/topologies/platform/docker/networking/sablier_container_cycle.star +27 -0
- package/engine/topologies/platform/docker/networking/traefik.star +232 -0
- package/engine/topologies/platform/docker/networking/traefik_constants.star +146 -0
- package/engine/topologies/platform/docker/networking/traefik_helpers.star +160 -0
- package/engine/topologies/platform/docker/secrets/infisical.star +135 -0
- package/engine/topologies/platform/net/proxy.star +4 -0
- package/engine/topologies/platform/registries/local.star +4 -0
- package/engine/topologies/platform/security/secrets.star +239 -0
- package/engine/topologies/platform/state/relational.star +4 -0
- package/engine/topologies/tilt/common/AGENTS.md +59 -0
- package/engine/topologies/tilt/common/utils.star +364 -0
- package/engine/topologies/tilt/common/utils_debug.star +69 -0
- package/engine/topologies/tilt/common/utils_deterministic.star +168 -0
- package/engine/topologies/tilt/common/utils_docker_networks.star +46 -0
- package/engine/topologies/tilt/common/utils_env.star +43 -0
- package/engine/topologies/tilt/common/utils_output.star +97 -0
- package/engine/topologies/tilt/config/AGENTS.md +68 -0
- package/engine/topologies/tilt/config/defaults.star +3 -0
- package/engine/topologies/tilt/config/feature_flags.star +10 -0
- package/engine/topologies/tilt/config/global.star +55 -0
- package/engine/topologies/tilt/config/profiles.star +382 -0
- package/engine/topologies/tilt/generators/agents_md.star +62 -0
- package/engine/topologies/tilt/generators/api_gateway.star +145 -0
- package/engine/topologies/tilt/generators/index.star +124 -0
- package/engine/topologies/tilt/generators/infisical/README.md +424 -0
- package/engine/topologies/tilt/generators/infisical/examples.star +312 -0
- package/engine/topologies/tilt/generators/infisical/index.star +57 -0
- package/engine/topologies/tilt/generators/infisical/machine_identity.star +420 -0
- package/engine/topologies/tilt/generators/infisical/organization.star +534 -0
- package/engine/topologies/tilt/generators/infisical/path_manager.star +476 -0
- package/engine/topologies/tilt/generators/infisical/secrets_generator.star +420 -0
- package/engine/topologies/tilt/generators/nginx_conf.star +143 -0
- package/engine/topologies/tilt/generators/npmrc.star +111 -0
- package/engine/topologies/tilt/generators/tsconfig.star +23 -0
- package/engine/topologies/tilt/generators/typescript/backend_library_tsconfig.star +71 -0
- package/engine/topologies/tilt/generators/typescript/backend_tsconfig.star +124 -0
- package/engine/topologies/tilt/generators/typescript/common.star +7 -0
- package/engine/topologies/tilt/generators/typescript/frontend_library_tsconfig.star +76 -0
- package/engine/topologies/tilt/generators/typescript/frontend_tsconfig.star +110 -0
- package/engine/topologies/tilt/generators/typescript/include.star +23 -0
- package/engine/topologies/tilt/generators/typescript/playwright_config.star +40 -0
- package/engine/topologies/tilt/generators/typescript/prisma_config.star +49 -0
- package/engine/topologies/tilt/generators/validators.star +853 -0
- package/engine/topologies/tilt/generators/vite/backend.star +78 -0
- package/engine/topologies/tilt/generators/vite/frontend.star +98 -0
- package/engine/topologies/tilt/generators/vite/generators.star +43 -0
- package/engine/topologies/tilt/generators/vite/helpers.star +244 -0
- package/engine/topologies/tilt/generators/vite/library.star +65 -0
- package/engine/topologies/tilt/generators/vite/sdk.star +73 -0
- package/engine/topologies/tilt/generators/vite/templates.star +737 -0
- package/engine/topologies/tilt/generators/vite_config.star +22 -0
- package/engine/topologies/tilt/manifest/AGENTS.md +61 -0
- package/engine/topologies/tilt/manifest/README.md +693 -0
- package/engine/topologies/tilt/manifest/__init__.star +218 -0
- package/engine/topologies/tilt/manifest/constants.star +252 -0
- package/engine/topologies/tilt/manifest/errors.star +266 -0
- package/engine/topologies/tilt/manifest/integration.star +339 -0
- package/engine/topologies/tilt/manifest/json_to_yaml.py +54 -0
- package/engine/topologies/tilt/manifest/loader.star +214 -0
- package/engine/topologies/tilt/manifest/mapper.star +227 -0
- package/engine/topologies/tilt/manifest/parser.star +400 -0
- package/engine/topologies/tilt/manifest/schema.star +462 -0
- package/engine/topologies/tilt/manifest/tests/test_integration.star +276 -0
- package/engine/topologies/tilt/manifest/tests/test_loader_parser.star +397 -0
- package/engine/topologies/tilt/manifest/tests/test_manifest.star +316 -0
- package/engine/topologies/tilt/manifest/tests/test_validator.star +470 -0
- package/engine/topologies/tilt/manifest/validator.star +717 -0
- package/engine/topologies/tilt/manifest/yaml_to_json.py +18 -0
- package/engine/topologies/tilt/resources/AGENTS.md +71 -0
- package/engine/topologies/tilt/resources/conditions.star +3 -0
- package/engine/topologies/tilt/resources/databases.star +244 -0
- package/engine/topologies/tilt/resources/declaration.star +3 -0
- package/engine/topologies/tilt/resources/deps.star +3 -0
- package/engine/topologies/tilt/resources/infra-loader.star +437 -0
- package/engine/topologies/tilt/resources/libs.star +30 -0
- package/engine/topologies/tilt/resources/libs_discovery.star +102 -0
- package/engine/topologies/tilt/resources/libs_paths.star +79 -0
- package/engine/topologies/tilt/resources/libs_resource_definition.star +151 -0
- package/engine/topologies/tilt/resources/libs_setup.star +164 -0
- package/engine/topologies/tilt/resources/libs_tsconfig.star +37 -0
- package/engine/topologies/tilt/resources/orchestrator/apply.star +77 -0
- package/engine/topologies/tilt/resources/orchestrator/apply_compose_resource_registration.star +431 -0
- package/engine/topologies/tilt/resources/orchestrator/apply_manifest_orchestration.star +81 -0
- package/engine/topologies/tilt/resources/orchestrator/apply_migrator_orchestration.star +148 -0
- package/engine/topologies/tilt/resources/orchestrator/apply_resource_validation.star +36 -0
- package/engine/topologies/tilt/resources/orchestrator/apply_runtime_flags.star +44 -0
- package/engine/topologies/tilt/resources/orchestrator/builders/typescript.star +164 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/dependencies/AGENTS.md +75 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/dependencies/index.star +21 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/dependencies/resolver.star +134 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/env.star +258 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/frontend.star +169 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/manifest_resource.star +524 -0
- package/engine/topologies/tilt/resources/orchestrator/helpers.star +33 -0
- package/engine/topologies/tilt/resources/orchestrator.star +54 -0
- package/engine/topologies/tilt/resources/ordering.star +3 -0
- package/engine/topologies/tilt/resources/triggers.star +3 -0
- package/engine/topologies/tilt/resources/watchers.star +299 -0
- package/engine/where-things-live.star +717 -0
- package/ext/Tiltfile +66 -0
- package/ext/ide-components/README.md +219 -0
- package/ext/ide-components/code_executor/server.py +268 -0
- package/ext/ide-components/code_viewer/server.py +206 -0
- package/ext/ide-components/config_inspector/server.py +1050 -0
- package/ext/ide-components/file_browser/server.py +285 -0
- package/ext/ide-components/shared/config_service.py +469 -0
- package/ext/ide-components/shared/file_utils.py +298 -0
- package/ext/ide-components/shared/http_utils.py +232 -0
- package/ext/ide-components/shared/static/styles.css +1334 -0
- package/ext/ide-components/shared/syntax_highlighter.py +140 -0
- package/ext/ide-components/shared/template_engine.py +123 -0
- package/ext/ide-components/shared/templates/base.html +121 -0
- package/ext/ide-components/shared/test_config_service.py +326 -0
- package/ext/ide-components/shared/tilt_integration.py +158 -0
- package/ext/ui-enhancements/cron-status-server.sh +49 -0
- package/ext/ui-enhancements/cron-status-tracker.sh +146 -0
- package/ext/ui-enhancements/extension.yaml +36 -0
- package/ext/ui-enhancements/tiltfile.py +99 -0
- package/ext/ui-enhancements/ui/cron-jobs-tab.css +396 -0
- package/ext/ui-enhancements/ui/help-panel.css +279 -0
- package/ext/ui-enhancements/ui/icons.css +125 -0
- package/ext/ui-enhancements/ui/tooltips.css +114 -0
- package/package.json +13 -9
- package/specs/specs/TILT_SERVICE_DEFAULTS.star +205 -0
- package/specs/specs/TILT_TECH_STACK.star +159 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# === INLINED CONSTANTS for pure extension loading ===
|
|
2
|
+
OUTPUT = struct(AUTOGENERATED_FOLDER = ".autogenerated")
|
|
3
|
+
# === END INLINED CONSTANTS ===
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
load("../../../../topologies/tilt/common/utils.star", "Utils")
|
|
7
|
+
load("../../../../topologies/tilt/manifest/constants.star", "GENERATED_CONFIG_FILENAMES")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# =============================================================================
|
|
11
|
+
# Backend Library TSConfig Generator (no JSX)
|
|
12
|
+
# =============================================================================
|
|
13
|
+
|
|
14
|
+
def generate_backend_library_tsconfig(resource_path, write_fn, internal_deps=None, is_docker=True):
|
|
15
|
+
"""
|
|
16
|
+
Generate tsconfig for backend shared libraries (no JSX).
|
|
17
|
+
|
|
18
|
+
Args:
|
|
19
|
+
resource_path: Path to the resource directory
|
|
20
|
+
write_fn: Write function for file output
|
|
21
|
+
internal_deps: Optional internal dependencies map
|
|
22
|
+
is_docker: Whether generating for Docker context
|
|
23
|
+
|
|
24
|
+
Returns:
|
|
25
|
+
dict: Generated tsconfig content
|
|
26
|
+
"""
|
|
27
|
+
base_url = "." if is_docker else ".."
|
|
28
|
+
out_dir = "./dist" if is_docker else "../dist"
|
|
29
|
+
include_src = "src" if is_docker else "../src"
|
|
30
|
+
exclude_prefix = "" if is_docker else "../"
|
|
31
|
+
paths = {
|
|
32
|
+
"@/*": ["./src/*"],
|
|
33
|
+
"@application/*": ["./src/application/*"],
|
|
34
|
+
"@domain/*": ["./src/domain/*"],
|
|
35
|
+
"@infrastructure/*": ["./src/infrastructure/*"],
|
|
36
|
+
"@presentation/*": ["./src/presentation/*"],
|
|
37
|
+
}
|
|
38
|
+
# NOTE: Do not add internal workspace path mappings for libraries.
|
|
39
|
+
# These mappings pull external sources into the program and break
|
|
40
|
+
# library builds that compile with `--rootDir src`.
|
|
41
|
+
content = {
|
|
42
|
+
"compilerOptions": {
|
|
43
|
+
"target": "ES2022",
|
|
44
|
+
"module": "ES2022",
|
|
45
|
+
"moduleResolution": "node",
|
|
46
|
+
"baseUrl": base_url,
|
|
47
|
+
"declaration": True,
|
|
48
|
+
"declarationMap": True,
|
|
49
|
+
"outDir": out_dir,
|
|
50
|
+
"paths": paths,
|
|
51
|
+
"skipLibCheck": True,
|
|
52
|
+
"strict": True,
|
|
53
|
+
"emitDecoratorMetadata": True,
|
|
54
|
+
"experimentalDecorators": True,
|
|
55
|
+
"esModuleInterop": True,
|
|
56
|
+
"forceConsistentCasingInFileNames": True
|
|
57
|
+
},
|
|
58
|
+
"exclude": [
|
|
59
|
+
exclude_prefix + "node_modules",
|
|
60
|
+
exclude_prefix + "dist",
|
|
61
|
+
exclude_prefix + "__tests__/**/*",
|
|
62
|
+
exclude_prefix + "**/*.test.ts",
|
|
63
|
+
exclude_prefix + "**/*.test.tsx",
|
|
64
|
+
exclude_prefix + "**/tests/**",
|
|
65
|
+
],
|
|
66
|
+
"include": [include_src + "/**/*"]
|
|
67
|
+
}
|
|
68
|
+
if is_docker:
|
|
69
|
+
write_fn(resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['tsconfig_docker'], Utils.encode_json(content))
|
|
70
|
+
else:
|
|
71
|
+
write_fn(resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['tsconfig_local'], Utils.encode_json(content))
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# === INLINED CONSTANTS for pure extension loading ===
|
|
2
|
+
OUTPUT = struct(AUTOGENERATED_FOLDER = ".autogenerated")
|
|
3
|
+
# === END INLINED CONSTANTS ===
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
load("../../../../topologies/tilt/common/utils.star", "Utils")
|
|
7
|
+
load("../../../../topologies/tilt/manifest/constants.star", "GENERATED_CONFIG_FILENAMES")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# =============================================================================
|
|
11
|
+
# Backend TSConfig Generator
|
|
12
|
+
# =============================================================================
|
|
13
|
+
|
|
14
|
+
def generate_backend_tsconfig(resource_path, prisma_path, write_fn, internal_deps=None, is_docker=True):
|
|
15
|
+
"""
|
|
16
|
+
Generate tsconfig for backend services.
|
|
17
|
+
|
|
18
|
+
Args:
|
|
19
|
+
resource_path: Path to the service directory
|
|
20
|
+
prisma_path: Path to Prisma client
|
|
21
|
+
write_fn: Write function for file output
|
|
22
|
+
internal_deps: Optional internal dependencies map
|
|
23
|
+
is_docker: Whether generating for Docker context
|
|
24
|
+
"""
|
|
25
|
+
# When tsconfig is in .autogenerated/ folder, paths are relative to parent
|
|
26
|
+
paths = {
|
|
27
|
+
"@/*": ["../src/*"],
|
|
28
|
+
"@application/*": ["../src/application/*"],
|
|
29
|
+
"@domain/*": ["../src/domain/*"],
|
|
30
|
+
"@infrastructure/*": ["../src/infrastructure/*"],
|
|
31
|
+
"@presentation/*": ["../src/presentation/*"],
|
|
32
|
+
"@prisma/client": [prisma_path]
|
|
33
|
+
}
|
|
34
|
+
root_dir = "../src"
|
|
35
|
+
if internal_deps and not is_docker:
|
|
36
|
+
sorted_deps = sorted(internal_deps.items())
|
|
37
|
+
depth = len([segment for segment in resource_path.split('/') if segment])
|
|
38
|
+
rel_to_root = "../" * depth
|
|
39
|
+
for pkg_name, src_path in sorted_deps:
|
|
40
|
+
paths[pkg_name] = [rel_to_root + src_path + "/src"]
|
|
41
|
+
paths[pkg_name + "/*"] = [rel_to_root + src_path + "/src/*"]
|
|
42
|
+
compiler_options = {
|
|
43
|
+
"target": "ES2022",
|
|
44
|
+
"module": "ES2022",
|
|
45
|
+
"moduleResolution": "bundler",
|
|
46
|
+
"paths": paths,
|
|
47
|
+
"skipLibCheck": True,
|
|
48
|
+
"strict": True,
|
|
49
|
+
"experimentalDecorators": True,
|
|
50
|
+
"emitDecoratorMetadata": True,
|
|
51
|
+
"esModuleInterop": True,
|
|
52
|
+
"forceConsistentCasingInFileNames": True,
|
|
53
|
+
"resolveJsonModule": True,
|
|
54
|
+
"allowSyntheticDefaultImports": True,
|
|
55
|
+
"outDir": "../dist",
|
|
56
|
+
"rootDir": root_dir,
|
|
57
|
+
"types": ["node"],
|
|
58
|
+
}
|
|
59
|
+
content = {
|
|
60
|
+
"compilerOptions": compiler_options,
|
|
61
|
+
"exclude": [
|
|
62
|
+
"node_modules",
|
|
63
|
+
"dist",
|
|
64
|
+
"../__tests__/**/*",
|
|
65
|
+
"../**/*.test.ts",
|
|
66
|
+
"../**/tests/**/*",
|
|
67
|
+
"../src/legacy/**/*",
|
|
68
|
+
"../**/*.steps.ts",
|
|
69
|
+
"../**/*.spec.ts"
|
|
70
|
+
],
|
|
71
|
+
"include": ["../src/**/*"]
|
|
72
|
+
}
|
|
73
|
+
if is_docker:
|
|
74
|
+
# Docker tsconfig is copied to service root, so paths are relative to root
|
|
75
|
+
docker_paths = {
|
|
76
|
+
"@/*": ["./src/*"],
|
|
77
|
+
"@application/*": ["./src/application/*"],
|
|
78
|
+
"@domain/*": ["./src/domain/*"],
|
|
79
|
+
"@infrastructure/*": ["./src/infrastructure/*"],
|
|
80
|
+
"@presentation/*": ["./src/presentation/*"],
|
|
81
|
+
"@prisma/client": [prisma_path]
|
|
82
|
+
}
|
|
83
|
+
docker_root_dir = "./src"
|
|
84
|
+
if internal_deps:
|
|
85
|
+
sorted_deps = sorted(internal_deps.items())
|
|
86
|
+
depth = len([segment for segment in resource_path.split('/') if segment])
|
|
87
|
+
rel_to_root = "../" * depth
|
|
88
|
+
for pkg_name, src_path in sorted_deps:
|
|
89
|
+
docker_paths[pkg_name] = [rel_to_root + src_path + "/src"]
|
|
90
|
+
docker_paths[pkg_name + "/*"] = [rel_to_root + src_path + "/src/*"]
|
|
91
|
+
docker_compiler_options = {
|
|
92
|
+
"target": "ES2022",
|
|
93
|
+
"module": "ES2022",
|
|
94
|
+
"moduleResolution": "bundler",
|
|
95
|
+
"paths": docker_paths,
|
|
96
|
+
"skipLibCheck": True,
|
|
97
|
+
"strict": True,
|
|
98
|
+
"experimentalDecorators": True,
|
|
99
|
+
"emitDecoratorMetadata": True,
|
|
100
|
+
"esModuleInterop": True,
|
|
101
|
+
"forceConsistentCasingInFileNames": True,
|
|
102
|
+
"resolveJsonModule": True,
|
|
103
|
+
"allowSyntheticDefaultImports": True,
|
|
104
|
+
"outDir": "./dist",
|
|
105
|
+
"rootDir": docker_root_dir,
|
|
106
|
+
"types": ["node"],
|
|
107
|
+
}
|
|
108
|
+
docker_content = {
|
|
109
|
+
"compilerOptions": docker_compiler_options,
|
|
110
|
+
"exclude": [
|
|
111
|
+
"node_modules",
|
|
112
|
+
"dist",
|
|
113
|
+
"./__tests__/**/*",
|
|
114
|
+
"./**/*.test.ts",
|
|
115
|
+
"./**/tests/**/*",
|
|
116
|
+
"./src/legacy/**/*",
|
|
117
|
+
"./**/*.steps.ts",
|
|
118
|
+
"./**/*.spec.ts"
|
|
119
|
+
],
|
|
120
|
+
"include": ["./src/**/*"]
|
|
121
|
+
}
|
|
122
|
+
write_fn(resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['tsconfig_docker'], Utils.encode_json(docker_content))
|
|
123
|
+
else:
|
|
124
|
+
write_fn(resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['tsconfig_local'], Utils.encode_json(content))
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# Common helpers/constants for TSConfig providers
|
|
3
|
+
# =============================================================================
|
|
4
|
+
|
|
5
|
+
load("../../../../topologies/tilt/common/utils.star", "Utils")
|
|
6
|
+
|
|
7
|
+
# Add any shared helpers/constants here as needed.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# === INLINED CONSTANTS for pure extension loading ===
|
|
2
|
+
OUTPUT = struct(AUTOGENERATED_FOLDER = ".autogenerated")
|
|
3
|
+
# === END INLINED CONSTANTS ===
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
load("../../../../topologies/tilt/common/utils.star", "Utils")
|
|
7
|
+
load("../../../../topologies/tilt/manifest/constants.star", "GENERATED_CONFIG_FILENAMES")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# =============================================================================
|
|
11
|
+
# Frontend Library TSConfig Generator (with JSX)
|
|
12
|
+
# =============================================================================
|
|
13
|
+
|
|
14
|
+
def generate_frontend_library_tsconfig(resource_path, write_fn, internal_deps=None, is_docker=True):
|
|
15
|
+
"""
|
|
16
|
+
Generate tsconfig for frontend shared libraries (with JSX support).
|
|
17
|
+
|
|
18
|
+
Args:
|
|
19
|
+
resource_path: Path to the resource directory
|
|
20
|
+
write_fn: Write function for file output
|
|
21
|
+
internal_deps: Optional internal dependencies map
|
|
22
|
+
is_docker: Whether generating for Docker context
|
|
23
|
+
|
|
24
|
+
Returns:
|
|
25
|
+
dict: Generated tsconfig content
|
|
26
|
+
"""
|
|
27
|
+
base_url = "." if is_docker else ".."
|
|
28
|
+
out_dir = "./dist" if is_docker else "../dist"
|
|
29
|
+
include_src = "src" if is_docker else "../src"
|
|
30
|
+
exclude_prefix = "" if is_docker else "../"
|
|
31
|
+
paths = {
|
|
32
|
+
"@/*": ["./src/*"],
|
|
33
|
+
"@application/*": ["./src/application/*"],
|
|
34
|
+
"@domain/*": ["./src/domain/*"],
|
|
35
|
+
"@infrastructure/*": ["./src/infrastructure/*"],
|
|
36
|
+
"@presentation/*": ["./src/presentation/*"],
|
|
37
|
+
}
|
|
38
|
+
# NOTE: Do not add internal workspace path mappings for libraries.
|
|
39
|
+
# These mappings pull external sources into the program and break
|
|
40
|
+
# library builds that compile with `--rootDir src`.
|
|
41
|
+
content = {
|
|
42
|
+
"compilerOptions": {
|
|
43
|
+
"target": "ES2022",
|
|
44
|
+
"module": "ESNext",
|
|
45
|
+
"moduleResolution": "bundler",
|
|
46
|
+
"lib": ["DOM", "DOM.Iterable", "ESNext"],
|
|
47
|
+
"baseUrl": base_url,
|
|
48
|
+
"outDir": out_dir,
|
|
49
|
+
"rootDir": "src" if is_docker else "../src",
|
|
50
|
+
"paths": paths,
|
|
51
|
+
"skipLibCheck": True,
|
|
52
|
+
"strict": True,
|
|
53
|
+
"emitDecoratorMetadata": True,
|
|
54
|
+
"experimentalDecorators": True,
|
|
55
|
+
"esModuleInterop": True,
|
|
56
|
+
"forceConsistentCasingInFileNames": True,
|
|
57
|
+
"jsx": "react-jsx",
|
|
58
|
+
"allowSyntheticDefaultImports": True,
|
|
59
|
+
"resolveJsonModule": True
|
|
60
|
+
},
|
|
61
|
+
"exclude": [
|
|
62
|
+
exclude_prefix + "node_modules",
|
|
63
|
+
exclude_prefix + "dist",
|
|
64
|
+
exclude_prefix + "__tests__/**/*",
|
|
65
|
+
exclude_prefix + "**/*.test.ts",
|
|
66
|
+
exclude_prefix + "**/*.test.tsx",
|
|
67
|
+
exclude_prefix + "**/tests/**",
|
|
68
|
+
exclude_prefix + "**/*.stories.ts",
|
|
69
|
+
exclude_prefix + "**/*.stories.tsx",
|
|
70
|
+
],
|
|
71
|
+
"include": [include_src + "/**/*", include_src + "/**/*.tsx"]
|
|
72
|
+
}
|
|
73
|
+
if is_docker:
|
|
74
|
+
write_fn(resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['tsconfig_docker'], Utils.encode_json(content))
|
|
75
|
+
else:
|
|
76
|
+
write_fn(resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['tsconfig_local'], Utils.encode_json(content))
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# === INLINED CONSTANTS for pure extension loading ===
|
|
2
|
+
OUTPUT = struct(AUTOGENERATED_FOLDER = ".autogenerated")
|
|
3
|
+
# === END INLINED CONSTANTS ===
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
load("../../../../topologies/tilt/common/utils.star", "Utils")
|
|
7
|
+
load("../../../../topologies/tilt/manifest/constants.star", "GENERATED_CONFIG_FILENAMES")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# Check if verbose mode is enabled
|
|
11
|
+
_is_verbose = os.environ.get('TILT_LOG_LEVEL') == 'verbose'
|
|
12
|
+
|
|
13
|
+
# Module loaded - only show in verbose mode
|
|
14
|
+
if _is_verbose:
|
|
15
|
+
print("🔥 frontend_tsconfig.star MODULE LOADED")
|
|
16
|
+
|
|
17
|
+
# =============================================================================
|
|
18
|
+
# Frontend TSConfig Generator
|
|
19
|
+
# =============================================================================
|
|
20
|
+
|
|
21
|
+
def generate_frontend_tsconfig(resource_path, write_fn, internal_deps=None, is_docker=True):
|
|
22
|
+
"""
|
|
23
|
+
Generate tsconfig for frontend services.
|
|
24
|
+
|
|
25
|
+
Args:
|
|
26
|
+
resource_path: Path to the service directory
|
|
27
|
+
write_fn: Write function for file output
|
|
28
|
+
internal_deps: Optional internal dependencies map
|
|
29
|
+
is_docker: Whether generating for Docker context
|
|
30
|
+
"""
|
|
31
|
+
# Check verbose mode
|
|
32
|
+
is_verbose = os.environ.get('TILT_LOG_LEVEL') == 'verbose'
|
|
33
|
+
|
|
34
|
+
# DEBUG: Only print when function is called in verbose mode
|
|
35
|
+
if is_verbose:
|
|
36
|
+
print("🎯 TSConfig.frontend called: service={}, is_docker={}, has_internal_deps={}".format(
|
|
37
|
+
resource_path,
|
|
38
|
+
is_docker,
|
|
39
|
+
internal_deps != None
|
|
40
|
+
))
|
|
41
|
+
# When tsconfig is in .autogenerated/ folder, paths are relative to parent
|
|
42
|
+
paths = {
|
|
43
|
+
"@/*": ["../src/*"],
|
|
44
|
+
"@/autogenerated/*": ["./.autogenerated/*"]
|
|
45
|
+
}
|
|
46
|
+
include_paths = ["../src/**/*"]
|
|
47
|
+
|
|
48
|
+
# =============================================================================
|
|
49
|
+
# CRITICAL FIX: Only add path aliases for internal deps in LOCAL builds
|
|
50
|
+
# =============================================================================
|
|
51
|
+
# In Docker builds, these path aliases cause "Module not found" errors
|
|
52
|
+
# because the source files aren't copied to the Docker context.
|
|
53
|
+
#
|
|
54
|
+
# Docker builds should resolve from node_modules instead.
|
|
55
|
+
# =============================================================================
|
|
56
|
+
|
|
57
|
+
if internal_deps and not is_docker:
|
|
58
|
+
# LOCAL BUILD: Can use path aliases to source for faster development
|
|
59
|
+
sorted_deps = sorted(internal_deps.items())
|
|
60
|
+
for pkg_name, src_path in sorted_deps:
|
|
61
|
+
depth = len([segment for segment in resource_path.split('/') if segment])
|
|
62
|
+
rel_to_root = "../" * depth
|
|
63
|
+
paths[pkg_name] = [rel_to_root + src_path + "/src"]
|
|
64
|
+
paths[pkg_name + "/*"] = [rel_to_root + src_path + "/src/*"]
|
|
65
|
+
|
|
66
|
+
# If is_docker=True and internal_deps exist, warn about it
|
|
67
|
+
if internal_deps and is_docker:
|
|
68
|
+
if is_verbose:
|
|
69
|
+
print("📝 Note: Excluding {} path aliases from Docker tsconfig for {}".format(
|
|
70
|
+
len(internal_deps),
|
|
71
|
+
resource_path
|
|
72
|
+
))
|
|
73
|
+
print(" Docker build will resolve @{npm_scope}/* from node_modules")
|
|
74
|
+
content = {
|
|
75
|
+
"compilerOptions": {
|
|
76
|
+
"target": "ES2022",
|
|
77
|
+
"module": "ES2022",
|
|
78
|
+
"moduleResolution": "node",
|
|
79
|
+
"lib": ["dom", "dom.iterable", "esnext"],
|
|
80
|
+
"jsx": "react-jsx",
|
|
81
|
+
"paths": paths,
|
|
82
|
+
"skipLibCheck": True,
|
|
83
|
+
"strict": True,
|
|
84
|
+
"types": ["node"],
|
|
85
|
+
},
|
|
86
|
+
"exclude": [
|
|
87
|
+
"node_modules",
|
|
88
|
+
"dist",
|
|
89
|
+
"../__tests__/**/*",
|
|
90
|
+
"../**/*.test.ts",
|
|
91
|
+
"../**/tests/**/*",
|
|
92
|
+
"../**/*.steps.ts",
|
|
93
|
+
"../**/*.spec.ts"
|
|
94
|
+
],
|
|
95
|
+
"include": include_paths
|
|
96
|
+
}
|
|
97
|
+
if is_docker:
|
|
98
|
+
output_path = resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['tsconfig_docker']
|
|
99
|
+
if is_verbose:
|
|
100
|
+
print("📝 DEBUG: Writing Docker tsconfig to: {}".format(output_path))
|
|
101
|
+
write_fn(output_path, Utils.encode_json(content))
|
|
102
|
+
if is_verbose:
|
|
103
|
+
print("📝 DEBUG: Docker tsconfig write complete")
|
|
104
|
+
else:
|
|
105
|
+
output_path = resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['tsconfig_local']
|
|
106
|
+
if is_verbose:
|
|
107
|
+
print("📝 DEBUG: Writing Local tsconfig to: {}".format(output_path))
|
|
108
|
+
write_fn(output_path, Utils.encode_json(content))
|
|
109
|
+
|
|
110
|
+
DEBUG = {}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# Entry point for modular TSConfig provider
|
|
3
|
+
# =============================================================================
|
|
4
|
+
|
|
5
|
+
load("./backend_tsconfig.star", "generate_backend_tsconfig")
|
|
6
|
+
load("./frontend_tsconfig.star", "generate_frontend_tsconfig")
|
|
7
|
+
load("./prisma_config.star", "generate_prisma_config")
|
|
8
|
+
load("./frontend_library_tsconfig.star", "generate_frontend_library_tsconfig")
|
|
9
|
+
load("./backend_library_tsconfig.star", "generate_backend_library_tsconfig")
|
|
10
|
+
load("./playwright_config.star", "generate_playwright_config")
|
|
11
|
+
|
|
12
|
+
# =============================================================================
|
|
13
|
+
# TSConfig Struct - Public API
|
|
14
|
+
# =============================================================================
|
|
15
|
+
|
|
16
|
+
TSConfig = struct(
|
|
17
|
+
backend = generate_backend_tsconfig,
|
|
18
|
+
frontend = generate_frontend_tsconfig,
|
|
19
|
+
library_backend = generate_backend_library_tsconfig,
|
|
20
|
+
library_frontend = generate_frontend_library_tsconfig,
|
|
21
|
+
prisma = generate_prisma_config,
|
|
22
|
+
playwright = generate_playwright_config,
|
|
23
|
+
)
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# 🎭 TILT SDK - PLAYWRIGHT CONFIG GENERATOR (free-tier stub)
|
|
3
|
+
# =============================================================================
|
|
4
|
+
# Path: .tilt/providers/typescript/playwright_config.star
|
|
5
|
+
# =============================================================================
|
|
6
|
+
# The real generator is part of a paid TDK license. When a valid license
|
|
7
|
+
# grants the "playwright" resource, cli/src/generator/template-engine.ts
|
|
8
|
+
# (vendorTdkExtension) overwrites this file with the licensed version
|
|
9
|
+
# fetched via extension-fetch.ts before Tilt loads it. Same function
|
|
10
|
+
# signature either way, so nothing else in the generator pipeline changes.
|
|
11
|
+
# =============================================================================
|
|
12
|
+
|
|
13
|
+
load('../../../../topologies/tilt/common/utils.star', 'Utils')
|
|
14
|
+
load('../../../../topologies/tilt/manifest/constants.star', 'GENERATED_CONFIG_FILENAMES')
|
|
15
|
+
|
|
16
|
+
OUTPUT = struct(AUTOGENERATED_FOLDER = ".autogenerated")
|
|
17
|
+
|
|
18
|
+
_STUB_NOTICE = """// Playwright e2e config generation is a paid TDK feature.
|
|
19
|
+
// Run `tdk upgrade` to enable generated Playwright configs for this service.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def generate_playwright_config(resource_path, resource_type='backend', write_fn=None):
|
|
24
|
+
"""
|
|
25
|
+
Free-tier stub - see module header. Signature matches the licensed
|
|
26
|
+
implementation so callers never need to know which one is active.
|
|
27
|
+
"""
|
|
28
|
+
resource_name = resource_path.split('/')[-1]
|
|
29
|
+
header = Utils.get_template_header(
|
|
30
|
+
GENERATED_CONFIG_FILENAMES['playwright'],
|
|
31
|
+
'TypeScript.generate_playwright_config() [unlicensed stub]',
|
|
32
|
+
resource_name,
|
|
33
|
+
resource_type.upper()
|
|
34
|
+
)
|
|
35
|
+
content = header + _STUB_NOTICE
|
|
36
|
+
|
|
37
|
+
if write_fn:
|
|
38
|
+
write_fn(resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['playwright'], content)
|
|
39
|
+
|
|
40
|
+
return content
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# === INLINED CONSTANTS for pure extension loading ===
|
|
2
|
+
OUTPUT = struct(AUTOGENERATED_FOLDER = ".autogenerated")
|
|
3
|
+
# === END INLINED CONSTANTS ===
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
load("../../../../topologies/tilt/common/utils.star", "Utils")
|
|
7
|
+
load("../../../../topologies/tilt/manifest/constants.star", "GENERATED_CONFIG_FILENAMES")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# =============================================================================
|
|
11
|
+
# Prisma Config Generator
|
|
12
|
+
# =============================================================================
|
|
13
|
+
|
|
14
|
+
def generate_prisma_config(resource_path, resource_name, db_name, write_fn):
|
|
15
|
+
"""
|
|
16
|
+
Generate prisma.config.autogenerated.ts for Prisma v7 CLI configuration.
|
|
17
|
+
|
|
18
|
+
Args:
|
|
19
|
+
resource_path: Path to the resource directory
|
|
20
|
+
resource_name: Name of the resource
|
|
21
|
+
db_name: Name of the database
|
|
22
|
+
write_fn: Write function for file output
|
|
23
|
+
|
|
24
|
+
Returns:
|
|
25
|
+
str: Generated Prisma config content
|
|
26
|
+
"""
|
|
27
|
+
resource_display_name = resource_name
|
|
28
|
+
|
|
29
|
+
header = Utils.get_template_header(
|
|
30
|
+
GENERATED_CONFIG_FILENAMES['prisma'],
|
|
31
|
+
'TypeScript.prisma()',
|
|
32
|
+
resource_display_name,
|
|
33
|
+
'Prisma Configuration'
|
|
34
|
+
)
|
|
35
|
+
content = """/**
|
|
36
|
+
* AUTOGENERATED Prisma CLI Configuration - %s Service
|
|
37
|
+
*
|
|
38
|
+
* This config is used by Prisma CLI commands (generate, migrate, db push).
|
|
39
|
+
*/
|
|
40
|
+
export default {
|
|
41
|
+
schema: 'prisma/schema.prisma',
|
|
42
|
+
datasource: {
|
|
43
|
+
url: process.env.DATABASE_URL,
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
""" % (resource_name)
|
|
47
|
+
|
|
48
|
+
if write_fn:
|
|
49
|
+
write_fn(resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['prisma'], content)
|