@gaonjs/config 0.17.7 → 0.18.1
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/dist/types.d.ts +13 -4
- package/package.json +6 -6
package/dist/types.d.ts
CHANGED
|
@@ -129,10 +129,17 @@ export declare function defineConfig(config: GaonConfig): GaonConfig;
|
|
|
129
129
|
export interface AppSessionConfig {
|
|
130
130
|
/** 서명 비밀 · env('APP_<NAME>_SESSION_SECRET') 관례 권장. */
|
|
131
131
|
readonly secret: string;
|
|
132
|
-
/** 세션 쿠키 이름(생략 시 관례: <app>
|
|
132
|
+
/** 세션 쿠키 이름(생략 시 관례: <app>_sid). */
|
|
133
133
|
readonly cookieName?: string;
|
|
134
134
|
/** 세션 TTL(초). 생략 시 배터리 기본. */
|
|
135
135
|
readonly ttlSeconds?: number;
|
|
136
|
+
/**
|
|
137
|
+
* CSRF 토큰 검증 토글(결정 271 · 규칙 8). 생략 시 켬(보안 기본값). `false` 로만
|
|
138
|
+
* 끈다 — security-checklist 가 안내하는 `session: { csrf: false }` 가 이 필드다.
|
|
139
|
+
* wire.ts 가 SessionOptions.csrf 로 그대로 전달한다(이전엔 타입에 없어 문서대로
|
|
140
|
+
* 쓴 defineAppConfig 리터럴이 excess-property 컴파일 에러였다).
|
|
141
|
+
*/
|
|
142
|
+
readonly csrf?: boolean;
|
|
136
143
|
}
|
|
137
144
|
/**
|
|
138
145
|
* 앱별 설정 — apps/<app>/app.config.ts (v0.16 §3.3).
|
|
@@ -142,7 +149,11 @@ export interface AppSessionConfig {
|
|
|
142
149
|
* - hosts: 이 앱이 응답할 도메인 목록. 생략 시 URL 프리픽스 관례만 사용.
|
|
143
150
|
* - session: 세션 옵션(secret · 쿠키 이름 등).
|
|
144
151
|
* - auth: 인증 이음새(loadUser · loginRedirect — 결정 59).
|
|
145
|
-
*
|
|
152
|
+
*
|
|
153
|
+
* URL 프리픽스는 **앱 폴더명**이 정한다(§3.3 · web→'/', 그 외→'/<name>') — The One
|
|
154
|
+
* Way. 별도 override 는 두지 않는다(결정 271: 예전 `prefix` 필드는 serving 도, api()
|
|
155
|
+
* 매니페스트 생성기도 배선하지 않은 no-op 이라 제거 · 다른 프리픽스가 필요하면 앱
|
|
156
|
+
* 폴더명을 바꾼다).
|
|
146
157
|
*
|
|
147
158
|
* 개발 모드에서는 `<앱이름>.localhost` 로도 접근된다(v0.11 · §3.3) —
|
|
148
159
|
* hosts 를 비워도 이 로컬 관례는 자동으로 성립한다.
|
|
@@ -159,8 +170,6 @@ export interface AppConfig {
|
|
|
159
170
|
* requireAuth/this.auth.user 가 로그인 후에도 영구 null 로 파손된다.
|
|
160
171
|
*/
|
|
161
172
|
readonly auth?: AuthOptions | JwtAuthOptions;
|
|
162
|
-
/** URL 프리픽스 명시 덮어쓰기. 생략 시 관례: web→'/', 그 외→'/<name>'. */
|
|
163
|
-
readonly prefix?: string;
|
|
164
173
|
/**
|
|
165
174
|
* 선택 플러그인 @gaonjs/seal 토글(결정 121). `true` 면 이 앱의 wire(요청/응답 JSON + 최초 문서
|
|
166
175
|
* data-page)를 봉인한다. `{ except: ['/webhooks/*'] }` 로 특정 경로를 평문 통과. 정적 자산·헬스체크·
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gaonjs/config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.1",
|
|
4
4
|
"description": "Gaon 루트 설정 로더·자동 배선 (gaon.config.ts)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"ioredis": "^5.4.1",
|
|
28
|
-
"@gaonjs/
|
|
28
|
+
"@gaonjs/async": "0.15.3",
|
|
29
29
|
"@gaonjs/core": "0.2.4",
|
|
30
|
-
"@gaonjs/
|
|
31
|
-
"@gaonjs/mail": "0.3.1",
|
|
30
|
+
"@gaonjs/mail": "0.3.3",
|
|
32
31
|
"@gaonjs/storage": "0.1.5",
|
|
33
|
-
"@gaonjs/
|
|
34
|
-
"@gaonjs/web": "0.20.
|
|
32
|
+
"@gaonjs/data": "0.17.3",
|
|
33
|
+
"@gaonjs/web": "0.20.5",
|
|
34
|
+
"@gaonjs/i18n": "0.2.4"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"fastify": "^5.0.0"
|