chore: B1 모노레포 스캐폴드 스켈레톤 (yakcloud-packages)
- 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>
This commit is contained in:
33
packages/api-client/package.json
Normal file
33
packages/api-client/package.json
Normal file
@ -0,0 +1,33 @@
|
||||
{
|
||||
"name": "@yakcloud/api-client",
|
||||
"version": "0.0.0",
|
||||
"description": "HTTP·폴링(클라 전용): apiGet/apiSend/apiDownload·usePoll. ⛔ 서버코드(respond) 유입 금지.",
|
||||
"license": "Apache-2.0",
|
||||
"type": "module",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"import": "./dist/index.js"
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"publishConfig": {
|
||||
"registry": "https://gitea.yakenator.io/api/packages/yakcloud/npm/"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc -b",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"lint": "eslint src",
|
||||
"test": "echo \"(no tests yet)\""
|
||||
},
|
||||
"dependencies": {
|
||||
"@yakcloud/ds-sdk": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=18"
|
||||
}
|
||||
}
|
||||
4
packages/api-client/src/index.ts
Normal file
4
packages/api-client/src/index.ts
Normal file
@ -0,0 +1,4 @@
|
||||
// @yakcloud/api-client
|
||||
// HTTP·폴링(클라 전용): apiGet/apiSend/apiDownload·usePoll. ⛔ 서버코드(respond) 유입 금지.
|
||||
// B1 스켈레톤 — 실제 추출은 후속(scaffold-input.md 판정표 참조).
|
||||
export const __package = "@yakcloud/api-client";
|
||||
15
packages/api-client/tsconfig.json
Normal file
15
packages/api-client/tsconfig.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "dist",
|
||||
"rootDir": "src"
|
||||
},
|
||||
"include": [
|
||||
"src"
|
||||
],
|
||||
"references": [
|
||||
{
|
||||
"path": "../ds-sdk"
|
||||
}
|
||||
]
|
||||
}
|
||||
30
packages/auth-adapter/package.json
Normal file
30
packages/auth-adapter/package.json
Normal file
@ -0,0 +1,30 @@
|
||||
{
|
||||
"name": "@yakcloud/auth-adapter",
|
||||
"version": "0.0.0",
|
||||
"description": "인증 어댑터(대부분 신규): IdP 인터페이스, auth.ts 씨앗. ⛔ 클라 패키지 정적 import 금지.",
|
||||
"license": "Apache-2.0",
|
||||
"type": "module",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"import": "./dist/index.js"
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"publishConfig": {
|
||||
"registry": "https://gitea.yakenator.io/api/packages/yakcloud/npm/"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc -b",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"lint": "eslint src",
|
||||
"test": "echo \"(no tests yet)\""
|
||||
},
|
||||
"peerDependencies": {
|
||||
"next-auth": ">=5"
|
||||
}
|
||||
}
|
||||
4
packages/auth-adapter/src/index.ts
Normal file
4
packages/auth-adapter/src/index.ts
Normal file
@ -0,0 +1,4 @@
|
||||
// @yakcloud/auth-adapter
|
||||
// 인증 어댑터(대부분 신규): IdP 인터페이스, auth.ts 씨앗. ⛔ 클라 패키지 정적 import 금지.
|
||||
// B1 스켈레톤 — 실제 추출은 후속(scaffold-input.md 판정표 참조).
|
||||
export const __package = "@yakcloud/auth-adapter";
|
||||
10
packages/auth-adapter/tsconfig.json
Normal file
10
packages/auth-adapter/tsconfig.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "dist",
|
||||
"rootDir": "src"
|
||||
},
|
||||
"include": [
|
||||
"src"
|
||||
]
|
||||
}
|
||||
30
packages/backup-core/package.json
Normal file
30
packages/backup-core/package.json
Normal file
@ -0,0 +1,30 @@
|
||||
{
|
||||
"name": "@yakcloud/backup-core",
|
||||
"version": "0.0.0",
|
||||
"description": "백업 계약(신규 전체): 백업대상·스케줄·restore-verification. v1 계약은 M5 랜딩(현재 빈 스켈레톤).",
|
||||
"license": "Apache-2.0",
|
||||
"type": "module",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"import": "./dist/index.js"
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"publishConfig": {
|
||||
"registry": "https://gitea.yakenator.io/api/packages/yakcloud/npm/"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc -b",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"lint": "eslint src",
|
||||
"test": "echo \"(no tests yet)\""
|
||||
},
|
||||
"dependencies": {
|
||||
"zod": "^3.23.0"
|
||||
}
|
||||
}
|
||||
4
packages/backup-core/src/index.ts
Normal file
4
packages/backup-core/src/index.ts
Normal file
@ -0,0 +1,4 @@
|
||||
// @yakcloud/backup-core
|
||||
// 백업 계약(신규 전체): 백업대상·스케줄·restore-verification. v1 계약은 M5 랜딩(현재 빈 스켈레톤).
|
||||
// B1 스켈레톤 — 실제 추출은 후속(scaffold-input.md 판정표 참조).
|
||||
export const __package = "@yakcloud/backup-core";
|
||||
10
packages/backup-core/tsconfig.json
Normal file
10
packages/backup-core/tsconfig.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "dist",
|
||||
"rootDir": "src"
|
||||
},
|
||||
"include": [
|
||||
"src"
|
||||
]
|
||||
}
|
||||
35
packages/bff-kit/package.json
Normal file
35
packages/bff-kit/package.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"name": "@yakcloud/bff-kit",
|
||||
"version": "0.0.0",
|
||||
"description": "서버·BFF: respond/session/ratelimit/serialize/handlers. ⛔ api-client 참조 금지.",
|
||||
"license": "Apache-2.0",
|
||||
"type": "module",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"import": "./dist/index.js"
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"publishConfig": {
|
||||
"registry": "https://gitea.yakenator.io/api/packages/yakcloud/npm/"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc -b",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"lint": "eslint src",
|
||||
"test": "echo \"(no tests yet)\""
|
||||
},
|
||||
"dependencies": {
|
||||
"zod": "^3.23.0",
|
||||
"@yakcloud/ds-sdk": "workspace:*",
|
||||
"@yakcloud/auth-adapter": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"next": ">=15"
|
||||
}
|
||||
}
|
||||
4
packages/bff-kit/src/index.ts
Normal file
4
packages/bff-kit/src/index.ts
Normal file
@ -0,0 +1,4 @@
|
||||
// @yakcloud/bff-kit
|
||||
// 서버·BFF: respond/session/ratelimit/serialize/handlers. ⛔ api-client 참조 금지.
|
||||
// B1 스켈레톤 — 실제 추출은 후속(scaffold-input.md 판정표 참조).
|
||||
export const __package = "@yakcloud/bff-kit";
|
||||
18
packages/bff-kit/tsconfig.json
Normal file
18
packages/bff-kit/tsconfig.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "dist",
|
||||
"rootDir": "src"
|
||||
},
|
||||
"include": [
|
||||
"src"
|
||||
],
|
||||
"references": [
|
||||
{
|
||||
"path": "../ds-sdk"
|
||||
},
|
||||
{
|
||||
"path": "../auth-adapter"
|
||||
}
|
||||
]
|
||||
}
|
||||
35
packages/client-shell/package.json
Normal file
35
packages/client-shell/package.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"name": "@yakcloud/client-shell",
|
||||
"version": "0.0.0",
|
||||
"description": "9종 데이터소스 웹 클라 셸(신규): 헤더/탭/pane/가드. FileBrowser 는 Phase 1.",
|
||||
"license": "Apache-2.0",
|
||||
"type": "module",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"import": "./dist/index.js"
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"publishConfig": {
|
||||
"registry": "https://gitea.yakenator.io/api/packages/yakcloud/npm/"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc -b",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"lint": "eslint src",
|
||||
"test": "echo \"(no tests yet)\""
|
||||
},
|
||||
"dependencies": {
|
||||
"@yakcloud/ui": "workspace:*",
|
||||
"@yakcloud/api-client": "workspace:*",
|
||||
"@yakcloud/ds-sdk": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=18"
|
||||
}
|
||||
}
|
||||
4
packages/client-shell/src/index.ts
Normal file
4
packages/client-shell/src/index.ts
Normal file
@ -0,0 +1,4 @@
|
||||
// @yakcloud/client-shell
|
||||
// 9종 데이터소스 웹 클라 셸(신규): 헤더/탭/pane/가드. FileBrowser 는 Phase 1.
|
||||
// B1 스켈레톤 — 실제 추출은 후속(scaffold-input.md 판정표 참조).
|
||||
export const __package = "@yakcloud/client-shell";
|
||||
21
packages/client-shell/tsconfig.json
Normal file
21
packages/client-shell/tsconfig.json
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "dist",
|
||||
"rootDir": "src"
|
||||
},
|
||||
"include": [
|
||||
"src"
|
||||
],
|
||||
"references": [
|
||||
{
|
||||
"path": "../ui"
|
||||
},
|
||||
{
|
||||
"path": "../api-client"
|
||||
},
|
||||
{
|
||||
"path": "../ds-sdk"
|
||||
}
|
||||
]
|
||||
}
|
||||
30
packages/ds-sdk/package.json
Normal file
30
packages/ds-sdk/package.json
Normal file
@ -0,0 +1,30 @@
|
||||
{
|
||||
"name": "@yakcloud/ds-sdk",
|
||||
"version": "0.0.0",
|
||||
"description": "데이터소스 계약(리프): DTO·Zod 스키마·BIND_ENV SSOT·ApiCode 리터럴. ⛔ Prisma/react/서버 금지.",
|
||||
"license": "Apache-2.0",
|
||||
"type": "module",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"import": "./dist/index.js"
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"publishConfig": {
|
||||
"registry": "https://gitea.yakenator.io/api/packages/yakcloud/npm/"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc -b",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"lint": "eslint src",
|
||||
"test": "echo \"(no tests yet)\""
|
||||
},
|
||||
"dependencies": {
|
||||
"zod": "^3.23.0"
|
||||
}
|
||||
}
|
||||
4
packages/ds-sdk/src/index.ts
Normal file
4
packages/ds-sdk/src/index.ts
Normal file
@ -0,0 +1,4 @@
|
||||
// @yakcloud/ds-sdk
|
||||
// 데이터소스 계약(리프): DTO·Zod 스키마·BIND_ENV SSOT·ApiCode 리터럴. ⛔ Prisma/react/서버 금지.
|
||||
// B1 스켈레톤 — 실제 추출은 후속(scaffold-input.md 판정표 참조).
|
||||
export const __package = "@yakcloud/ds-sdk";
|
||||
10
packages/ds-sdk/tsconfig.json
Normal file
10
packages/ds-sdk/tsconfig.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "dist",
|
||||
"rootDir": "src"
|
||||
},
|
||||
"include": [
|
||||
"src"
|
||||
]
|
||||
}
|
||||
34
packages/ui/package.json
Normal file
34
packages/ui/package.json
Normal file
@ -0,0 +1,34 @@
|
||||
{
|
||||
"name": "@yakcloud/ui",
|
||||
"version": "0.0.0",
|
||||
"description": "디자인시스템·프리미티브: 토큰·인라인SVG·CardSheet·LineChart(토큰색)·getServiceMeta(logoBase). ⛔ api-client 참조 금지.",
|
||||
"license": "Apache-2.0",
|
||||
"type": "module",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"import": "./dist/index.js"
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"publishConfig": {
|
||||
"registry": "https://gitea.yakenator.io/api/packages/yakcloud/npm/"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc -b",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"lint": "eslint src",
|
||||
"test": "echo \"(no tests yet)\""
|
||||
},
|
||||
"dependencies": {
|
||||
"@yakcloud/ds-sdk": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=18",
|
||||
"react-dom": ">=18"
|
||||
}
|
||||
}
|
||||
4
packages/ui/src/index.ts
Normal file
4
packages/ui/src/index.ts
Normal file
@ -0,0 +1,4 @@
|
||||
// @yakcloud/ui
|
||||
// 디자인시스템·프리미티브: 토큰·인라인SVG·CardSheet·LineChart(토큰색)·getServiceMeta(logoBase). ⛔ api-client 참조 금지.
|
||||
// B1 스켈레톤 — 실제 추출은 후속(scaffold-input.md 판정표 참조).
|
||||
export const __package = "@yakcloud/ui";
|
||||
15
packages/ui/tsconfig.json
Normal file
15
packages/ui/tsconfig.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "dist",
|
||||
"rootDir": "src"
|
||||
},
|
||||
"include": [
|
||||
"src"
|
||||
],
|
||||
"references": [
|
||||
{
|
||||
"path": "../ds-sdk"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user