@spfn/cms 0.1.0-alpha.63 → 0.1.0-alpha.65

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 (103) hide show
  1. package/README.md +67 -30
  2. package/dist/actions-CwvmPG0e.d.ts +296 -0
  3. package/dist/actions.d.ts +1 -143
  4. package/dist/actions.js +5 -5
  5. package/dist/actions.js.map +1 -1
  6. package/dist/api.d.ts +376 -0
  7. package/dist/api.js +364 -0
  8. package/dist/api.js.map +1 -0
  9. package/dist/client.d.ts +115 -141
  10. package/dist/client.js +860 -63
  11. package/dist/client.js.map +1 -1
  12. package/dist/{types.d.ts → index-Dh5FjWzR.d.ts} +32 -1
  13. package/dist/index.d.ts +21 -43
  14. package/dist/index.js +556 -1061
  15. package/dist/index.js.map +1 -1
  16. package/dist/label-sync-generator-B0EmvtWM.d.ts +32 -0
  17. package/dist/{contracts → lib/contracts}/labels.d.ts +13 -12
  18. package/dist/{contracts → lib/contracts}/labels.js +7 -7
  19. package/dist/lib/contracts/labels.js.map +1 -0
  20. package/dist/{contracts → lib/contracts}/published-cache.d.ts +3 -2
  21. package/dist/{contracts → lib/contracts}/published-cache.js +2 -2
  22. package/dist/lib/contracts/published-cache.js.map +1 -0
  23. package/dist/{contracts → lib/contracts}/values.d.ts +6 -4
  24. package/dist/{contracts → lib/contracts}/values.js +3 -3
  25. package/dist/lib/contracts/values.js.map +1 -0
  26. package/dist/{entities → server/entities}/cms-audit-logs.js +3 -3
  27. package/dist/server/entities/cms-audit-logs.js.map +1 -0
  28. package/dist/{entities → server/entities}/cms-draft-cache.js +1 -1
  29. package/dist/server/entities/cms-draft-cache.js.map +1 -0
  30. package/dist/{entities → server/entities}/cms-label-values.js +3 -3
  31. package/dist/server/entities/cms-label-values.js.map +1 -0
  32. package/dist/{entities → server/entities}/cms-label-versions.js +3 -3
  33. package/dist/server/entities/cms-label-versions.js.map +1 -0
  34. package/dist/{entities → server/entities}/cms-labels.js +1 -1
  35. package/dist/server/entities/cms-labels.js.map +1 -0
  36. package/dist/{entities → server/entities}/cms-published-cache.js +1 -1
  37. package/dist/server/entities/cms-published-cache.js.map +1 -0
  38. package/dist/{entities → server/entities}/index.js +6 -6
  39. package/dist/server/entities/index.js.map +1 -0
  40. package/dist/{generators → server/generators}/index.d.ts +1 -2
  41. package/dist/{generators → server/generators}/index.js +169 -75
  42. package/dist/server/generators/index.js.map +1 -0
  43. package/dist/server/labels/index.d.ts +1 -0
  44. package/dist/{labels → server/labels}/index.js +1 -1
  45. package/dist/server/labels/index.js.map +1 -0
  46. package/dist/{repositories → server/repositories}/index.js +11 -11
  47. package/dist/server/repositories/index.js.map +1 -0
  48. package/dist/{routes → server/routes}/labels/[id]/index.js +20 -20
  49. package/dist/server/routes/labels/[id]/index.js.map +1 -0
  50. package/dist/{routes → server/routes}/labels/by-key/[key]/index.js +20 -20
  51. package/dist/server/routes/labels/by-key/[key]/index.js.map +1 -0
  52. package/dist/{routes → server/routes}/labels/index.d.ts +2 -2
  53. package/dist/{routes → server/routes}/labels/index.js +21 -22
  54. package/dist/server/routes/labels/index.js.map +1 -0
  55. package/dist/{routes → server/routes}/published-cache/index.js +14 -14
  56. package/dist/server/routes/published-cache/index.js.map +1 -0
  57. package/dist/{routes → server/routes}/values/[labelId]/[version]/index.js +16 -16
  58. package/dist/server/routes/values/[labelId]/[version]/index.js.map +1 -0
  59. package/dist/{routes → server/routes}/values/[labelId]/index.js +16 -16
  60. package/dist/server/routes/values/[labelId]/index.js.map +1 -0
  61. package/dist/server.d.ts +76 -7
  62. package/dist/server.js +1601 -42
  63. package/dist/server.js.map +1 -1
  64. package/package.json +37 -35
  65. package/dist/contracts/labels.js.map +0 -1
  66. package/dist/contracts/published-cache.js.map +0 -1
  67. package/dist/contracts/values.js.map +0 -1
  68. package/dist/entities/cms-audit-logs.js.map +0 -1
  69. package/dist/entities/cms-draft-cache.js.map +0 -1
  70. package/dist/entities/cms-label-values.js.map +0 -1
  71. package/dist/entities/cms-label-versions.js.map +0 -1
  72. package/dist/entities/cms-labels.js.map +0 -1
  73. package/dist/entities/cms-published-cache.js.map +0 -1
  74. package/dist/entities/index.js.map +0 -1
  75. package/dist/generators/index.js.map +0 -1
  76. package/dist/label-sync-generator-lQrcVfja.d.ts +0 -36
  77. package/dist/labels/index.d.ts +0 -34
  78. package/dist/labels/index.js.map +0 -1
  79. package/dist/repositories/index.js.map +0 -1
  80. package/dist/routes/labels/[id]/index.js.map +0 -1
  81. package/dist/routes/labels/by-key/[key]/index.js.map +0 -1
  82. package/dist/routes/labels/index.js.map +0 -1
  83. package/dist/routes/published-cache/index.js.map +0 -1
  84. package/dist/routes/values/[labelId]/[version]/index.js.map +0 -1
  85. package/dist/routes/values/[labelId]/index.js.map +0 -1
  86. package/dist/store.d.ts +0 -81
  87. package/dist/store.js +0 -403
  88. package/dist/store.js.map +0 -1
  89. package/dist/types.js +0 -1
  90. package/dist/types.js.map +0 -1
  91. package/dist/{entities → server/entities}/cms-audit-logs.d.ts +0 -0
  92. package/dist/{entities → server/entities}/cms-draft-cache.d.ts +0 -0
  93. package/dist/{entities → server/entities}/cms-label-values.d.ts +0 -0
  94. package/dist/{entities → server/entities}/cms-label-versions.d.ts +0 -0
  95. package/dist/{entities → server/entities}/cms-labels.d.ts +0 -0
  96. package/dist/{entities → server/entities}/cms-published-cache.d.ts +0 -0
  97. package/dist/{entities → server/entities}/index.d.ts +0 -0
  98. package/dist/{repositories → server/repositories}/index.d.ts +7 -7
  99. /package/dist/{routes → server/routes}/labels/_id_/index.d.ts +0 -0
  100. /package/dist/{routes → server/routes}/labels/by-key/_key_/index.d.ts +0 -0
  101. /package/dist/{routes → server/routes}/published-cache/index.d.ts +0 -0
  102. /package/dist/{routes → server/routes}/values/_labelId_/_version_/index.d.ts +0 -0
  103. /package/dist/{routes → server/routes}/values/_labelId_/index.d.ts +0 -0
package/dist/server.d.ts CHANGED
@@ -1,11 +1,80 @@
1
+ export { L as LOCALE_COOKIE_KEY, d as LOCALE_INFO_MAP, e as LocaleInfo, S as SupportedLocale, c as getDialCode, b as getFlag, f as getLocale, g as getLocaleInfo, j as getLocaleWithInfo, h as getLocales, k as getLocalesWithInfo, a as getSupportedLocales, i as isRTL, s as setLocale } from './actions-CwvmPG0e.js';
2
+ import { S as SectionDefinition, b as SyncOptions, c as SyncResult } from './index-Dh5FjWzR.js';
3
+ export { e as extractLabels, f as flattenLabels } from './index-Dh5FjWzR.js';
4
+ export { cmsDraftCacheRepository, cmsLabelValuesRepository, cmsLabelsRepository, cmsPublishedCacheRepository } from './server/repositories/index.js';
5
+ export { CmsLabel, NewCmsLabel, cmsLabels } from './server/entities/cms-labels.js';
6
+ export { CmsLabelValue, NewCmsLabelValue, cmsLabelValues } from './server/entities/cms-label-values.js';
7
+ export { CmsLabelVersion, NewCmsLabelVersion, cmsLabelVersions } from './server/entities/cms-label-versions.js';
8
+ export { CmsDraftCache, NewCmsDraftCache, cmsDraftCache } from './server/entities/cms-draft-cache.js';
9
+ export { CmsPublishedCache, NewCmsPublishedCache, cmsPublishedCache } from './server/entities/cms-published-cache.js';
10
+ export { CmsAuditLog, NewCmsAuditLog, cmsAuditLogs } from './server/entities/cms-audit-logs.js';
11
+ export { c as createLabelSyncGenerator } from './label-sync-generator-B0EmvtWM.js';
12
+ import 'drizzle-orm/pg-core';
13
+ import '@spfn/core/codegen';
14
+
15
+ /**
16
+ * Locale 유효성 검사
17
+ *
18
+ * @param locale - 검사할 locale
19
+ * @returns 지원 여부
20
+ */
21
+ declare function isValidLocale(locale: string): Promise<boolean>;
22
+
23
+ /**
24
+ * CMS Sync Utilities
25
+ *
26
+ * JSON 파일 기반 라벨 동기화
27
+ */
28
+
29
+ /**
30
+ * 여러 섹션 동기화
31
+ */
32
+ declare function syncAll(sections: SectionDefinition[], options?: SyncOptions): Promise<SyncResult[]>;
33
+ /**
34
+ * JSON 파일에서 라벨 로드
35
+ */
36
+ declare function loadLabelsFromJson(labelsDir: string): SectionDefinition[];
1
37
  /**
2
- * CMS Server Module
38
+ * 섹션 라벨 동기화
39
+ */
40
+ declare function syncSection(definition: SectionDefinition, options?: SyncOptions): Promise<SyncResult>;
41
+ /**
42
+ * Initialize label sync for server startup
43
+ *
44
+ * Call this in your server.config.ts beforeRoutes hook
45
+ *
46
+ * @param options - Sync options
47
+ * @param options.labelsDir - Path to labels directory (default: 'src/cms/labels')
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * import { initLabelSync } from '@spfn/cms';
52
+ *
53
+ * export default {
54
+ * beforeRoutes: async (app) => {
55
+ * await initLabelSync({ verbose: true });
56
+ * },
57
+ * } satisfies ServerConfig;
58
+ * ```
59
+ */
60
+ declare function initLabelSync(options?: SyncOptions & {
61
+ labelsDir?: string;
62
+ }): Promise<void>;
63
+
64
+ /**
65
+ * @spfn/cms/server
66
+ *
67
+ * Server-side Only Module
68
+ * 서버 전용 모듈 (서버 컴포넌트 + 백엔드)
3
69
  *
4
- * Next.js 서버 컴포넌트용 CMS 유틸리티
5
- * - React cache를 사용한 데이터 중복 제거
6
- * - SPFN API를 통한 contract-based 호출
7
- * - 변수 치환 지원
8
- * - 쿠키 기반 locale 자동 관리
70
+ * Includes:
71
+ * - Server Components (getSection, getSections)
72
+ * - Locale Management (Server Actions)
73
+ * - Backend: Sync utilities
74
+ * - Backend: Repositories
75
+ * - Backend: Entities
76
+ * - Backend: Label helpers
77
+ * - Backend: Codegen generators
9
78
  *
10
79
  * @note This module should only be imported in server-side code
11
80
  */
@@ -106,4 +175,4 @@ declare const getSection: (section: string, locale?: string) => Promise<SectionA
106
175
  */
107
176
  declare const getSections: (sections: string[], locale?: string) => Promise<Record<string, SectionAPI>>;
108
177
 
109
- export { type SectionAPI, type SectionData, getSection, getSections };
178
+ export { type SectionAPI, type SectionData, getSection, getSections, initLabelSync, isValidLocale, loadLabelsFromJson, syncAll, syncSection };