@gaonjs/config 0.25.7 → 0.25.9
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/wire.js +9 -4
- package/package.json +6 -6
package/dist/wire.js
CHANGED
|
@@ -233,7 +233,9 @@ export async function configureNonDbBatteries(config, cwd = process.cwd(), opts
|
|
|
233
233
|
// 모든 t() 가 원문 키를 화면에 노출했다(배포 이미지 locales 누락·dir 오타 무신호).
|
|
234
234
|
if (Object.keys(resources).length === 0) {
|
|
235
235
|
throw new Error(`i18n 이 설정됐지만 로케일 카탈로그가 비어 있습니다: ${abs}\n` +
|
|
236
|
-
` → ${dir}/${config.i18n.fallbackLng}.json
|
|
236
|
+
` → ${dir}/${config.i18n.fallbackLng}/frontend.json (화면 문구) 또는\n` +
|
|
237
|
+
` ${dir}/${config.i18n.fallbackLng}/backend.json (메일·잡·검증 등 서버 전용 문구)을 만드세요 — 결정 454.\n` +
|
|
238
|
+
` → 단일 파일 레이아웃(${dir}/${config.i18n.fallbackLng}.json)도 계속 지원합니다(서버 전용으로 취급).\n` +
|
|
237
239
|
` → gaon.config.ts 의 i18n.dir 이 실제 카탈로그 폴더를 가리키는지 확인하세요.\n` +
|
|
238
240
|
` (이 상태로 부팅하면 모든 t() 가 번역 대신 원문 키를 노출합니다 — 결정 353)`);
|
|
239
241
|
}
|
|
@@ -242,10 +244,13 @@ export async function configureNonDbBatteries(config, cwd = process.cwd(), opts
|
|
|
242
244
|
// 조용히 다른 언어로 나갔다(locale-parity 는 존재 파일만 비교해 못 잡는 사각).
|
|
243
245
|
const missing = [config.i18n.fallbackLng, ...(config.i18n.supportedLngs ?? [])].filter((lng, i, arr) => arr.indexOf(lng) === i && !resources[lng]);
|
|
244
246
|
if (missing.length > 0) {
|
|
245
|
-
throw new Error(`i18n 설정이 지목한 로케일의
|
|
246
|
-
` → ${dir}/ 에 ${missing.map((l) => `${l}.json`).join(' · ')}
|
|
247
|
+
throw new Error(`i18n 설정이 지목한 로케일의 카탈로그가 없습니다: ${missing.join(', ')}\n` +
|
|
248
|
+
` → ${dir}/ 에 ${missing.map((l) => `${l}/frontend.json`).join(' · ')} 또는 ${missing
|
|
249
|
+
.map((l) => `${l}/backend.json`)
|
|
250
|
+
.join(' · ')} 을 추가하거나(결정 454 분리 레이아웃),\n` +
|
|
251
|
+
` → 단일 파일 레이아웃이면 ${missing.map((l) => `${l}.json`).join(' · ')} 을 추가하거나,\n` +
|
|
247
252
|
` → gaon.config.ts 의 fallbackLng/supportedLngs 에서 해당 로케일을 제거하세요.\n` +
|
|
248
|
-
` (
|
|
253
|
+
` (카탈로그가 없는 로케일은 전 화면이 fallback 언어로 조용히 대체됩니다 — 결정 353)`);
|
|
249
254
|
}
|
|
250
255
|
await configureI18n({
|
|
251
256
|
resources,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gaonjs/config",
|
|
3
|
-
"version": "0.25.
|
|
3
|
+
"version": "0.25.9",
|
|
4
4
|
"description": "Gaon 루트 설정 로더·자동 배선 (gaon.config.ts)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -30,14 +30,14 @@
|
|
|
30
30
|
],
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"ioredis": "^5.4.1",
|
|
33
|
+
"@gaonjs/adapter-mongo": "0.5.1",
|
|
33
34
|
"@gaonjs/async": "0.22.0",
|
|
34
|
-
"@gaonjs/i18n": "0.3.1",
|
|
35
35
|
"@gaonjs/data": "0.25.4",
|
|
36
36
|
"@gaonjs/core": "0.3.0",
|
|
37
|
-
"@gaonjs/
|
|
38
|
-
"@gaonjs/
|
|
39
|
-
"@gaonjs/
|
|
40
|
-
"@gaonjs/
|
|
37
|
+
"@gaonjs/mail": "0.5.3",
|
|
38
|
+
"@gaonjs/i18n": "0.4.1",
|
|
39
|
+
"@gaonjs/storage": "0.1.6",
|
|
40
|
+
"@gaonjs/web": "0.32.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"fastify": "^5.0.0"
|