@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.
Files changed (2) hide show
  1. package/dist/wire.js +9 -4
  2. 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 을 만들거나(최소 fallbackLng 카탈로그),\n` +
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 설정이 지목한 로케일의 카탈로그 파일이 없습니다: ${missing.join(', ')}\n` +
246
- ` → ${dir}/ 에 ${missing.map((l) => `${l}.json`).join(' · ')} 추가하거나,\n` +
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
- ` (파일이 없는 로케일은 전 화면이 fallback 언어로 조용히 대체됩니다 — 결정 353)`);
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.7",
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/adapter-mongo": "0.5.1",
38
- "@gaonjs/mail": "0.5.1",
39
- "@gaonjs/web": "0.31.2",
40
- "@gaonjs/storage": "0.1.6"
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"