@flisk-sh/flisk 0.0.0-stage → 1.3.190
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +492 -0
- package/LICENSE +21 -0
- package/README.md +479 -2
- package/Tiltfile +151 -0
- package/cli/bin/flisk.js +42 -0
- package/cli/dist/agent-runtimes/custom.js +335 -0
- package/cli/dist/agent-runtimes/registry.js +34 -0
- package/cli/dist/backend-frameworks/elysia.js +38 -0
- package/cli/dist/backend-frameworks/express.js +49 -0
- package/cli/dist/backend-frameworks/fastify.js +43 -0
- package/cli/dist/backend-frameworks/h3.js +37 -0
- package/cli/dist/backend-frameworks/koa.js +47 -0
- package/cli/dist/backend-frameworks/mcp.js +86 -0
- package/cli/dist/backend-frameworks/nestjs.js +55 -0
- package/cli/dist/backend-frameworks/registry.js +134 -0
- package/cli/dist/backend-frameworks/types.js +1 -0
- package/cli/dist/backend-languages/bun.js +76 -0
- package/cli/dist/backend-languages/go.js +125 -0
- package/cli/dist/backend-languages/node.js +122 -0
- package/cli/dist/backend-languages/python.js +94 -0
- package/cli/dist/backend-languages/registry.js +37 -0
- package/cli/dist/backend-languages/rust.js +82 -0
- package/cli/dist/backend-languages/types.js +1 -0
- package/cli/dist/cli.js +29 -0
- package/cli/dist/commands/__tests__/project-e2e-helpers.js +49 -0
- package/cli/dist/commands/__tests__/ui-loading-screen.test.js +16 -0
- package/cli/dist/commands/agent.js +182 -0
- package/cli/dist/commands/completion-candidates.js +116 -0
- package/cli/dist/commands/completion.js +843 -0
- package/cli/dist/commands/config.js +362 -0
- package/cli/dist/commands/doctor.js +1504 -0
- package/cli/dist/commands/down.js +114 -0
- package/cli/dist/commands/eject.js +108 -0
- package/cli/dist/commands/help.js +152 -0
- package/cli/dist/commands/import.js +164 -0
- package/cli/dist/commands/logs.js +119 -0
- package/cli/dist/commands/maintainers.js +102 -0
- package/cli/dist/commands/mcp.js +28 -0
- package/cli/dist/commands/networks.js +306 -0
- package/cli/dist/commands/project.js +447 -0
- package/cli/dist/commands/projects.js +103 -0
- package/cli/dist/commands/registry.js +53 -0
- package/cli/dist/commands/resource.js +992 -0
- package/cli/dist/commands/resources.js +127 -0
- package/cli/dist/commands/restart.js +89 -0
- package/cli/dist/commands/runtime.js +75 -0
- package/cli/dist/commands/stack.js +171 -0
- package/cli/dist/commands/stacks.js +71 -0
- package/cli/dist/commands/status.js +211 -0
- package/cli/dist/commands/ui.js +725 -0
- package/cli/dist/commands/up.js +609 -0
- package/cli/dist/commands/upgrade.js +840 -0
- package/cli/dist/commands/version.js +10 -0
- package/cli/dist/components/Accessible.js +11 -0
- package/cli/dist/components/BaseTooltip.js +30 -0
- package/cli/dist/components/DetailPanel.js +33 -0
- package/cli/dist/components/FileTree.js +51 -0
- package/cli/dist/components/ResourceSelectInput.js +42 -0
- package/cli/dist/components/ResourceTable.js +35 -0
- package/cli/dist/components/ServiceIssues.js +13 -0
- package/cli/dist/components/TUIHeader.js +27 -0
- package/cli/dist/components/TabBar.js +27 -0
- package/cli/dist/components/Tooltip.js +13 -0
- package/cli/dist/components/index.js +11 -0
- package/cli/dist/components/ui-theme.js +120 -0
- package/cli/dist/config/platform-standards.js +182 -0
- package/cli/dist/frontend-frameworks/lit.js +64 -0
- package/cli/dist/frontend-frameworks/preact.js +62 -0
- package/cli/dist/frontend-frameworks/qwik.js +61 -0
- package/cli/dist/frontend-frameworks/react.js +69 -0
- package/cli/dist/frontend-frameworks/registry.js +83 -0
- package/cli/dist/frontend-frameworks/solid.js +62 -0
- package/cli/dist/frontend-frameworks/svelte.js +67 -0
- package/cli/dist/frontend-frameworks/tanstack-router.js +101 -0
- package/cli/dist/frontend-frameworks/types.js +1 -0
- package/cli/dist/frontend-frameworks/vanilla.js +59 -0
- package/cli/dist/frontend-frameworks/vue.js +72 -0
- package/cli/dist/generator/__tests__/golden-helpers.js +43 -0
- package/cli/dist/generator/extension-fetch.js +291 -0
- package/cli/dist/generator/resource-templates.js +133 -0
- package/cli/dist/generator/template-engine.js +801 -0
- package/cli/dist/index.js +10 -0
- package/cli/dist/mcp/server.js +101 -0
- package/cli/dist/mcp/tools.js +351 -0
- package/cli/dist/program.js +37 -0
- package/cli/dist/types/index.js +38 -0
- package/cli/dist/utils/agent-host.js +36 -0
- package/cli/dist/utils/atomic-write.js +36 -0
- package/cli/dist/utils/bun-floor.js +9 -0
- package/cli/dist/utils/bun-requirement.js +10 -0
- package/cli/dist/utils/cache.js +63 -0
- package/cli/dist/utils/cold-preflight.js +257 -0
- package/cli/dist/utils/command-helpers.js +57 -0
- package/cli/dist/utils/constants.js +160 -0
- package/cli/dist/utils/discovery-context.js +71 -0
- package/cli/dist/utils/discovery-paths.js +93 -0
- package/cli/dist/utils/docker.js +34 -0
- package/cli/dist/utils/doctor-crashloop.js +161 -0
- package/cli/dist/utils/doctor-fix.js +391 -0
- package/cli/dist/utils/doctor-host.js +66 -0
- package/cli/dist/utils/doctor-report.js +78 -0
- package/cli/dist/utils/doctor-runtime.js +880 -0
- package/cli/dist/utils/doctor-starlark.js +132 -0
- package/cli/dist/utils/doctor-wiring.js +698 -0
- package/cli/dist/utils/down-cleanup.js +125 -0
- package/cli/dist/utils/env-validator.js +266 -0
- package/cli/dist/utils/errors.js +175 -0
- package/cli/dist/utils/exec-async.js +31 -0
- package/cli/dist/utils/file-helpers.js +104 -0
- package/cli/dist/utils/formatting.js +165 -0
- package/cli/dist/utils/generated-paths.js +51 -0
- package/cli/dist/utils/help-command.js +11 -0
- package/cli/dist/utils/host-port-config.js +140 -0
- package/cli/dist/utils/host-port-plan.js +100 -0
- package/cli/dist/utils/json-output.js +29 -0
- package/cli/dist/utils/machine-output.js +33 -0
- package/cli/dist/utils/paths.js +43 -0
- package/cli/dist/utils/platform.js +58 -0
- package/cli/dist/utils/port-assignment.js +75 -0
- package/cli/dist/utils/port-conflict-fix.js +25 -0
- package/cli/dist/utils/port-fallback-notice.js +17 -0
- package/cli/dist/utils/port-listener-probe.js +20 -0
- package/cli/dist/utils/project-config-defaults.js +17 -0
- package/cli/dist/utils/project-features.js +91 -0
- package/cli/dist/utils/project-templates.js +32 -0
- package/cli/dist/utils/prompt.js +97 -0
- package/cli/dist/utils/resource-features.js +184 -0
- package/cli/dist/utils/resource-kind.js +9 -0
- package/cli/dist/utils/schema-version-gate.js +45 -0
- package/cli/dist/utils/search-status.js +12 -0
- package/cli/dist/utils/secret-redaction.js +73 -0
- package/cli/dist/utils/service-config-checks.js +189 -0
- package/cli/dist/utils/service-manifest.js +254 -0
- package/cli/dist/utils/service-runtime-state.js +66 -0
- package/cli/dist/utils/service-urls.js +112 -0
- package/cli/dist/utils/services.js +360 -0
- package/cli/dist/utils/shared-infra.js +45 -0
- package/cli/dist/utils/shared-platform-postgres.js +232 -0
- package/cli/dist/utils/single-flight.js +21 -0
- package/cli/dist/utils/smoke.js +401 -0
- package/cli/dist/utils/spinner.js +40 -0
- package/cli/dist/utils/stack-features.js +15 -0
- package/cli/dist/utils/stack-status.js +14 -0
- package/cli/dist/utils/startup-report.js +78 -0
- package/cli/dist/utils/status-message.js +21 -0
- package/cli/dist/utils/status-ports.js +33 -0
- package/cli/dist/utils/suggestions.js +63 -0
- package/cli/dist/utils/tar.js +46 -0
- package/cli/dist/utils/tdk-version.js +51 -0
- package/cli/dist/utils/terminal-layout.js +19 -0
- package/cli/dist/utils/tilt-events.js +194 -0
- package/cli/dist/utils/tilt-logs.js +61 -0
- package/cli/dist/utils/tilt-port-owner.js +63 -0
- package/cli/dist/utils/tilt-process.js +54 -0
- package/cli/dist/utils/tilt-resource-state.js +32 -0
- package/cli/dist/utils/tilt-startup.js +49 -0
- package/cli/dist/utils/tilt-unreachable-message.js +9 -0
- package/cli/dist/utils/tilt.js +104 -0
- package/cli/dist/utils/ui-keymap.js +129 -0
- package/cli/dist/utils/ui-service-state.js +34 -0
- package/cli/dist/utils/up-only.js +28 -0
- package/cli/dist/utils/up-readiness.js +118 -0
- package/cli/dist/utils/url-actions.js +103 -0
- package/cli/dist/utils/validation.js +62 -0
- package/cli/dist/utils/which.js +56 -0
- package/cli/dist/utils/windows-doctor.js +176 -0
- package/cli/dist-bundle/chunk-6EA4DGCY.js +2 -0
- package/cli/dist-bundle/chunk-BZ4H7MM4.js +3 -0
- package/cli/dist-bundle/chunk-CLCUIDBH.js +510 -0
- package/cli/dist-bundle/cli.js +2017 -0
- package/cli/dist-bundle/cold-preflight-SY26O2IG.js +2 -0
- package/cli/dist-bundle/devtools-ZUHXW33W.js +5 -0
- package/cli/dist-bundle/extension-fetch-J4FFH7TJ.js +2 -0
- package/cli/package.json +83 -0
- package/cli/shared-platform-engineering/docker-templates/bun-hoisted-symlink-fix.sh +25 -0
- package/cli/shared-platform-engineering/docker-templates/infisical-entrypoint.sh +466 -0
- package/cli/shared-platform-engineering/docker-templates/install-deps.sh +154 -0
- package/cli/shared-platform-engineering/docker-templates/prisma-bun-client-link-fix.sh +14 -0
- package/cli/shared-platform-engineering/docker-templates/prisma-normalize-client.sh +58 -0
- package/cli/templates/.tiltignore.hbs +72 -0
- package/cli/templates/TILT_RESOURCE_DEFAULTS.star.hbs +220 -0
- package/cli/templates/TILT_TECH_STACK.star.hbs +149 -0
- package/cli/templates/Tiltfile.hbs +381 -0
- package/cli/templates/spec.master.hbs +192 -0
- package/discovery/AGENTS.md +362 -0
- package/discovery/TILT_DISCOVERY.star +429 -0
- package/discovery/Tiltfile +58 -0
- package/discovery/config.star +265 -0
- package/discovery/constants.star +167 -0
- package/discovery/deterministic.star +213 -0
- package/discovery/discovery_daemon.star +193 -0
- package/discovery/discovery_orchestrator.star +492 -0
- package/discovery/filtering.star +7 -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 +215 -0
- package/discovery/indexing.star +9 -0
- package/discovery/json_manifest_scanner.star +57 -0
- package/discovery/libraries.star +48 -0
- package/discovery/loading.star +25 -0
- package/discovery/manifest/constants.star +106 -0
- package/discovery/manifest/loading.star +418 -0
- package/discovery/manifest/normalize.star +289 -0
- package/discovery/manifest/validation.star +110 -0
- package/discovery/normalization.star +13 -0
- package/discovery/registry.star +562 -0
- package/discovery/resource_snapshot.py +384 -0
- package/discovery/resource_snapshot.star +145 -0
- package/discovery/schemas.star +3 -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 +253 -0
- package/discovery/validation.star +80 -0
- package/discovery/versioning.star +3 -0
- package/engine/AGENTS.md +706 -0
- package/engine/README.md +31 -0
- package/engine/REFACTORING_MANIFEST_SYSTEM.md +974 -0
- package/engine/Tiltfile +86 -0
- package/engine/assets/docker/golden-layers.Dockerfile +204 -0
- package/engine/assets/docker/wake-gateway/Dockerfile +28 -0
- package/engine/assets/docker/wake-gateway/decide.test.ts +177 -0
- package/engine/assets/docker/wake-gateway/decide.ts +135 -0
- package/engine/assets/docker/wake-gateway/server.ts +363 -0
- package/engine/assets/scripts/cleanup-completed-migrator-images.sh +39 -0
- package/engine/assets/scripts/cleanup-tilt-images.sh +122 -0
- package/engine/assets/scripts/mac-m1-resource-monitor.sh +123 -0
- package/engine/config.star +5 -0
- package/engine/entrypoint.star +101 -0
- package/engine/lifecycle/orchestrator.star +263 -0
- package/engine/paths.star +719 -0
- package/engine/schemas/project-schema.json +147 -0
- package/engine/schemas/service-schema.json +537 -0
- package/engine/scripts/README.md +89 -0
- package/engine/scripts/build-and-publish-lib.sh +207 -0
- package/engine/scripts/check-lib-publish.sh +87 -0
- package/engine/scripts/debug-container.sh +265 -0
- package/engine/scripts/generate-manifest.sh +200 -0
- package/engine/spec.master +702 -0
- package/engine/spec.master.example +341 -0
- package/engine/topologies/README.md +33 -0
- package/engine/topologies/platform/docker/AGENTS.md +59 -0
- package/engine/topologies/platform/docker/auth/auth.star +207 -0
- package/engine/topologies/platform/docker/build/frontend_build_plan.star +65 -0
- package/engine/topologies/platform/docker/build/golden_image.star +37 -0
- package/engine/topologies/platform/docker/build/golden_image_build.star +144 -0
- package/engine/topologies/platform/docker/build/golden_image_constants.star +100 -0
- package/engine/topologies/platform/docker/build/golden_image_dockerfile.star +263 -0
- package/engine/topologies/platform/docker/compose/compose.star +637 -0
- package/engine/topologies/platform/docker/compose/compose_helpers.star +54 -0
- package/engine/topologies/platform/docker/compose/traefik_standalone.star +171 -0
- package/engine/topologies/platform/docker/config/bunignore.star +144 -0
- package/engine/topologies/platform/docker/config/dockerignore.star +152 -0
- package/engine/topologies/platform/docker/config/healthcheck.star +58 -0
- package/engine/topologies/platform/docker/constants.star +211 -0
- package/engine/topologies/platform/docker/dockerfile/dockerfile.star +56 -0
- package/engine/topologies/platform/docker/dockerfile/language_dockerfile.star +264 -0
- package/engine/topologies/platform/docker/generators/golden_docker_generator_v2.star +76 -0
- package/engine/topologies/platform/docker/index.star +40 -0
- package/engine/topologies/platform/docker/layers/bun_helpers.star +25 -0
- package/engine/topologies/platform/docker/layers/infisical/index.star +42 -0
- package/engine/topologies/platform/docker/layers/infisical/infisical_docker.star +264 -0
- package/engine/topologies/platform/docker/layers/l1_base_layers.star +89 -0
- package/engine/topologies/platform/docker/layers/l2_dependency_layers.star +147 -0
- package/engine/topologies/platform/docker/layers/l3_builder_layers.star +229 -0
- package/engine/topologies/platform/docker/layers/l4_runtime_layers.star +282 -0
- package/engine/topologies/platform/docker/layers/prisma/constants.star +138 -0
- package/engine/topologies/platform/docker/layers/prisma/db_readiness.star +98 -0
- package/engine/topologies/platform/docker/layers/prisma/filesystem_setup.star +131 -0
- package/engine/topologies/platform/docker/layers/prisma/migrate_script.star +100 -0
- package/engine/topologies/platform/docker/layers/prisma/prisma_build.star +128 -0
- package/engine/topologies/platform/docker/layers/prisma/prisma_runtime.star +205 -0
- package/engine/topologies/platform/docker/layers/prisma/secret_resolution.star +121 -0
- package/engine/topologies/platform/docker/networking/api_path_constants.star +206 -0
- package/engine/topologies/platform/docker/networking/sablier_container_cycle.star +31 -0
- package/engine/topologies/platform/docker/networking/traefik.star +266 -0
- package/engine/topologies/platform/docker/networking/traefik_constants.star +148 -0
- package/engine/topologies/platform/docker/networking/traefik_helpers.star +162 -0
- package/engine/topologies/platform/docker/networking/traefik_static_routes.star +165 -0
- package/engine/topologies/platform/docker/secrets/env_secrets.star +74 -0
- package/engine/topologies/platform/docker/secrets/infisical.star +109 -0
- package/engine/topologies/platform/net/AGENTS.md +64 -0
- package/engine/topologies/platform/net/proxy.star +6 -0
- package/engine/topologies/platform/registries/local.star +6 -0
- package/engine/topologies/platform/registries/verdaccio_loader.star +20 -0
- package/engine/topologies/platform/security/AGENTS.md +49 -0
- package/engine/topologies/platform/security/secrets.star +241 -0
- package/engine/topologies/platform/state/AGENTS.md +64 -0
- package/engine/topologies/platform/state/relational.star +6 -0
- package/engine/topologies/tilt/common/AGENTS.md +59 -0
- package/engine/topologies/tilt/common/utils.star +409 -0
- package/engine/topologies/tilt/common/utils_debug.star +71 -0
- package/engine/topologies/tilt/common/utils_deterministic.star +170 -0
- package/engine/topologies/tilt/common/utils_docker_networks.star +54 -0
- package/engine/topologies/tilt/common/utils_env.star +92 -0
- package/engine/topologies/tilt/common/utils_output.star +99 -0
- package/engine/topologies/tilt/config/AGENTS.md +68 -0
- package/engine/topologies/tilt/config/defaults.star +5 -0
- package/engine/topologies/tilt/config/feature_flags.star +12 -0
- package/engine/topologies/tilt/config/global.star +57 -0
- package/engine/topologies/tilt/config/profiles.star +398 -0
- package/engine/topologies/tilt/generators/agents_md.star +64 -0
- package/engine/topologies/tilt/generators/api_gateway.star +147 -0
- package/engine/topologies/tilt/generators/index.star +126 -0
- package/engine/topologies/tilt/generators/infisical/README.md +424 -0
- package/engine/topologies/tilt/generators/infisical/examples.star +314 -0
- package/engine/topologies/tilt/generators/infisical/index.star +59 -0
- package/engine/topologies/tilt/generators/infisical/machine_identity.star +422 -0
- package/engine/topologies/tilt/generators/infisical/organization.star +536 -0
- package/engine/topologies/tilt/generators/infisical/path_manager.star +478 -0
- package/engine/topologies/tilt/generators/infisical/secrets_generator.star +422 -0
- package/engine/topologies/tilt/generators/nginx_conf.star +145 -0
- package/engine/topologies/tilt/generators/npmrc.star +132 -0
- package/engine/topologies/tilt/generators/tsconfig.star +25 -0
- package/engine/topologies/tilt/generators/typescript/backend_library_tsconfig.star +73 -0
- package/engine/topologies/tilt/generators/typescript/backend_tsconfig.star +137 -0
- package/engine/topologies/tilt/generators/typescript/common.star +9 -0
- package/engine/topologies/tilt/generators/typescript/frontend_library_tsconfig.star +78 -0
- package/engine/topologies/tilt/generators/typescript/frontend_tsconfig.star +140 -0
- package/engine/topologies/tilt/generators/typescript/include.star +25 -0
- package/engine/topologies/tilt/generators/typescript/playwright_config.star +42 -0
- package/engine/topologies/tilt/generators/typescript/prisma_config.star +51 -0
- package/engine/topologies/tilt/generators/validators.star +868 -0
- package/engine/topologies/tilt/generators/vite/backend.star +80 -0
- package/engine/topologies/tilt/generators/vite/frameworks/lit.star +92 -0
- package/engine/topologies/tilt/generators/vite/frameworks/preact.star +94 -0
- package/engine/topologies/tilt/generators/vite/frameworks/qwik.star +94 -0
- package/engine/topologies/tilt/generators/vite/frameworks/react.star +128 -0
- package/engine/topologies/tilt/generators/vite/frameworks/solid.star +94 -0
- package/engine/topologies/tilt/generators/vite/frameworks/svelte.star +94 -0
- package/engine/topologies/tilt/generators/vite/frameworks/vanilla.star +92 -0
- package/engine/topologies/tilt/generators/vite/frameworks/vue.star +94 -0
- package/engine/topologies/tilt/generators/vite/frontend.star +153 -0
- package/engine/topologies/tilt/generators/vite/generators.star +45 -0
- package/engine/topologies/tilt/generators/vite/helpers.star +256 -0
- package/engine/topologies/tilt/generators/vite/library.star +67 -0
- package/engine/topologies/tilt/generators/vite/sdk.star +75 -0
- package/engine/topologies/tilt/generators/vite/templates.star +460 -0
- package/engine/topologies/tilt/generators/vite_config.star +24 -0
- package/engine/topologies/tilt/manifest/AGENTS.md +61 -0
- package/engine/topologies/tilt/manifest/README.md +679 -0
- package/engine/topologies/tilt/manifest/__init__.star +220 -0
- package/engine/topologies/tilt/manifest/constants.star +262 -0
- package/engine/topologies/tilt/manifest/errors.star +268 -0
- package/engine/topologies/tilt/manifest/integration.star +348 -0
- package/engine/topologies/tilt/manifest/json_to_yaml.py +61 -0
- package/engine/topologies/tilt/manifest/loader.star +239 -0
- package/engine/topologies/tilt/manifest/mapper.star +229 -0
- package/engine/topologies/tilt/manifest/parser.star +490 -0
- package/engine/topologies/tilt/manifest/schema.star +502 -0
- package/engine/topologies/tilt/manifest/tests/test_integration.star +278 -0
- package/engine/topologies/tilt/manifest/tests/test_loader_parser.star +475 -0
- package/engine/topologies/tilt/manifest/tests/test_manifest.star +319 -0
- package/engine/topologies/tilt/manifest/tests/test_validator.star +472 -0
- package/engine/topologies/tilt/manifest/validator.star +744 -0
- package/engine/topologies/tilt/manifest/yaml_to_json.py +20 -0
- package/engine/topologies/tilt/resources/AGENTS.md +71 -0
- package/engine/topologies/tilt/resources/build_concurrency.star +56 -0
- package/engine/topologies/tilt/resources/conditions.star +5 -0
- package/engine/topologies/tilt/resources/databases.star +246 -0
- package/engine/topologies/tilt/resources/declaration.star +5 -0
- package/engine/topologies/tilt/resources/deps.star +5 -0
- package/engine/topologies/tilt/resources/infra-loader.star +504 -0
- package/engine/topologies/tilt/resources/libs.star +32 -0
- package/engine/topologies/tilt/resources/libs_discovery.star +104 -0
- package/engine/topologies/tilt/resources/libs_paths.star +81 -0
- package/engine/topologies/tilt/resources/libs_resource_definition.star +153 -0
- package/engine/topologies/tilt/resources/libs_setup.star +166 -0
- package/engine/topologies/tilt/resources/libs_tsconfig.star +39 -0
- package/engine/topologies/tilt/resources/orchestrator/apply.star +79 -0
- package/engine/topologies/tilt/resources/orchestrator/apply_compose_resource_registration.star +864 -0
- package/engine/topologies/tilt/resources/orchestrator/apply_manifest_orchestration.star +90 -0
- package/engine/topologies/tilt/resources/orchestrator/apply_migrator_orchestration.star +150 -0
- package/engine/topologies/tilt/resources/orchestrator/apply_resource_validation.star +38 -0
- package/engine/topologies/tilt/resources/orchestrator/apply_runtime_flags.star +46 -0
- package/engine/topologies/tilt/resources/orchestrator/builders/typescript.star +193 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/dependencies/AGENTS.md +75 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/dependencies/index.star +23 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/dependencies/resolver.star +136 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/env.star +219 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/frontend.star +172 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/manifest_resource.star +577 -0
- package/engine/topologies/tilt/resources/orchestrator/helpers.star +35 -0
- package/engine/topologies/tilt/resources/orchestrator.star +56 -0
- package/engine/topologies/tilt/resources/ordering.star +5 -0
- package/engine/topologies/tilt/resources/shared-platform-postgres.star +30 -0
- package/engine/topologies/tilt/resources/triggers.star +5 -0
- package/engine/topologies/tilt/resources/watchers.star +304 -0
- package/engine/where-things-live.star +719 -0
- package/examples/tdk-example/LICENSE +21 -0
- package/examples/tdk-example/README.md +23 -0
- package/examples/tdk-example/TILT_SERVICE_DEFAULTS.star +42 -0
- package/examples/tdk-example/TILT_TECH_STACK.star +67 -0
- package/examples/tdk-example/Tiltfile +25 -0
- package/examples/tdk-example/services/platform/messaging/docker-compose.yml +26 -0
- package/examples/tdk-example/services/shop/orders-api/package.json +20 -0
- package/examples/tdk-example/services/shop/orders-api/service.json +14 -0
- package/examples/tdk-example/services/shop/orders-api/src/index.ts +81 -0
- package/examples/tdk-example/services/shop/orders-app/index.html +12 -0
- package/examples/tdk-example/services/shop/orders-app/package.json +23 -0
- package/examples/tdk-example/services/shop/orders-app/public/.gitkeep +0 -0
- package/examples/tdk-example/services/shop/orders-app/service.json +9 -0
- package/examples/tdk-example/services/shop/orders-app/src/main.tsx +9 -0
- package/examples/tdk-example/services/shop/orders-app/src/orders.tsx +67 -0
- package/examples/tdk-example/services/shop/orders-app/src/style.css +15 -0
- package/examples/tdk-example/services/shop/orders-worker/package.json +18 -0
- package/examples/tdk-example/services/shop/orders-worker/service.json +13 -0
- package/examples/tdk-example/services/shop/orders-worker/src/index.ts +33 -0
- package/ext/Tiltfile +66 -0
- package/ext/ide-components/README.md +221 -0
- package/ext/ide-components/code_viewer/server.py +208 -0
- package/ext/ide-components/config_inspector/server.py +1052 -0
- package/ext/ide-components/file_browser/server.py +287 -0
- package/ext/ide-components/shared/config_service.py +471 -0
- package/ext/ide-components/shared/file_utils.py +300 -0
- package/ext/ide-components/shared/http_utils.py +234 -0
- package/ext/ide-components/shared/static/styles.css +1334 -0
- package/ext/ide-components/shared/syntax_highlighter.py +142 -0
- package/ext/ide-components/shared/template_engine.py +125 -0
- package/ext/ide-components/shared/templates/base.html +121 -0
- package/ext/ide-components/shared/test_config_service.py +328 -0
- package/ext/ide-components/shared/tilt_integration.py +160 -0
- package/ext/ui-enhancements/cron-status-server.sh +51 -0
- package/ext/ui-enhancements/cron-status-tracker.sh +148 -0
- package/ext/ui-enhancements/extension.yaml +36 -0
- package/ext/ui-enhancements/tiltfile.py +101 -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 +94 -4
- package/shared-platform-engineering/docker-templates/bun-hoisted-symlink-fix.sh +25 -0
- package/shared-platform-engineering/docker-templates/infisical-entrypoint.sh +466 -0
- package/shared-platform-engineering/docker-templates/install-deps.sh +154 -0
- package/shared-platform-engineering/docker-templates/prisma-bun-client-link-fix.sh +14 -0
- package/shared-platform-engineering/docker-templates/prisma-normalize-client.sh +58 -0
- package/specs/specs/TILT_SERVICE_DEFAULTS.star +207 -0
- package/specs/specs/TILT_TECH_STACK.star +161 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Copyright (c) 2026 Flisk Landscape contributors
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
# =============================================================================
|
|
4
|
+
# Entry point for modular TSConfig provider
|
|
5
|
+
# =============================================================================
|
|
6
|
+
|
|
7
|
+
load("./typescript/backend_tsconfig.star", "generate_backend_tsconfig")
|
|
8
|
+
load("./typescript/frontend_tsconfig.star", "generate_frontend_tsconfig")
|
|
9
|
+
load("./typescript/prisma_config.star", "generate_prisma_config")
|
|
10
|
+
load("./typescript/frontend_library_tsconfig.star", "generate_frontend_library_tsconfig")
|
|
11
|
+
load("./typescript/backend_library_tsconfig.star", "generate_backend_library_tsconfig")
|
|
12
|
+
load("./typescript/playwright_config.star", "generate_playwright_config")
|
|
13
|
+
|
|
14
|
+
# =============================================================================
|
|
15
|
+
# TSConfig Struct - Public API
|
|
16
|
+
# =============================================================================
|
|
17
|
+
|
|
18
|
+
TSConfig = struct(
|
|
19
|
+
backend = generate_backend_tsconfig,
|
|
20
|
+
frontend = generate_frontend_tsconfig,
|
|
21
|
+
library_backend = generate_backend_library_tsconfig,
|
|
22
|
+
library_frontend = generate_frontend_library_tsconfig,
|
|
23
|
+
prisma = generate_prisma_config,
|
|
24
|
+
playwright = generate_playwright_config,
|
|
25
|
+
)
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Copyright (c) 2026 Flisk Landscape contributors
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
# === INLINED CONSTANTS for pure extension loading ===
|
|
4
|
+
OUTPUT = struct(AUTOGENERATED_FOLDER = ".autogenerated")
|
|
5
|
+
# === END INLINED CONSTANTS ===
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
load("../../../../topologies/tilt/common/utils.star", "Utils")
|
|
9
|
+
load("../../../../topologies/tilt/manifest/constants.star", "GENERATED_CONFIG_FILENAMES")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
# =============================================================================
|
|
13
|
+
# Backend Library TSConfig Generator (no JSX)
|
|
14
|
+
# =============================================================================
|
|
15
|
+
|
|
16
|
+
def generate_backend_library_tsconfig(resource_path, write_fn, internal_deps=None, is_docker=True):
|
|
17
|
+
"""
|
|
18
|
+
Generate tsconfig for backend shared libraries (no JSX).
|
|
19
|
+
|
|
20
|
+
Args:
|
|
21
|
+
resource_path: Path to the resource directory
|
|
22
|
+
write_fn: Write function for file output
|
|
23
|
+
internal_deps: Optional internal dependencies map
|
|
24
|
+
is_docker: Whether generating for Docker context
|
|
25
|
+
|
|
26
|
+
Returns:
|
|
27
|
+
dict: Generated tsconfig content
|
|
28
|
+
"""
|
|
29
|
+
base_url = "." if is_docker else ".."
|
|
30
|
+
out_dir = "./dist" if is_docker else "../dist"
|
|
31
|
+
include_src = "src" if is_docker else "../src"
|
|
32
|
+
exclude_prefix = "" if is_docker else "../"
|
|
33
|
+
paths = {
|
|
34
|
+
"@/*": ["./src/*"],
|
|
35
|
+
"@application/*": ["./src/application/*"],
|
|
36
|
+
"@domain/*": ["./src/domain/*"],
|
|
37
|
+
"@infrastructure/*": ["./src/infrastructure/*"],
|
|
38
|
+
"@presentation/*": ["./src/presentation/*"],
|
|
39
|
+
}
|
|
40
|
+
# NOTE: Do not add internal workspace path mappings for libraries.
|
|
41
|
+
# These mappings pull external sources into the program and break
|
|
42
|
+
# library builds that compile with `--rootDir src`.
|
|
43
|
+
content = {
|
|
44
|
+
"compilerOptions": {
|
|
45
|
+
"target": "ES2022",
|
|
46
|
+
"module": "ES2022",
|
|
47
|
+
"moduleResolution": "node",
|
|
48
|
+
"baseUrl": base_url,
|
|
49
|
+
"declaration": True,
|
|
50
|
+
"declarationMap": True,
|
|
51
|
+
"outDir": out_dir,
|
|
52
|
+
"paths": paths,
|
|
53
|
+
"skipLibCheck": True,
|
|
54
|
+
"strict": True,
|
|
55
|
+
"emitDecoratorMetadata": True,
|
|
56
|
+
"experimentalDecorators": True,
|
|
57
|
+
"esModuleInterop": True,
|
|
58
|
+
"forceConsistentCasingInFileNames": True
|
|
59
|
+
},
|
|
60
|
+
"exclude": [
|
|
61
|
+
exclude_prefix + "node_modules",
|
|
62
|
+
exclude_prefix + "dist",
|
|
63
|
+
exclude_prefix + "__tests__/**/*",
|
|
64
|
+
exclude_prefix + "**/*.test.ts",
|
|
65
|
+
exclude_prefix + "**/*.test.tsx",
|
|
66
|
+
exclude_prefix + "**/tests/**",
|
|
67
|
+
],
|
|
68
|
+
"include": [include_src + "/**/*"]
|
|
69
|
+
}
|
|
70
|
+
if is_docker:
|
|
71
|
+
write_fn(resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['tsconfig_docker'], Utils.encode_json(content))
|
|
72
|
+
else:
|
|
73
|
+
write_fn(resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['tsconfig_local'], Utils.encode_json(content))
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Copyright (c) 2026 Flisk contributors
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
# === INLINED CONSTANTS for pure extension loading ===
|
|
4
|
+
OUTPUT = struct(AUTOGENERATED_FOLDER = ".autogenerated")
|
|
5
|
+
# === END INLINED CONSTANTS ===
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
load("../../../../topologies/tilt/common/utils.star", "Utils")
|
|
9
|
+
load("../../../../topologies/tilt/manifest/constants.star", "GENERATED_CONFIG_FILENAMES")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
# =============================================================================
|
|
13
|
+
# Backend TSConfig Generator
|
|
14
|
+
# =============================================================================
|
|
15
|
+
|
|
16
|
+
def generate_backend_tsconfig(resource_path, prisma_path, write_fn, internal_deps=None, is_docker=True, features=None):
|
|
17
|
+
"""
|
|
18
|
+
Generate tsconfig for backend services.
|
|
19
|
+
|
|
20
|
+
Args:
|
|
21
|
+
resource_path: Path to the service directory
|
|
22
|
+
prisma_path: Path to Prisma client
|
|
23
|
+
write_fn: Write function for file output
|
|
24
|
+
internal_deps: Optional internal dependencies map
|
|
25
|
+
is_docker: Whether generating for Docker context
|
|
26
|
+
features: Resource's service.json features: [] array (for the premium
|
|
27
|
+
"ddd" feature - see generate_backend_path_aliases() in vite/helpers.star)
|
|
28
|
+
"""
|
|
29
|
+
# When tsconfig is in .autogenerated/ folder, paths are relative to parent
|
|
30
|
+
paths = {
|
|
31
|
+
"@/*": ["../src/*"],
|
|
32
|
+
"@prisma/client": [prisma_path]
|
|
33
|
+
}
|
|
34
|
+
# DDD is premium - same gate as generate_backend_path_aliases() in vite/helpers.star.
|
|
35
|
+
ddd_enabled = features and 'ddd' in features and os.environ.get('TDK_LICENSE_KEY', '') != ''
|
|
36
|
+
if ddd_enabled:
|
|
37
|
+
paths["@application/*"] = ["../src/application/*"]
|
|
38
|
+
paths["@domain/*"] = ["../src/domain/*"]
|
|
39
|
+
paths["@infrastructure/*"] = ["../src/infrastructure/*"]
|
|
40
|
+
paths["@presentation/*"] = ["../src/presentation/*"]
|
|
41
|
+
root_dir = "../src"
|
|
42
|
+
if internal_deps and not is_docker:
|
|
43
|
+
sorted_deps = sorted(internal_deps.items())
|
|
44
|
+
depth = len([segment for segment in resource_path.split('/') if segment])
|
|
45
|
+
rel_to_root = "../" * depth
|
|
46
|
+
for pkg_name, src_path in sorted_deps:
|
|
47
|
+
paths[pkg_name] = [rel_to_root + src_path + "/src"]
|
|
48
|
+
paths[pkg_name + "/*"] = [rel_to_root + src_path + "/src/*"]
|
|
49
|
+
compiler_options = {
|
|
50
|
+
"target": "ES2022",
|
|
51
|
+
"module": "ES2022",
|
|
52
|
+
"moduleResolution": "bundler",
|
|
53
|
+
"paths": paths,
|
|
54
|
+
"skipLibCheck": True,
|
|
55
|
+
"strict": True,
|
|
56
|
+
"experimentalDecorators": True,
|
|
57
|
+
"emitDecoratorMetadata": True,
|
|
58
|
+
"esModuleInterop": True,
|
|
59
|
+
"forceConsistentCasingInFileNames": True,
|
|
60
|
+
"resolveJsonModule": True,
|
|
61
|
+
"allowSyntheticDefaultImports": True,
|
|
62
|
+
"outDir": "../dist",
|
|
63
|
+
"rootDir": root_dir,
|
|
64
|
+
# "bun" (not "node"): @types/bun is a direct devDependency so it's always
|
|
65
|
+
# linked at the top level under any linker mode (including Docker's
|
|
66
|
+
# isolated linker), while @types/node is only a transitive dependency of
|
|
67
|
+
# bun-types and isn't hoisted to the top level under the isolated linker -
|
|
68
|
+
# "types": ["node"] fails to resolve there even though it works locally.
|
|
69
|
+
"types": ["node"],
|
|
70
|
+
}
|
|
71
|
+
content = {
|
|
72
|
+
"compilerOptions": compiler_options,
|
|
73
|
+
"exclude": [
|
|
74
|
+
"node_modules",
|
|
75
|
+
"dist",
|
|
76
|
+
"../__tests__/**/*",
|
|
77
|
+
"../**/*.test.ts",
|
|
78
|
+
"../**/tests/**/*",
|
|
79
|
+
"../src/legacy/**/*",
|
|
80
|
+
"../**/*.steps.ts",
|
|
81
|
+
"../**/*.spec.ts"
|
|
82
|
+
],
|
|
83
|
+
"include": ["../src/**/*"]
|
|
84
|
+
}
|
|
85
|
+
if is_docker:
|
|
86
|
+
# Docker tsconfig is copied to service root, so paths are relative to root
|
|
87
|
+
docker_paths = {
|
|
88
|
+
"@/*": ["./src/*"],
|
|
89
|
+
"@application/*": ["./src/application/*"],
|
|
90
|
+
"@domain/*": ["./src/domain/*"],
|
|
91
|
+
"@infrastructure/*": ["./src/infrastructure/*"],
|
|
92
|
+
"@presentation/*": ["./src/presentation/*"],
|
|
93
|
+
"@prisma/client": [prisma_path]
|
|
94
|
+
}
|
|
95
|
+
docker_root_dir = "./src"
|
|
96
|
+
if internal_deps:
|
|
97
|
+
sorted_deps = sorted(internal_deps.items())
|
|
98
|
+
depth = len([segment for segment in resource_path.split('/') if segment])
|
|
99
|
+
rel_to_root = "../" * depth
|
|
100
|
+
for pkg_name, src_path in sorted_deps:
|
|
101
|
+
docker_paths[pkg_name] = [rel_to_root + src_path + "/src"]
|
|
102
|
+
docker_paths[pkg_name + "/*"] = [rel_to_root + src_path + "/src/*"]
|
|
103
|
+
docker_compiler_options = {
|
|
104
|
+
"target": "ES2022",
|
|
105
|
+
"module": "ES2022",
|
|
106
|
+
"moduleResolution": "bundler",
|
|
107
|
+
"paths": docker_paths,
|
|
108
|
+
"skipLibCheck": True,
|
|
109
|
+
"strict": True,
|
|
110
|
+
"experimentalDecorators": True,
|
|
111
|
+
"emitDecoratorMetadata": True,
|
|
112
|
+
"esModuleInterop": True,
|
|
113
|
+
"forceConsistentCasingInFileNames": True,
|
|
114
|
+
"resolveJsonModule": True,
|
|
115
|
+
"allowSyntheticDefaultImports": True,
|
|
116
|
+
"outDir": "./dist",
|
|
117
|
+
"rootDir": docker_root_dir,
|
|
118
|
+
# See note above: "bun" resolves under the isolated linker, "node" doesn't.
|
|
119
|
+
"types": ["node"],
|
|
120
|
+
}
|
|
121
|
+
docker_content = {
|
|
122
|
+
"compilerOptions": docker_compiler_options,
|
|
123
|
+
"exclude": [
|
|
124
|
+
"node_modules",
|
|
125
|
+
"dist",
|
|
126
|
+
"./__tests__/**/*",
|
|
127
|
+
"./**/*.test.ts",
|
|
128
|
+
"./**/tests/**/*",
|
|
129
|
+
"./src/legacy/**/*",
|
|
130
|
+
"./**/*.steps.ts",
|
|
131
|
+
"./**/*.spec.ts"
|
|
132
|
+
],
|
|
133
|
+
"include": ["./src/**/*"]
|
|
134
|
+
}
|
|
135
|
+
write_fn(resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['tsconfig_docker'], Utils.encode_json(docker_content))
|
|
136
|
+
else:
|
|
137
|
+
write_fn(resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['tsconfig_local'], Utils.encode_json(content))
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2026 Flisk Landscape contributors
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
# =============================================================================
|
|
4
|
+
# Common helpers/constants for TSConfig providers
|
|
5
|
+
# =============================================================================
|
|
6
|
+
|
|
7
|
+
load("../../../../topologies/tilt/common/utils.star", "Utils")
|
|
8
|
+
|
|
9
|
+
# Add any shared helpers/constants here as needed.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Copyright (c) 2026 Flisk Landscape contributors
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
# === INLINED CONSTANTS for pure extension loading ===
|
|
4
|
+
OUTPUT = struct(AUTOGENERATED_FOLDER = ".autogenerated")
|
|
5
|
+
# === END INLINED CONSTANTS ===
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
load("../../../../topologies/tilt/common/utils.star", "Utils")
|
|
9
|
+
load("../../../../topologies/tilt/manifest/constants.star", "GENERATED_CONFIG_FILENAMES")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
# =============================================================================
|
|
13
|
+
# Frontend Library TSConfig Generator (with JSX)
|
|
14
|
+
# =============================================================================
|
|
15
|
+
|
|
16
|
+
def generate_frontend_library_tsconfig(resource_path, write_fn, internal_deps=None, is_docker=True):
|
|
17
|
+
"""
|
|
18
|
+
Generate tsconfig for frontend shared libraries (with JSX support).
|
|
19
|
+
|
|
20
|
+
Args:
|
|
21
|
+
resource_path: Path to the resource directory
|
|
22
|
+
write_fn: Write function for file output
|
|
23
|
+
internal_deps: Optional internal dependencies map
|
|
24
|
+
is_docker: Whether generating for Docker context
|
|
25
|
+
|
|
26
|
+
Returns:
|
|
27
|
+
dict: Generated tsconfig content
|
|
28
|
+
"""
|
|
29
|
+
base_url = "." if is_docker else ".."
|
|
30
|
+
out_dir = "./dist" if is_docker else "../dist"
|
|
31
|
+
include_src = "src" if is_docker else "../src"
|
|
32
|
+
exclude_prefix = "" if is_docker else "../"
|
|
33
|
+
paths = {
|
|
34
|
+
"@/*": ["./src/*"],
|
|
35
|
+
"@application/*": ["./src/application/*"],
|
|
36
|
+
"@domain/*": ["./src/domain/*"],
|
|
37
|
+
"@infrastructure/*": ["./src/infrastructure/*"],
|
|
38
|
+
"@presentation/*": ["./src/presentation/*"],
|
|
39
|
+
}
|
|
40
|
+
# NOTE: Do not add internal workspace path mappings for libraries.
|
|
41
|
+
# These mappings pull external sources into the program and break
|
|
42
|
+
# library builds that compile with `--rootDir src`.
|
|
43
|
+
content = {
|
|
44
|
+
"compilerOptions": {
|
|
45
|
+
"target": "ES2022",
|
|
46
|
+
"module": "ESNext",
|
|
47
|
+
"moduleResolution": "bundler",
|
|
48
|
+
"lib": ["DOM", "DOM.Iterable", "ESNext"],
|
|
49
|
+
"baseUrl": base_url,
|
|
50
|
+
"outDir": out_dir,
|
|
51
|
+
"rootDir": "src" if is_docker else "../src",
|
|
52
|
+
"paths": paths,
|
|
53
|
+
"skipLibCheck": True,
|
|
54
|
+
"strict": True,
|
|
55
|
+
"emitDecoratorMetadata": True,
|
|
56
|
+
"experimentalDecorators": True,
|
|
57
|
+
"esModuleInterop": True,
|
|
58
|
+
"forceConsistentCasingInFileNames": True,
|
|
59
|
+
"jsx": "react-jsx",
|
|
60
|
+
"allowSyntheticDefaultImports": True,
|
|
61
|
+
"resolveJsonModule": True
|
|
62
|
+
},
|
|
63
|
+
"exclude": [
|
|
64
|
+
exclude_prefix + "node_modules",
|
|
65
|
+
exclude_prefix + "dist",
|
|
66
|
+
exclude_prefix + "__tests__/**/*",
|
|
67
|
+
exclude_prefix + "**/*.test.ts",
|
|
68
|
+
exclude_prefix + "**/*.test.tsx",
|
|
69
|
+
exclude_prefix + "**/tests/**",
|
|
70
|
+
exclude_prefix + "**/*.stories.ts",
|
|
71
|
+
exclude_prefix + "**/*.stories.tsx",
|
|
72
|
+
],
|
|
73
|
+
"include": [include_src + "/**/*", include_src + "/**/*.tsx"]
|
|
74
|
+
}
|
|
75
|
+
if is_docker:
|
|
76
|
+
write_fn(resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['tsconfig_docker'], Utils.encode_json(content))
|
|
77
|
+
else:
|
|
78
|
+
write_fn(resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['tsconfig_local'], Utils.encode_json(content))
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Copyright (c) 2026 Flisk Landscape contributors
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
# === INLINED CONSTANTS for pure extension loading ===
|
|
4
|
+
OUTPUT = struct(AUTOGENERATED_FOLDER = ".autogenerated")
|
|
5
|
+
# === END INLINED CONSTANTS ===
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
load("../../common/utils_debug.star", "debug_log")
|
|
9
|
+
load("../../../../topologies/tilt/common/utils.star", "Utils")
|
|
10
|
+
load("../../../../topologies/tilt/manifest/constants.star", "GENERATED_CONFIG_FILENAMES")
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
# Check if verbose mode is enabled
|
|
14
|
+
_is_verbose = os.environ.get('TILT_LOG_LEVEL') == 'verbose'
|
|
15
|
+
|
|
16
|
+
# Module loaded - only show in verbose mode
|
|
17
|
+
if _is_verbose:
|
|
18
|
+
print("🔥 frontend_tsconfig.star MODULE LOADED")
|
|
19
|
+
|
|
20
|
+
# =============================================================================
|
|
21
|
+
# Frontend TSConfig Generator
|
|
22
|
+
# =============================================================================
|
|
23
|
+
|
|
24
|
+
def generate_frontend_tsconfig(resource_path, write_fn, internal_deps=None, is_docker=True, framework='react'):
|
|
25
|
+
"""
|
|
26
|
+
Generate tsconfig for frontend services.
|
|
27
|
+
|
|
28
|
+
Args:
|
|
29
|
+
resource_path: Path to the service directory
|
|
30
|
+
write_fn: Write function for file output
|
|
31
|
+
internal_deps: Optional internal dependencies map
|
|
32
|
+
is_docker: Whether generating for Docker context
|
|
33
|
+
framework: Frontend framework id; omitted in legacy manifests means React
|
|
34
|
+
"""
|
|
35
|
+
# Check verbose mode
|
|
36
|
+
is_verbose = os.environ.get('TILT_LOG_LEVEL') == 'verbose'
|
|
37
|
+
|
|
38
|
+
# DEBUG: Only print when function is called in verbose mode
|
|
39
|
+
if is_verbose:
|
|
40
|
+
print("🎯 TSConfig.frontend called: service={}, is_docker={}, has_internal_deps={}".format(
|
|
41
|
+
resource_path,
|
|
42
|
+
is_docker,
|
|
43
|
+
internal_deps != None
|
|
44
|
+
))
|
|
45
|
+
# Local dev tsconfig lives in .autogenerated/, so "src" etc. are one level up (../src).
|
|
46
|
+
# The Docker-variant tsconfig is written to the same .autogenerated/ path on disk, but the
|
|
47
|
+
# Dockerfile COPYs it to the image's app root as ./tsconfig.json (sibling of ./src, not
|
|
48
|
+
# nested under .autogenerated/) - so its own paths must be relative to that root instead,
|
|
49
|
+
# or tsc reports "No inputs were found" because it looks one directory too high.
|
|
50
|
+
src_prefix = "./" if is_docker else "../"
|
|
51
|
+
paths = {
|
|
52
|
+
"@/*": [src_prefix + "src/*"],
|
|
53
|
+
"@/autogenerated/*": ["./.autogenerated/*"]
|
|
54
|
+
}
|
|
55
|
+
include_paths = [src_prefix + "src/**/*"]
|
|
56
|
+
|
|
57
|
+
# =============================================================================
|
|
58
|
+
# CRITICAL FIX: Only add path aliases for internal deps in LOCAL builds
|
|
59
|
+
# =============================================================================
|
|
60
|
+
# In Docker builds, these path aliases cause "Module not found" errors
|
|
61
|
+
# because the source files aren't copied to the Docker context.
|
|
62
|
+
#
|
|
63
|
+
# Docker builds should resolve from node_modules instead.
|
|
64
|
+
# =============================================================================
|
|
65
|
+
|
|
66
|
+
if internal_deps and not is_docker:
|
|
67
|
+
# LOCAL BUILD: Can use path aliases to source for faster development
|
|
68
|
+
sorted_deps = sorted(internal_deps.items())
|
|
69
|
+
for pkg_name, src_path in sorted_deps:
|
|
70
|
+
depth = len([segment for segment in resource_path.split('/') if segment])
|
|
71
|
+
rel_to_root = "../" * depth
|
|
72
|
+
paths[pkg_name] = [rel_to_root + src_path + "/src"]
|
|
73
|
+
paths[pkg_name + "/*"] = [rel_to_root + src_path + "/src/*"]
|
|
74
|
+
|
|
75
|
+
# If is_docker=True and internal_deps exist, warn about it
|
|
76
|
+
if internal_deps and is_docker:
|
|
77
|
+
if is_verbose:
|
|
78
|
+
print("📝 Note: Excluding {} path aliases from Docker tsconfig for {}".format(
|
|
79
|
+
len(internal_deps),
|
|
80
|
+
resource_path
|
|
81
|
+
))
|
|
82
|
+
print(" Docker build will resolve @{npm_scope}/* from node_modules")
|
|
83
|
+
if framework not in ['react', 'vue', 'svelte', 'preact', 'lit', 'solid', 'qwik', 'vanilla', 'tanstack-router']:
|
|
84
|
+
fail("Unknown frontend framework for TypeScript generation: " + str(framework))
|
|
85
|
+
|
|
86
|
+
compiler_options = {
|
|
87
|
+
"target": "ES2022",
|
|
88
|
+
"module": "ES2022",
|
|
89
|
+
"moduleResolution": "bundler",
|
|
90
|
+
"lib": ["dom", "dom.iterable", "esnext"],
|
|
91
|
+
"paths": paths,
|
|
92
|
+
"skipLibCheck": True,
|
|
93
|
+
"strict": True,
|
|
94
|
+
"esModuleInterop": True,
|
|
95
|
+
"allowSyntheticDefaultImports": True,
|
|
96
|
+
# "bun" (not "node"): matches backend_tsconfig.star - @types/bun is a direct
|
|
97
|
+
# devDependency so it's always linked at the top level under any linker mode
|
|
98
|
+
# (including Docker's isolated linker), while @types/node (when only pulled in
|
|
99
|
+
# transitively, e.g. via bun-types) isn't hoisted under the isolated linker and
|
|
100
|
+
# "types": ["node"] fails to resolve there even though it works locally.
|
|
101
|
+
"types": ["node"],
|
|
102
|
+
}
|
|
103
|
+
if framework == 'react':
|
|
104
|
+
compiler_options['jsx'] = 'react-jsx'
|
|
105
|
+
elif framework == 'tanstack-router':
|
|
106
|
+
compiler_options['jsx'] = 'react-jsx'
|
|
107
|
+
elif framework == 'preact':
|
|
108
|
+
compiler_options['jsx'] = 'react-jsx'
|
|
109
|
+
compiler_options['jsxImportSource'] = 'preact'
|
|
110
|
+
elif framework == 'qwik':
|
|
111
|
+
compiler_options['jsx'] = 'react-jsx'
|
|
112
|
+
compiler_options['jsxImportSource'] = '@builder.io/qwik'
|
|
113
|
+
elif framework == 'solid':
|
|
114
|
+
compiler_options['jsx'] = 'preserve'
|
|
115
|
+
compiler_options['jsxImportSource'] = 'solid-js'
|
|
116
|
+
|
|
117
|
+
content = {
|
|
118
|
+
"compilerOptions": compiler_options,
|
|
119
|
+
"exclude": [
|
|
120
|
+
"node_modules",
|
|
121
|
+
"dist",
|
|
122
|
+
src_prefix + "__tests__/**/*",
|
|
123
|
+
src_prefix + "**/*.test.ts",
|
|
124
|
+
src_prefix + "**/tests/**/*",
|
|
125
|
+
src_prefix + "**/*.steps.ts",
|
|
126
|
+
src_prefix + "**/*.spec.ts"
|
|
127
|
+
],
|
|
128
|
+
"include": include_paths
|
|
129
|
+
}
|
|
130
|
+
if is_docker:
|
|
131
|
+
output_path = resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['tsconfig_docker']
|
|
132
|
+
debug_log("📝 Writing Docker tsconfig to: {}".format(output_path))
|
|
133
|
+
write_fn(output_path, Utils.encode_json(content))
|
|
134
|
+
debug_log("📝 Docker tsconfig write complete")
|
|
135
|
+
else:
|
|
136
|
+
output_path = resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['tsconfig_local']
|
|
137
|
+
debug_log("📝 Writing Local tsconfig to: {}".format(output_path))
|
|
138
|
+
write_fn(output_path, Utils.encode_json(content))
|
|
139
|
+
|
|
140
|
+
DEBUG = {}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Copyright (c) 2026 Flisk Landscape contributors
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
# =============================================================================
|
|
4
|
+
# Entry point for modular TSConfig provider
|
|
5
|
+
# =============================================================================
|
|
6
|
+
|
|
7
|
+
load("./backend_tsconfig.star", "generate_backend_tsconfig")
|
|
8
|
+
load("./frontend_tsconfig.star", "generate_frontend_tsconfig")
|
|
9
|
+
load("./prisma_config.star", "generate_prisma_config")
|
|
10
|
+
load("./frontend_library_tsconfig.star", "generate_frontend_library_tsconfig")
|
|
11
|
+
load("./backend_library_tsconfig.star", "generate_backend_library_tsconfig")
|
|
12
|
+
load("./playwright_config.star", "generate_playwright_config")
|
|
13
|
+
|
|
14
|
+
# =============================================================================
|
|
15
|
+
# TSConfig Struct - Public API
|
|
16
|
+
# =============================================================================
|
|
17
|
+
|
|
18
|
+
TSConfig = struct(
|
|
19
|
+
backend = generate_backend_tsconfig,
|
|
20
|
+
frontend = generate_frontend_tsconfig,
|
|
21
|
+
library_backend = generate_backend_library_tsconfig,
|
|
22
|
+
library_frontend = generate_frontend_library_tsconfig,
|
|
23
|
+
prisma = generate_prisma_config,
|
|
24
|
+
playwright = generate_playwright_config,
|
|
25
|
+
)
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Copyright (c) 2026 Flisk Landscape contributors
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
# =============================================================================
|
|
4
|
+
# 🎭 TILT SDK - PLAYWRIGHT CONFIG GENERATOR (free-tier stub)
|
|
5
|
+
# =============================================================================
|
|
6
|
+
# Path: .tilt/providers/typescript/playwright_config.star
|
|
7
|
+
# =============================================================================
|
|
8
|
+
# The real generator is part of a paid Flisk license. When a valid license
|
|
9
|
+
# grants the "playwright" resource, cli/src/generator/template-engine.ts
|
|
10
|
+
# (vendorTdkExtension) overwrites this file with the licensed version
|
|
11
|
+
# fetched via extension-fetch.ts before Tilt loads it. Same function
|
|
12
|
+
# signature either way, so nothing else in the generator pipeline changes.
|
|
13
|
+
# =============================================================================
|
|
14
|
+
|
|
15
|
+
load('../../../../topologies/tilt/common/utils.star', 'Utils')
|
|
16
|
+
load('../../../../topologies/tilt/manifest/constants.star', 'GENERATED_CONFIG_FILENAMES')
|
|
17
|
+
|
|
18
|
+
OUTPUT = struct(AUTOGENERATED_FOLDER = ".autogenerated")
|
|
19
|
+
|
|
20
|
+
_STUB_NOTICE = """// Playwright e2e config generation is a paid Flisk feature.
|
|
21
|
+
// Run `flisk upgrade` to enable generated Playwright configs for this service.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def generate_playwright_config(resource_path, resource_type='backend', write_fn=None):
|
|
26
|
+
"""
|
|
27
|
+
Free-tier stub - see module header. Signature matches the licensed
|
|
28
|
+
implementation so callers never need to know which one is active.
|
|
29
|
+
"""
|
|
30
|
+
resource_name = resource_path.split('/')[-1]
|
|
31
|
+
header = Utils.get_template_header(
|
|
32
|
+
GENERATED_CONFIG_FILENAMES['playwright'],
|
|
33
|
+
'TypeScript.generate_playwright_config() [unlicensed stub]',
|
|
34
|
+
resource_name,
|
|
35
|
+
resource_type.upper()
|
|
36
|
+
)
|
|
37
|
+
content = header + _STUB_NOTICE
|
|
38
|
+
|
|
39
|
+
if write_fn:
|
|
40
|
+
write_fn(resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['playwright'], content)
|
|
41
|
+
|
|
42
|
+
return content
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Copyright (c) 2026 Flisk Landscape contributors
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
# === INLINED CONSTANTS for pure extension loading ===
|
|
4
|
+
OUTPUT = struct(AUTOGENERATED_FOLDER = ".autogenerated")
|
|
5
|
+
# === END INLINED CONSTANTS ===
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
load("../../../../topologies/tilt/common/utils.star", "Utils")
|
|
9
|
+
load("../../../../topologies/tilt/manifest/constants.star", "GENERATED_CONFIG_FILENAMES")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
# =============================================================================
|
|
13
|
+
# Prisma Config Generator
|
|
14
|
+
# =============================================================================
|
|
15
|
+
|
|
16
|
+
def generate_prisma_config(resource_path, resource_name, db_name, write_fn):
|
|
17
|
+
"""
|
|
18
|
+
Generate prisma.config.autogenerated.ts for Prisma v7 CLI configuration.
|
|
19
|
+
|
|
20
|
+
Args:
|
|
21
|
+
resource_path: Path to the resource directory
|
|
22
|
+
resource_name: Name of the resource
|
|
23
|
+
db_name: Name of the database
|
|
24
|
+
write_fn: Write function for file output
|
|
25
|
+
|
|
26
|
+
Returns:
|
|
27
|
+
str: Generated Prisma config content
|
|
28
|
+
"""
|
|
29
|
+
resource_display_name = resource_name
|
|
30
|
+
|
|
31
|
+
header = Utils.get_template_header(
|
|
32
|
+
GENERATED_CONFIG_FILENAMES['prisma'],
|
|
33
|
+
'TypeScript.prisma()',
|
|
34
|
+
resource_display_name,
|
|
35
|
+
'Prisma Configuration'
|
|
36
|
+
)
|
|
37
|
+
content = """/**
|
|
38
|
+
* AUTOGENERATED Prisma CLI Configuration - %s Service
|
|
39
|
+
*
|
|
40
|
+
* This config is used by Prisma CLI commands (generate, migrate, db push).
|
|
41
|
+
*/
|
|
42
|
+
export default {
|
|
43
|
+
schema: 'prisma/schema.prisma',
|
|
44
|
+
datasource: {
|
|
45
|
+
url: process.env.DATABASE_URL,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
""" % (resource_name)
|
|
49
|
+
|
|
50
|
+
if write_fn:
|
|
51
|
+
write_fn(resource_path + '/' + OUTPUT.AUTOGENERATED_FOLDER + '/' + GENERATED_CONFIG_FILENAMES['prisma'], content)
|