- pnpm+turbo workspace, tsconfig base, .npmrc(Gitea 레지스트리) - 7 패키지 스텁(ds-sdk 리프 → ui/api-client type-only → client-shell/bff-kit; backup-core 신규) package.json 의존으로 DAG·역의존 금지 규칙 강제 - Apache-2.0 LICENSE + NOTICE/LOGO_ATTRIBUTION(벤더 상표 로고 미번들, URL-only) - .gitea/workflows/ci.yml(build/typecheck/lint · bind-env-drift · secret-scan · standalone-smoke) - scripts: bind-env-check(check-only 게이트) · standalone-smoke(lazy-require 불변식) 스켈레톤 - apps/ds-web standalone 데모 스텁 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
15 lines
975 B
JavaScript
15 lines
975 B
JavaScript
#!/usr/bin/env node
|
|
// bind-env SSOT check-only 게이트 (§4-F). 2축 대조:
|
|
// (a) 서비스별 <ALIAS>_* 환경변수 접미사 집합
|
|
// (b) URL 템플릿(스킴·쿼리키·특수플래그: authSource/JDBC thin/USE_SSL 등)
|
|
// 정본 = packages/ds-sdk/src/bind-env.json (9종: MONGODB..ORACLE)
|
|
// 대상 = private-cluster infra/api/yakcloud_api.py _bind_env_for() (sparse-checkout)
|
|
// 추가 리컨실: examples-data 커버리지(현재 8종, ORACLE 예제 부재) 경고.
|
|
// TODO(B3): ds-sdk/src/bind-env.json 확정 후 실제 파싱·대조 구현. 현재는 스켈레톤(경고 후 통과).
|
|
import { argv } from "node:process";
|
|
const pyIdx = argv.indexOf("--python");
|
|
const py = pyIdx >= 0 ? argv[pyIdx + 1] : null;
|
|
console.warn("[bind-env-check] SKELETON — ds-sdk/bind-env.json 미확정. python target:", py ?? "(none)");
|
|
console.warn("[bind-env-check] TODO: 접미사+URL템플릿 2축 대조 + examples-data(8종) 리컨실 구현(B3).");
|
|
process.exit(0);
|