@fecommunity/reactpress 3.7.0 → 4.0.0-beta.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.
Files changed (413) hide show
  1. package/bin/reactpress-cli-shim.js +2 -6
  2. package/bin/reactpress-theme-client.js +2 -0
  3. package/bin/reactpress.js +1 -380
  4. package/out/.source-fingerprint-cli +1 -0
  5. package/out/bin/reactpress-cli-shim.d.ts +3 -0
  6. package/out/bin/reactpress-cli-shim.d.ts.map +1 -0
  7. package/out/bin/reactpress-cli-shim.js +28 -0
  8. package/out/bin/reactpress-cli-shim.js.map +1 -0
  9. package/out/bin/reactpress-theme-client.d.ts +3 -0
  10. package/out/bin/reactpress-theme-client.d.ts.map +1 -0
  11. package/out/bin/reactpress-theme-client.js +113 -0
  12. package/out/bin/reactpress-theme-client.js.map +1 -0
  13. package/out/bin/reactpress.d.ts +3 -0
  14. package/out/bin/reactpress.d.ts.map +1 -0
  15. package/out/bin/reactpress.js +566 -0
  16. package/out/bin/reactpress.js.map +1 -0
  17. package/out/core/services/config.d.ts +12 -0
  18. package/out/core/services/config.d.ts.map +1 -0
  19. package/out/core/services/config.js +137 -0
  20. package/out/core/services/config.js.map +1 -0
  21. package/out/core/services/database/index.d.ts +17 -0
  22. package/out/core/services/database/index.d.ts.map +1 -0
  23. package/out/core/services/database/index.js +242 -0
  24. package/out/core/services/database/index.js.map +1 -0
  25. package/out/core/services/database/mysql.d.ts +14 -0
  26. package/out/core/services/database/mysql.d.ts.map +1 -0
  27. package/out/core/services/database/mysql.js +82 -0
  28. package/out/core/services/database/mysql.js.map +1 -0
  29. package/out/core/services/database/profile.d.ts +6 -0
  30. package/out/core/services/database/profile.d.ts.map +1 -0
  31. package/out/core/services/database/profile.js +60 -0
  32. package/out/core/services/database/profile.js.map +1 -0
  33. package/out/core/services/database/sqlite.d.ts +10 -0
  34. package/out/core/services/database/sqlite.d.ts.map +1 -0
  35. package/out/core/services/database/sqlite.js +73 -0
  36. package/out/core/services/database/sqlite.js.map +1 -0
  37. package/out/core/services/exec.d.ts +21 -0
  38. package/out/core/services/exec.d.ts.map +1 -0
  39. package/out/core/services/exec.js +56 -0
  40. package/out/core/services/exec.js.map +1 -0
  41. package/out/core/services/init.d.ts +11 -0
  42. package/out/core/services/init.d.ts.map +1 -0
  43. package/out/core/services/init.js +60 -0
  44. package/out/core/services/init.js.map +1 -0
  45. package/out/core/services/local-site.d.ts +24 -0
  46. package/out/core/services/local-site.d.ts.map +1 -0
  47. package/out/core/services/local-site.js +144 -0
  48. package/out/core/services/local-site.js.map +1 -0
  49. package/out/core/utils/cli-context.d.ts +3 -0
  50. package/out/core/utils/cli-context.d.ts.map +1 -0
  51. package/out/core/utils/cli-context.js +12 -0
  52. package/out/core/utils/cli-context.js.map +1 -0
  53. package/out/core/utils/paths.d.ts +20 -0
  54. package/out/core/utils/paths.d.ts.map +1 -0
  55. package/out/core/utils/paths.js +34 -0
  56. package/out/core/utils/paths.js.map +1 -0
  57. package/out/core/utils/platform.d.ts +7 -0
  58. package/out/core/utils/platform.d.ts.map +1 -0
  59. package/out/core/utils/platform.js +28 -0
  60. package/out/core/utils/platform.js.map +1 -0
  61. package/out/core/utils/port.d.ts +4 -0
  62. package/out/core/utils/port.d.ts.map +1 -0
  63. package/out/core/utils/port.js +32 -0
  64. package/out/core/utils/port.js.map +1 -0
  65. package/out/lib/api-dev-runner.d.ts +3 -0
  66. package/out/lib/api-dev-runner.d.ts.map +1 -0
  67. package/{lib → out/lib}/api-dev-runner.js +4 -1
  68. package/out/lib/api-dev-runner.js.map +1 -0
  69. package/out/lib/api-dev.d.ts +2 -0
  70. package/out/lib/api-dev.d.ts.map +1 -0
  71. package/out/lib/api-dev.js +101 -0
  72. package/out/lib/api-dev.js.map +1 -0
  73. package/out/lib/bootstrap.d.ts +18 -0
  74. package/out/lib/bootstrap.d.ts.map +1 -0
  75. package/out/lib/bootstrap.js +93 -0
  76. package/out/lib/bootstrap.js.map +1 -0
  77. package/out/lib/build.d.ts +2 -0
  78. package/out/lib/build.d.ts.map +1 -0
  79. package/out/lib/build.js +191 -0
  80. package/out/lib/build.js.map +1 -0
  81. package/out/lib/db-backup.d.ts +2 -0
  82. package/out/lib/db-backup.d.ts.map +1 -0
  83. package/out/lib/db-backup.js +68 -0
  84. package/out/lib/db-backup.js.map +1 -0
  85. package/out/lib/dev-banner.d.ts +2 -0
  86. package/out/lib/dev-banner.d.ts.map +1 -0
  87. package/out/lib/dev-banner.js +102 -0
  88. package/out/lib/dev-banner.js.map +1 -0
  89. package/out/lib/dev-child-io.d.ts +2 -0
  90. package/out/lib/dev-child-io.d.ts.map +1 -0
  91. package/out/lib/dev-child-io.js +80 -0
  92. package/out/lib/dev-child-io.js.map +1 -0
  93. package/out/lib/dev-log.d.ts +2 -0
  94. package/out/lib/dev-log.d.ts.map +1 -0
  95. package/out/lib/dev-log.js +64 -0
  96. package/out/lib/dev-log.js.map +1 -0
  97. package/out/lib/dev-session.d.ts +2 -0
  98. package/out/lib/dev-session.d.ts.map +1 -0
  99. package/out/lib/dev-session.js +95 -0
  100. package/out/lib/dev-session.js.map +1 -0
  101. package/out/lib/dev.d.ts +2 -0
  102. package/out/lib/dev.d.ts.map +1 -0
  103. package/out/lib/dev.js +914 -0
  104. package/out/lib/dev.js.map +1 -0
  105. package/out/lib/docker.d.ts +2 -0
  106. package/out/lib/docker.d.ts.map +1 -0
  107. package/out/lib/docker.js +398 -0
  108. package/out/lib/docker.js.map +1 -0
  109. package/out/lib/doctor.d.ts +2 -0
  110. package/out/lib/doctor.d.ts.map +1 -0
  111. package/out/lib/doctor.js +260 -0
  112. package/out/lib/doctor.js.map +1 -0
  113. package/out/lib/health-parse.d.ts +5 -0
  114. package/out/lib/health-parse.d.ts.map +1 -0
  115. package/out/lib/health-parse.js +36 -0
  116. package/out/lib/health-parse.js.map +1 -0
  117. package/out/lib/health-parse.test.d.ts +2 -0
  118. package/out/lib/health-parse.test.d.ts.map +1 -0
  119. package/out/lib/health-parse.test.js +19 -0
  120. package/out/lib/health-parse.test.js.map +1 -0
  121. package/out/lib/http.d.ts +2 -0
  122. package/out/lib/http.d.ts.map +1 -0
  123. package/out/lib/http.js +234 -0
  124. package/out/lib/http.js.map +1 -0
  125. package/out/lib/i18n/index.d.ts +2 -0
  126. package/out/lib/i18n/index.d.ts.map +1 -0
  127. package/out/lib/i18n/index.js +29 -0
  128. package/out/lib/i18n/index.js.map +1 -0
  129. package/out/lib/i18n/strings.d.ts +2 -0
  130. package/out/lib/i18n/strings.d.ts.map +1 -0
  131. package/out/lib/i18n/strings.js +1192 -0
  132. package/out/lib/i18n/strings.js.map +1 -0
  133. package/out/lib/lifecycle.d.ts +2 -0
  134. package/out/lib/lifecycle.d.ts.map +1 -0
  135. package/out/lib/lifecycle.js +169 -0
  136. package/out/lib/lifecycle.js.map +1 -0
  137. package/out/lib/nginx.d.ts +2 -0
  138. package/out/lib/nginx.d.ts.map +1 -0
  139. package/out/lib/nginx.js +618 -0
  140. package/out/lib/nginx.js.map +1 -0
  141. package/out/lib/paths.d.ts +2 -0
  142. package/out/lib/paths.d.ts.map +1 -0
  143. package/out/lib/paths.js +106 -0
  144. package/out/lib/paths.js.map +1 -0
  145. package/out/lib/plugin-build.d.ts +2 -0
  146. package/out/lib/plugin-build.d.ts.map +1 -0
  147. package/out/lib/plugin-build.js +104 -0
  148. package/out/lib/plugin-build.js.map +1 -0
  149. package/out/lib/plugin-cli.d.ts +2 -0
  150. package/out/lib/plugin-cli.d.ts.map +1 -0
  151. package/out/lib/plugin-cli.js +142 -0
  152. package/out/lib/plugin-cli.js.map +1 -0
  153. package/out/lib/pm2.d.ts +2 -0
  154. package/out/lib/pm2.d.ts.map +1 -0
  155. package/out/lib/pm2.js +32 -0
  156. package/out/lib/pm2.js.map +1 -0
  157. package/out/lib/ports.d.ts +2 -0
  158. package/out/lib/ports.d.ts.map +1 -0
  159. package/out/lib/ports.js +394 -0
  160. package/out/lib/ports.js.map +1 -0
  161. package/out/lib/process.d.ts +2 -0
  162. package/out/lib/process.d.ts.map +1 -0
  163. package/out/lib/process.js +47 -0
  164. package/out/lib/process.js.map +1 -0
  165. package/out/lib/prod-memory.d.ts +6 -0
  166. package/out/lib/prod-memory.d.ts.map +1 -0
  167. package/out/lib/prod-memory.js +57 -0
  168. package/out/lib/prod-memory.js.map +1 -0
  169. package/out/lib/project-type.d.ts +2 -0
  170. package/out/lib/project-type.d.ts.map +1 -0
  171. package/out/lib/project-type.js +95 -0
  172. package/out/lib/project-type.js.map +1 -0
  173. package/out/lib/publish.d.ts +3 -0
  174. package/out/lib/publish.d.ts.map +1 -0
  175. package/out/lib/publish.js +388 -0
  176. package/out/lib/publish.js.map +1 -0
  177. package/out/lib/remote-dev.d.ts +2 -0
  178. package/out/lib/remote-dev.d.ts.map +1 -0
  179. package/out/lib/remote-dev.js +158 -0
  180. package/out/lib/remote-dev.js.map +1 -0
  181. package/out/lib/root.d.ts +2 -0
  182. package/out/lib/root.d.ts.map +1 -0
  183. package/out/lib/root.js +85 -0
  184. package/out/lib/root.js.map +1 -0
  185. package/out/lib/spawn.d.ts +2 -0
  186. package/out/lib/spawn.d.ts.map +1 -0
  187. package/out/lib/spawn.js +96 -0
  188. package/out/lib/spawn.js.map +1 -0
  189. package/out/lib/status.d.ts +2 -0
  190. package/out/lib/status.d.ts.map +1 -0
  191. package/out/lib/status.js +78 -0
  192. package/out/lib/status.js.map +1 -0
  193. package/out/lib/theme-catalog.d.ts +2 -0
  194. package/out/lib/theme-catalog.d.ts.map +1 -0
  195. package/out/lib/theme-catalog.js +6 -0
  196. package/out/lib/theme-catalog.js.map +1 -0
  197. package/out/lib/theme-cli.d.ts +2 -0
  198. package/out/lib/theme-cli.d.ts.map +1 -0
  199. package/out/lib/theme-cli.js +50 -0
  200. package/out/lib/theme-cli.js.map +1 -0
  201. package/out/lib/theme-dev.d.ts +2 -0
  202. package/out/lib/theme-dev.d.ts.map +1 -0
  203. package/out/lib/theme-dev.js +759 -0
  204. package/out/lib/theme-dev.js.map +1 -0
  205. package/out/lib/theme-env.d.ts +2 -0
  206. package/out/lib/theme-env.d.ts.map +1 -0
  207. package/out/lib/theme-env.js +101 -0
  208. package/out/lib/theme-env.js.map +1 -0
  209. package/out/lib/theme-install.d.ts +2 -0
  210. package/out/lib/theme-install.d.ts.map +1 -0
  211. package/out/lib/theme-install.js +363 -0
  212. package/out/lib/theme-install.js.map +1 -0
  213. package/out/lib/theme-lock.d.ts +2 -0
  214. package/out/lib/theme-lock.d.ts.map +1 -0
  215. package/out/lib/theme-lock.js +70 -0
  216. package/out/lib/theme-lock.js.map +1 -0
  217. package/out/lib/theme-paths.d.ts +2 -0
  218. package/out/lib/theme-paths.d.ts.map +1 -0
  219. package/out/lib/theme-paths.js +73 -0
  220. package/out/lib/theme-paths.js.map +1 -0
  221. package/out/lib/theme-placeholder-cover.d.ts +13 -0
  222. package/out/lib/theme-placeholder-cover.d.ts.map +1 -0
  223. package/out/lib/theme-placeholder-cover.js +95 -0
  224. package/out/lib/theme-placeholder-cover.js.map +1 -0
  225. package/out/lib/theme-preview-frame.d.ts +2 -0
  226. package/out/lib/theme-preview-frame.d.ts.map +1 -0
  227. package/out/lib/theme-preview-frame.js +107 -0
  228. package/out/lib/theme-preview-frame.js.map +1 -0
  229. package/out/lib/theme-preview-pool.d.ts +2 -0
  230. package/out/lib/theme-preview-pool.d.ts.map +1 -0
  231. package/out/lib/theme-preview-pool.js +484 -0
  232. package/out/lib/theme-preview-pool.js.map +1 -0
  233. package/out/lib/theme-preview-proxy.d.ts +2 -0
  234. package/out/lib/theme-preview-proxy.d.ts.map +1 -0
  235. package/out/lib/theme-preview-proxy.js +101 -0
  236. package/out/lib/theme-preview-proxy.js.map +1 -0
  237. package/out/lib/theme-prod.d.ts +2 -0
  238. package/out/lib/theme-prod.d.ts.map +1 -0
  239. package/out/lib/theme-prod.js +400 -0
  240. package/out/lib/theme-prod.js.map +1 -0
  241. package/out/lib/theme-registry.d.ts +2 -0
  242. package/out/lib/theme-registry.d.ts.map +1 -0
  243. package/out/lib/theme-registry.js +135 -0
  244. package/out/lib/theme-registry.js.map +1 -0
  245. package/out/lib/theme-runtime.d.ts +2 -0
  246. package/out/lib/theme-runtime.d.ts.map +1 -0
  247. package/out/lib/theme-runtime.js +344 -0
  248. package/out/lib/theme-runtime.js.map +1 -0
  249. package/out/lib/theme-sources.d.ts +2 -0
  250. package/out/lib/theme-sources.d.ts.map +1 -0
  251. package/out/lib/theme-sources.js +347 -0
  252. package/out/lib/theme-sources.js.map +1 -0
  253. package/out/lib/theme-warmup.d.ts +2 -0
  254. package/out/lib/theme-warmup.d.ts.map +1 -0
  255. package/out/lib/theme-warmup.js +167 -0
  256. package/out/lib/theme-warmup.js.map +1 -0
  257. package/out/lib/toolkit-build.d.ts +2 -0
  258. package/out/lib/toolkit-build.d.ts.map +1 -0
  259. package/out/lib/toolkit-build.js +57 -0
  260. package/out/lib/toolkit-build.js.map +1 -0
  261. package/out/types/config.d.ts +57 -0
  262. package/out/types/config.d.ts.map +1 -0
  263. package/out/types/config.js +3 -0
  264. package/out/types/config.js.map +1 -0
  265. package/out/ui/banner.d.ts +2 -0
  266. package/out/ui/banner.d.ts.map +1 -0
  267. package/out/ui/banner.js +358 -0
  268. package/out/ui/banner.js.map +1 -0
  269. package/out/ui/interactive.d.ts +2 -0
  270. package/out/ui/interactive.d.ts.map +1 -0
  271. package/out/ui/interactive.js +378 -0
  272. package/out/ui/interactive.js.map +1 -0
  273. package/out/ui/prompts.d.ts +2 -0
  274. package/out/ui/prompts.d.ts.map +1 -0
  275. package/out/ui/prompts.js +91 -0
  276. package/out/ui/prompts.js.map +1 -0
  277. package/out/ui/theme.d.ts +2 -0
  278. package/out/ui/theme.d.ts.map +1 -0
  279. package/out/ui/theme.js +250 -0
  280. package/out/ui/theme.js.map +1 -0
  281. package/package.json +13 -7
  282. package/server/dist/common/api-messages.d.ts +9 -0
  283. package/server/dist/common/api-messages.js +9 -0
  284. package/server/dist/common/api-messages.js.map +1 -1
  285. package/server/dist/database/typeorm-options.d.ts +3 -0
  286. package/server/dist/database/typeorm-options.js +60 -0
  287. package/server/dist/database/typeorm-options.js.map +1 -0
  288. package/server/dist/modules/api-key/api-key.controller.js.map +1 -1
  289. package/server/dist/modules/api-key/api-key.entity.js.map +1 -1
  290. package/server/dist/modules/api-key/api-key.guard.js +2 -3
  291. package/server/dist/modules/api-key/api-key.guard.js.map +1 -1
  292. package/server/dist/modules/api-key/api-key.module.js.map +1 -1
  293. package/server/dist/modules/api-key/api-key.service.js +1 -1
  294. package/server/dist/modules/api-key/api-key.service.js.map +1 -1
  295. package/server/dist/modules/article/article-revision.entity.js +3 -3
  296. package/server/dist/modules/article/article-revision.entity.js.map +1 -1
  297. package/server/dist/modules/article/article-slug.util.d.ts +2 -0
  298. package/server/dist/modules/article/article-slug.util.js +19 -0
  299. package/server/dist/modules/article/article-slug.util.js.map +1 -0
  300. package/server/dist/modules/article/scheduled-publish.service.js.map +1 -1
  301. package/server/dist/modules/bootstrap/bootstrap.constants.d.ts +20 -0
  302. package/server/dist/modules/bootstrap/bootstrap.constants.js +171 -0
  303. package/server/dist/modules/bootstrap/bootstrap.constants.js.map +1 -0
  304. package/server/dist/modules/bootstrap/bootstrap.service.d.ts +22 -0
  305. package/server/dist/modules/bootstrap/bootstrap.service.js +183 -0
  306. package/server/dist/modules/bootstrap/bootstrap.service.js.map +1 -0
  307. package/server/dist/modules/bootstrap/install-locale.d.ts +2 -0
  308. package/server/dist/modules/bootstrap/install-locale.js +11 -0
  309. package/server/dist/modules/bootstrap/install-locale.js.map +1 -0
  310. package/server/dist/modules/extension/extension.module.d.ts +9 -0
  311. package/server/dist/modules/extension/extension.module.js +50 -0
  312. package/server/dist/modules/extension/extension.module.js.map +1 -0
  313. package/server/dist/modules/extension/plugin-loader.service.d.ts +12 -0
  314. package/server/dist/modules/extension/plugin-loader.service.js +96 -0
  315. package/server/dist/modules/extension/plugin-loader.service.js.map +1 -0
  316. package/server/dist/modules/extension/plugin-registry.bridge.d.ts +3 -0
  317. package/server/dist/modules/extension/plugin-registry.bridge.js +44 -0
  318. package/server/dist/modules/extension/plugin-registry.bridge.js.map +1 -0
  319. package/server/dist/modules/extension/plugin.controller.d.ts +22 -0
  320. package/server/dist/modules/extension/plugin.controller.js +155 -0
  321. package/server/dist/modules/extension/plugin.controller.js.map +1 -0
  322. package/server/dist/modules/extension/plugin.service.d.ts +52 -0
  323. package/server/dist/modules/extension/plugin.service.js +391 -0
  324. package/server/dist/modules/extension/plugin.service.js.map +1 -0
  325. package/server/dist/modules/extension/preview-draft.store.d.ts +13 -0
  326. package/server/dist/modules/extension/preview-draft.store.js +41 -0
  327. package/server/dist/modules/extension/preview-draft.store.js.map +1 -0
  328. package/server/dist/modules/extension/theme-registry.bridge.d.ts +56 -0
  329. package/server/dist/modules/extension/theme-registry.bridge.js +46 -0
  330. package/server/dist/modules/extension/theme-registry.bridge.js.map +1 -0
  331. package/server/dist/modules/extension/theme.controller.d.ts +66 -0
  332. package/server/dist/modules/extension/theme.controller.js +301 -0
  333. package/server/dist/modules/extension/theme.controller.js.map +1 -0
  334. package/server/dist/modules/extension/theme.service.d.ts +140 -0
  335. package/server/dist/modules/extension/theme.service.js +1039 -0
  336. package/server/dist/modules/extension/theme.service.js.map +1 -0
  337. package/server/dist/modules/file/file-optimization.controller.d.ts +12 -0
  338. package/server/dist/modules/file/file-optimization.controller.js +79 -0
  339. package/server/dist/modules/file/file-optimization.controller.js.map +1 -0
  340. package/server/dist/modules/file/file-optimization.service.d.ts +36 -0
  341. package/server/dist/modules/file/file-optimization.service.js +385 -0
  342. package/server/dist/modules/file/file-optimization.service.js.map +1 -0
  343. package/server/dist/modules/file/file-optimization.types.d.ts +66 -0
  344. package/server/dist/modules/file/file-optimization.types.js +5 -0
  345. package/server/dist/modules/file/file-optimization.types.js.map +1 -0
  346. package/server/dist/modules/file/image-optimizer-plugin.guard.d.ts +7 -0
  347. package/server/dist/modules/file/image-optimizer-plugin.guard.js +33 -0
  348. package/server/dist/modules/file/image-optimizer-plugin.guard.js.map +1 -0
  349. package/server/dist/modules/health/health.controller.js +2 -4
  350. package/server/dist/modules/health/health.controller.js.map +1 -1
  351. package/server/dist/modules/health/health.module.js.map +1 -1
  352. package/server/dist/modules/hook/hook.module.d.ts +2 -0
  353. package/server/dist/modules/hook/hook.module.js +22 -0
  354. package/server/dist/modules/hook/hook.module.js.map +1 -0
  355. package/server/dist/modules/hook/hook.service.d.ts +26 -0
  356. package/server/dist/modules/hook/hook.service.js +105 -0
  357. package/server/dist/modules/hook/hook.service.js.map +1 -0
  358. package/server/dist/modules/webhook/webhook.controller.js.map +1 -1
  359. package/server/dist/modules/webhook/webhook.entity.js.map +1 -1
  360. package/server/dist/modules/webhook/webhook.module.js.map +1 -1
  361. package/server/dist/modules/webhook/webhook.service.d.ts +1 -1
  362. package/server/dist/modules/webhook/webhook.service.js +5 -2
  363. package/server/dist/modules/webhook/webhook.service.js.map +1 -1
  364. package/server/dist/node-polyfills.d.ts +18 -0
  365. package/server/dist/node-polyfills.js +24 -0
  366. package/server/dist/node-polyfills.js.map +1 -0
  367. package/server/dist/public/uploads/2026-05-30/QR3X4UZQ93ZTUPGXCFA9II..png +0 -0
  368. package/server/dist/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8.webp +0 -0
  369. package/server/dist/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8_medium.webp +0 -0
  370. package/server/dist/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8_thumb.webp +0 -0
  371. package/server/dist/public/uploads/2026-05-31/I2SZC0ONA7CF31UM46MN56..jpg +0 -0
  372. package/server/dist/tsconfig.tsbuildinfo +1 -0
  373. package/server/dist/utils/image-processor.util.d.ts +23 -0
  374. package/server/dist/utils/image-processor.util.js +88 -0
  375. package/server/dist/utils/image-processor.util.js.map +1 -0
  376. package/server/dist/utils/local-api-quiet.util.d.ts +1 -0
  377. package/server/dist/utils/local-api-quiet.util.js +8 -0
  378. package/server/dist/utils/local-api-quiet.util.js.map +1 -0
  379. package/server/dist/utils/project-root.util.d.ts +2 -0
  380. package/server/dist/utils/project-root.util.js +42 -0
  381. package/server/dist/utils/project-root.util.js.map +1 -0
  382. package/server/public/uploads/2026-05-30/QR3X4UZQ93ZTUPGXCFA9II..png +0 -0
  383. package/server/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8.webp +0 -0
  384. package/server/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8_medium.webp +0 -0
  385. package/server/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8_thumb.webp +0 -0
  386. package/server/public/uploads/2026-05-31/I2SZC0ONA7CF31UM46MN56..jpg +0 -0
  387. package/templates/config.local.json +13 -0
  388. package/templates/env.local.default +10 -0
  389. package/templates/theme-catalog.json +27 -0
  390. package/lib/api-dev.js +0 -89
  391. package/lib/bootstrap.js +0 -114
  392. package/lib/build.js +0 -162
  393. package/lib/db-backup.js +0 -67
  394. package/lib/dev-banner.js +0 -72
  395. package/lib/dev.js +0 -141
  396. package/lib/docker.js +0 -275
  397. package/lib/doctor.js +0 -266
  398. package/lib/http.js +0 -182
  399. package/lib/i18n/index.js +0 -32
  400. package/lib/i18n/strings.js +0 -846
  401. package/lib/lifecycle.js +0 -190
  402. package/lib/nginx.js +0 -342
  403. package/lib/paths.js +0 -108
  404. package/lib/pm2.js +0 -32
  405. package/lib/process.js +0 -45
  406. package/lib/project-type.js +0 -72
  407. package/lib/publish.js +0 -968
  408. package/lib/root.js +0 -88
  409. package/lib/spawn.js +0 -92
  410. package/lib/status.js +0 -132
  411. package/ui/banner.js +0 -441
  412. package/ui/interactive.js +0 -380
  413. package/ui/theme.js +0 -265
@@ -0,0 +1,13 @@
1
+ import type { ThemeMods } from '@fecommunity/reactpress-toolkit/theme';
2
+ export type PreviewDraftRecord = {
3
+ themeId?: string;
4
+ mods?: ThemeMods;
5
+ configuration?: Record<string, unknown>;
6
+ createdAt: number;
7
+ };
8
+ export declare function putPreviewDraft(payload: {
9
+ themeId?: string;
10
+ mods?: ThemeMods;
11
+ configuration?: Record<string, unknown>;
12
+ }): string;
13
+ export declare function getPreviewDraft(token: string): PreviewDraftRecord | null;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPreviewDraft = exports.putPreviewDraft = void 0;
4
+ const theme_1 = require("../../../../toolkit/dist/theme");
5
+ const crypto_1 = require("crypto");
6
+ const TTL_MS = 30 * 60 * 1000;
7
+ const store = new Map();
8
+ function prune() {
9
+ const now = Date.now();
10
+ for (const [token, item] of store) {
11
+ if (now - item.createdAt > TTL_MS)
12
+ store.delete(token);
13
+ }
14
+ }
15
+ function putPreviewDraft(payload) {
16
+ prune();
17
+ const token = (0, crypto_1.randomBytes)(16).toString('hex');
18
+ store.set(token, {
19
+ themeId: payload.themeId,
20
+ mods: payload.mods,
21
+ configuration: payload.configuration,
22
+ createdAt: Date.now(),
23
+ });
24
+ return token;
25
+ }
26
+ exports.putPreviewDraft = putPreviewDraft;
27
+ function getPreviewDraft(token) {
28
+ if (!(token === null || token === void 0 ? void 0 : token.trim()))
29
+ return null;
30
+ prune();
31
+ const item = store.get(token.trim());
32
+ if (!item)
33
+ return null;
34
+ if (Date.now() - item.createdAt > TTL_MS) {
35
+ store.delete(token.trim());
36
+ return null;
37
+ }
38
+ return item;
39
+ }
40
+ exports.getPreviewDraft = getPreviewDraft;
41
+ //# sourceMappingURL=preview-draft.store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-draft.store.js","sourceRoot":"","sources":["../../../src/modules/extension/preview-draft.store.ts"],"names":[],"mappings":";;;AAAA,0DAAuE;AACvE,mCAAqC;AASrC,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC9B,MAAM,KAAK,GAAG,IAAI,GAAG,EAA8B,CAAC;AAEpD,SAAS,KAAK;IACZ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE;QACjC,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM;YAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACxD;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,OAI/B;IACC,KAAK,EAAE,CAAC;IACR,MAAM,KAAK,GAAG,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE;QACf,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAdD,0CAcC;AAED,SAAgB,eAAe,CAAC,KAAa;IAC3C,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,CAAA;QAAE,OAAO,IAAI,CAAC;IAChC,KAAK,EAAE,CAAC;IACR,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE;QACxC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;KACb;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAVD,0CAUC"}
@@ -0,0 +1,56 @@
1
+ export type ThemeRegistryCatalogEntry = {
2
+ id: string;
3
+ name: string;
4
+ version: string;
5
+ description?: string;
6
+ author?: string;
7
+ themeUri?: string;
8
+ previewUrl?: string;
9
+ cover?: string;
10
+ tags?: string[];
11
+ dependency?: {
12
+ name: string;
13
+ version: string;
14
+ };
15
+ npm: string;
16
+ featured?: boolean;
17
+ requires?: string;
18
+ dir?: string;
19
+ };
20
+ type ThemeRegistryModule = {
21
+ readThemeCatalog: (root: string) => {
22
+ version: number;
23
+ themes: ThemeRegistryCatalogEntry[];
24
+ source: string | null;
25
+ };
26
+ findCatalogTheme: (root: string, idOrSpec: string) => ThemeRegistryCatalogEntry | null;
27
+ resolveCatalogInstallSpec: (root: string, input: string) => string | null;
28
+ catalogEntryToManifest: (entry: ThemeRegistryCatalogEntry) => Record<string, unknown> | null;
29
+ readThemesPackageMeta: (root: string) => {
30
+ bundled: string[];
31
+ catalog: string[];
32
+ };
33
+ validateCatalogThemes: (root: string) => {
34
+ catalog: string[];
35
+ missing: string[];
36
+ };
37
+ buildAggregatedCatalog: (root: string) => {
38
+ version: number;
39
+ themes: ThemeRegistryCatalogEntry[];
40
+ };
41
+ validateBundledThemes: (root: string) => {
42
+ bundled: string[];
43
+ missing: string[];
44
+ };
45
+ OFFICIAL_THEME_STARTER_ID: string;
46
+ OFFICIAL_THEME_STARTER_SPEC: string;
47
+ };
48
+ export declare function loadThemeRegistry(): ThemeRegistryModule;
49
+ export declare function readThemeCatalogEntries(root?: string): ThemeRegistryCatalogEntry[];
50
+ export declare function findThemeCatalogEntry(idOrSpec: string, root?: string): ThemeRegistryCatalogEntry | null;
51
+ export declare function resolveThemeCatalogInstallSpec(input: string, root?: string): string | null;
52
+ export declare function readThemesPackageMeta(root?: string): {
53
+ bundled: string[];
54
+ catalog: string[];
55
+ };
56
+ export {};
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readThemesPackageMeta = exports.resolveThemeCatalogInstallSpec = exports.findThemeCatalogEntry = exports.readThemeCatalogEntries = exports.loadThemeRegistry = void 0;
4
+ const fs = require("fs");
5
+ const path = require("path");
6
+ const project_root_util_1 = require("../../utils/project-root.util");
7
+ let cached = null;
8
+ function resolveThemeRegistryPath(monorepoRoot) {
9
+ const candidates = [
10
+ path.join(monorepoRoot, 'cli', 'out', 'lib', 'theme-registry.js'),
11
+ path.join(monorepoRoot, 'cli', 'lib', 'theme-registry.js'),
12
+ ];
13
+ for (const candidate of candidates) {
14
+ if (fs.existsSync(candidate))
15
+ return candidate;
16
+ }
17
+ return null;
18
+ }
19
+ function loadThemeRegistry() {
20
+ if (cached)
21
+ return cached;
22
+ const registryPath = resolveThemeRegistryPath((0, project_root_util_1.resolveMonorepoRoot)());
23
+ if (!registryPath) {
24
+ throw new Error('Theme registry is not available in this deployment');
25
+ }
26
+ cached = require(registryPath);
27
+ return cached;
28
+ }
29
+ exports.loadThemeRegistry = loadThemeRegistry;
30
+ function readThemeCatalogEntries(root = (0, project_root_util_1.resolveProjectRoot)()) {
31
+ return loadThemeRegistry().readThemeCatalog(root).themes;
32
+ }
33
+ exports.readThemeCatalogEntries = readThemeCatalogEntries;
34
+ function findThemeCatalogEntry(idOrSpec, root = (0, project_root_util_1.resolveProjectRoot)()) {
35
+ return loadThemeRegistry().findCatalogTheme(root, idOrSpec);
36
+ }
37
+ exports.findThemeCatalogEntry = findThemeCatalogEntry;
38
+ function resolveThemeCatalogInstallSpec(input, root = (0, project_root_util_1.resolveProjectRoot)()) {
39
+ return loadThemeRegistry().resolveCatalogInstallSpec(root, input);
40
+ }
41
+ exports.resolveThemeCatalogInstallSpec = resolveThemeCatalogInstallSpec;
42
+ function readThemesPackageMeta(root = (0, project_root_util_1.resolveProjectRoot)()) {
43
+ return loadThemeRegistry().readThemesPackageMeta(root);
44
+ }
45
+ exports.readThemesPackageMeta = readThemesPackageMeta;
46
+ //# sourceMappingURL=theme-registry.bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-registry.bridge.js","sourceRoot":"","sources":["../../../src/modules/extension/theme-registry.bridge.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,6BAA6B;AAE7B,qEAAwF;AAoCxF,IAAI,MAAM,GAA+B,IAAI,CAAC;AAE9C,SAAS,wBAAwB,CAAC,YAAoB;IACpD,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC;KAC3D,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAClC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;KAChD;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,SAAgB,iBAAiB;IAC/B,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAA,uCAAmB,GAAE,CAAC,CAAC;IACrE,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;KACvE;IAED,MAAM,GAAG,OAAO,CAAC,YAAY,CAAwB,CAAC;IACtD,OAAO,MAAM,CAAC;AAChB,CAAC;AATD,8CASC;AAED,SAAgB,uBAAuB,CAAC,IAAI,GAAG,IAAA,sCAAkB,GAAE;IACjE,OAAO,iBAAiB,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AAC3D,CAAC;AAFD,0DAEC;AAED,SAAgB,qBAAqB,CACnC,QAAgB,EAChB,IAAI,GAAG,IAAA,sCAAkB,GAAE;IAE3B,OAAO,iBAAiB,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC9D,CAAC;AALD,sDAKC;AAED,SAAgB,8BAA8B,CAC5C,KAAa,EACb,IAAI,GAAG,IAAA,sCAAkB,GAAE;IAE3B,OAAO,iBAAiB,EAAE,CAAC,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpE,CAAC;AALD,wEAKC;AAED,SAAgB,qBAAqB,CAAC,IAAI,GAAG,IAAA,sCAAkB,GAAE;IAC/D,OAAO,iBAAiB,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC;AAFD,sDAEC"}
@@ -0,0 +1,66 @@
1
+ import { Response } from 'express';
2
+ import { ThemeService } from './theme.service';
3
+ export declare class ThemeController {
4
+ private readonly themeService;
5
+ constructor(themeService: ThemeService);
6
+ getActivePublic(): Promise<{
7
+ activeTheme: string;
8
+ themeDir: string;
9
+ siteUrl: string;
10
+ }>;
11
+ list(): Promise<import("./theme.service").ThemeListItem[]>;
12
+ catalog(): import("./theme.service").ThemeCatalogEntry[];
13
+ installFromNpm(body: {
14
+ spec?: string;
15
+ skipDependencies?: boolean;
16
+ }): Promise<import("@fecommunity/reactpress-toolkit/theme").SiteThemeState & {
17
+ themeId: string;
18
+ npmSpec: string;
19
+ }>;
20
+ createPreviewDraft(body: {
21
+ themeId?: string;
22
+ mods?: Record<string, string>;
23
+ configuration?: Record<string, unknown>;
24
+ }): {
25
+ token: string;
26
+ };
27
+ getPreviewDraft(token: string): {
28
+ themeId?: string;
29
+ mods?: import("@fecommunity/reactpress-toolkit/theme").ThemeMods;
30
+ configuration?: Record<string, unknown>;
31
+ };
32
+ endPreviewSession(): Promise<import("@fecommunity/reactpress-toolkit/theme").SiteThemeState & {
33
+ siteUrl: string;
34
+ }>;
35
+ beginPreviewSession(id: string): Promise<import("./theme.service").ThemePreviewSessionResult>;
36
+ cover(id: string, res: Response): void;
37
+ preview(id: string, previewToken: string | undefined, modsQuery: string | undefined, res: Response): Promise<void>;
38
+ getLocale(id: string, locale: string): Promise<{
39
+ themeId: string;
40
+ locale: string;
41
+ messages: import("@fecommunity/reactpress-toolkit/theme").ThemeAdminLocaleMessages;
42
+ }>;
43
+ getConfigurationSchema(id: string): Promise<{
44
+ themeId: string;
45
+ schema: import("@fecommunity/reactpress-toolkit/theme").ThemeConfigurationSchema;
46
+ }>;
47
+ getConfiguration(id: string): Promise<{
48
+ themeId: string;
49
+ configuration: Record<string, unknown>;
50
+ }>;
51
+ updateConfiguration(id: string, body: {
52
+ configuration?: Record<string, unknown>;
53
+ replace?: boolean;
54
+ }): Promise<{
55
+ themeId: string;
56
+ configuration: Record<string, unknown>;
57
+ }>;
58
+ getOne(id: string): Promise<import("./theme.service").ThemeListItem>;
59
+ install(id: string): Promise<import("@fecommunity/reactpress-toolkit/theme").SiteThemeState>;
60
+ activate(id: string): Promise<import("@fecommunity/reactpress-toolkit/theme").SiteThemeState & {
61
+ siteUrl?: string;
62
+ }>;
63
+ updateMods(id: string, body: {
64
+ mods?: Record<string, string>;
65
+ }): Promise<import("@fecommunity/reactpress-toolkit/theme").SiteThemeState>;
66
+ }
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ThemeController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const swagger_1 = require("@nestjs/swagger");
18
+ const jwt_auth_guard_1 = require("../auth/jwt-auth.guard");
19
+ const roles_guard_1 = require("../auth/roles.guard");
20
+ const theme_service_1 = require("./theme.service");
21
+ let ThemeController = class ThemeController {
22
+ constructor(themeService) {
23
+ this.themeService = themeService;
24
+ }
25
+ getActivePublic() {
26
+ return this.themeService.getActiveThemePublic();
27
+ }
28
+ list() {
29
+ return this.themeService.listThemes();
30
+ }
31
+ catalog() {
32
+ return this.themeService.getThemeCatalog();
33
+ }
34
+ installFromNpm(body) {
35
+ var _a;
36
+ return this.themeService.installThemeFromNpm((_a = body === null || body === void 0 ? void 0 : body.spec) !== null && _a !== void 0 ? _a : '', {
37
+ skipDependencies: (body === null || body === void 0 ? void 0 : body.skipDependencies) === true,
38
+ });
39
+ }
40
+ createPreviewDraft(body) {
41
+ return this.themeService.createPreviewDraft({
42
+ themeId: body === null || body === void 0 ? void 0 : body.themeId,
43
+ mods: body === null || body === void 0 ? void 0 : body.mods,
44
+ configuration: body === null || body === void 0 ? void 0 : body.configuration,
45
+ });
46
+ }
47
+ getPreviewDraft(token) {
48
+ const draft = this.themeService.resolvePreviewDraft(token);
49
+ if (!draft) {
50
+ return { mods: {}, configuration: {} };
51
+ }
52
+ return draft;
53
+ }
54
+ endPreviewSession() {
55
+ return this.themeService.endPreviewSession();
56
+ }
57
+ beginPreviewSession(id) {
58
+ return this.themeService.beginPreviewSession(id);
59
+ }
60
+ cover(id, res) {
61
+ const filePath = this.themeService.getCoverPath(id);
62
+ if (filePath) {
63
+ res.sendFile(filePath);
64
+ return;
65
+ }
66
+ const svg = this.themeService.buildPlaceholderCoverSvg(id);
67
+ res.setHeader('Content-Type', 'image/svg+xml; charset=utf-8');
68
+ res.setHeader('Cache-Control', 'public, max-age=300');
69
+ res.send(svg);
70
+ }
71
+ async preview(id, previewToken, modsQuery, res) {
72
+ var _a;
73
+ let overrideMods = {};
74
+ if (previewToken === null || previewToken === void 0 ? void 0 : previewToken.trim()) {
75
+ const draft = this.themeService.resolvePreviewDraft(previewToken.trim());
76
+ overrideMods = ((_a = draft === null || draft === void 0 ? void 0 : draft.mods) !== null && _a !== void 0 ? _a : {});
77
+ }
78
+ else if (modsQuery) {
79
+ try {
80
+ overrideMods = JSON.parse(decodeURIComponent(modsQuery));
81
+ }
82
+ catch (_b) {
83
+ overrideMods = {};
84
+ }
85
+ }
86
+ const mods = await this.themeService.getPreviewMods(id, overrideMods);
87
+ const html = this.themeService.buildPreviewHtml(id, mods);
88
+ res.setHeader('Content-Type', 'text/html; charset=utf-8');
89
+ res.send(html);
90
+ }
91
+ getLocale(id, locale) {
92
+ return this.themeService.getThemeAdminLocale(id, locale);
93
+ }
94
+ getConfigurationSchema(id) {
95
+ return this.themeService.getThemeConfigurationSchema(id);
96
+ }
97
+ getConfiguration(id) {
98
+ return this.themeService.getThemeConfiguration(id);
99
+ }
100
+ updateConfiguration(id, body) {
101
+ var _a;
102
+ return this.themeService.updateThemeConfiguration(id, (_a = body === null || body === void 0 ? void 0 : body.configuration) !== null && _a !== void 0 ? _a : {}, {
103
+ replace: (body === null || body === void 0 ? void 0 : body.replace) === true,
104
+ });
105
+ }
106
+ getOne(id) {
107
+ return this.themeService.getTheme(id);
108
+ }
109
+ install(id) {
110
+ return this.themeService.installTheme(id);
111
+ }
112
+ activate(id) {
113
+ return this.themeService.activateTheme(id);
114
+ }
115
+ updateMods(id, body) {
116
+ var _a;
117
+ return this.themeService.updateThemeMods(id, (_a = body === null || body === void 0 ? void 0 : body.mods) !== null && _a !== void 0 ? _a : {});
118
+ }
119
+ };
120
+ __decorate([
121
+ (0, common_1.Get)('active/public'),
122
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'Current active theme for local dev / public site' }),
123
+ __metadata("design:type", Function),
124
+ __metadata("design:paramtypes", []),
125
+ __metadata("design:returntype", void 0)
126
+ ], ThemeController.prototype, "getActivePublic", null);
127
+ __decorate([
128
+ (0, common_1.Get)(),
129
+ (0, roles_guard_1.Roles)('admin'),
130
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard),
131
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'List installed and bundled themes' }),
132
+ __metadata("design:type", Function),
133
+ __metadata("design:paramtypes", []),
134
+ __metadata("design:returntype", void 0)
135
+ ], ThemeController.prototype, "list", null);
136
+ __decorate([
137
+ (0, common_1.Get)('catalog'),
138
+ (0, roles_guard_1.Roles)('admin'),
139
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard),
140
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'Official npm theme catalog' }),
141
+ __metadata("design:type", Function),
142
+ __metadata("design:paramtypes", []),
143
+ __metadata("design:returntype", void 0)
144
+ ], ThemeController.prototype, "catalog", null);
145
+ __decorate([
146
+ (0, common_1.Post)('install-npm'),
147
+ (0, roles_guard_1.Roles)('admin'),
148
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard),
149
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'Install a theme from an npm package spec' }),
150
+ __param(0, (0, common_1.Body)()),
151
+ __metadata("design:type", Function),
152
+ __metadata("design:paramtypes", [Object]),
153
+ __metadata("design:returntype", void 0)
154
+ ], ThemeController.prototype, "installFromNpm", null);
155
+ __decorate([
156
+ (0, common_1.Post)('preview-draft'),
157
+ (0, roles_guard_1.Roles)('admin'),
158
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard),
159
+ (0, swagger_1.ApiResponse)({
160
+ status: 200,
161
+ description: 'Store customizer preview payload; returns short token for iframe URL',
162
+ }),
163
+ __param(0, (0, common_1.Body)()),
164
+ __metadata("design:type", Function),
165
+ __metadata("design:paramtypes", [Object]),
166
+ __metadata("design:returntype", void 0)
167
+ ], ThemeController.prototype, "createPreviewDraft", null);
168
+ __decorate([
169
+ (0, common_1.Get)('preview-draft/:token'),
170
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'Public read of short-lived preview draft by token' }),
171
+ __param(0, (0, common_1.Param)('token')),
172
+ __metadata("design:type", Function),
173
+ __metadata("design:paramtypes", [String]),
174
+ __metadata("design:returntype", void 0)
175
+ ], ThemeController.prototype, "getPreviewDraft", null);
176
+ __decorate([
177
+ (0, common_1.Post)('preview-session/end'),
178
+ (0, roles_guard_1.Roles)('admin'),
179
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard),
180
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'Restore local dev theme to DB active theme' }),
181
+ __metadata("design:type", Function),
182
+ __metadata("design:paramtypes", []),
183
+ __metadata("design:returntype", void 0)
184
+ ], ThemeController.prototype, "endPreviewSession", null);
185
+ __decorate([
186
+ (0, common_1.Post)(':id/preview-session'),
187
+ (0, roles_guard_1.Roles)('admin'),
188
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard),
189
+ (0, swagger_1.ApiResponse)({
190
+ status: 200,
191
+ description: 'Run local theme dev for preview without activating in DB',
192
+ }),
193
+ __param(0, (0, common_1.Param)('id')),
194
+ __metadata("design:type", Function),
195
+ __metadata("design:paramtypes", [String]),
196
+ __metadata("design:returntype", void 0)
197
+ ], ThemeController.prototype, "beginPreviewSession", null);
198
+ __decorate([
199
+ (0, common_1.Get)(':id/cover'),
200
+ __param(0, (0, common_1.Param)('id')),
201
+ __param(1, (0, common_1.Res)()),
202
+ __metadata("design:type", Function),
203
+ __metadata("design:paramtypes", [String, Object]),
204
+ __metadata("design:returntype", void 0)
205
+ ], ThemeController.prototype, "cover", null);
206
+ __decorate([
207
+ (0, common_1.Get)(':id/preview'),
208
+ __param(0, (0, common_1.Param)('id')),
209
+ __param(1, (0, common_1.Query)('token')),
210
+ __param(2, (0, common_1.Query)('mods')),
211
+ __param(3, (0, common_1.Res)()),
212
+ __metadata("design:type", Function),
213
+ __metadata("design:paramtypes", [String, String, String, Object]),
214
+ __metadata("design:returntype", Promise)
215
+ ], ThemeController.prototype, "preview", null);
216
+ __decorate([
217
+ (0, common_1.Get)(':id/locales/:locale'),
218
+ (0, roles_guard_1.Roles)('admin'),
219
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard),
220
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'Customizer locale strings bundled with the theme' }),
221
+ __param(0, (0, common_1.Param)('id')),
222
+ __param(1, (0, common_1.Param)('locale')),
223
+ __metadata("design:type", Function),
224
+ __metadata("design:paramtypes", [String, String]),
225
+ __metadata("design:returntype", void 0)
226
+ ], ThemeController.prototype, "getLocale", null);
227
+ __decorate([
228
+ (0, common_1.Get)(':id/configuration-schema'),
229
+ (0, roles_guard_1.Roles)('admin'),
230
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard),
231
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'JSON Schema for theme site configuration' }),
232
+ __param(0, (0, common_1.Param)('id')),
233
+ __metadata("design:type", Function),
234
+ __metadata("design:paramtypes", [String]),
235
+ __metadata("design:returntype", void 0)
236
+ ], ThemeController.prototype, "getConfigurationSchema", null);
237
+ __decorate([
238
+ (0, common_1.Get)(':id/configuration'),
239
+ (0, roles_guard_1.Roles)('admin'),
240
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard),
241
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'Merged theme configuration (defaults + saved)' }),
242
+ __param(0, (0, common_1.Param)('id')),
243
+ __metadata("design:type", Function),
244
+ __metadata("design:paramtypes", [String]),
245
+ __metadata("design:returntype", void 0)
246
+ ], ThemeController.prototype, "getConfiguration", null);
247
+ __decorate([
248
+ (0, common_1.Post)(':id/configuration'),
249
+ (0, roles_guard_1.Roles)('admin'),
250
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard),
251
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'Patch theme configuration (validated against schema)' }),
252
+ __param(0, (0, common_1.Param)('id')),
253
+ __param(1, (0, common_1.Body)()),
254
+ __metadata("design:type", Function),
255
+ __metadata("design:paramtypes", [String, Object]),
256
+ __metadata("design:returntype", void 0)
257
+ ], ThemeController.prototype, "updateConfiguration", null);
258
+ __decorate([
259
+ (0, common_1.Get)(':id'),
260
+ (0, roles_guard_1.Roles)('admin'),
261
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard),
262
+ __param(0, (0, common_1.Param)('id')),
263
+ __metadata("design:type", Function),
264
+ __metadata("design:paramtypes", [String]),
265
+ __metadata("design:returntype", void 0)
266
+ ], ThemeController.prototype, "getOne", null);
267
+ __decorate([
268
+ (0, common_1.Post)(':id/install'),
269
+ (0, roles_guard_1.Roles)('admin'),
270
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard),
271
+ __param(0, (0, common_1.Param)('id')),
272
+ __metadata("design:type", Function),
273
+ __metadata("design:paramtypes", [String]),
274
+ __metadata("design:returntype", void 0)
275
+ ], ThemeController.prototype, "install", null);
276
+ __decorate([
277
+ (0, common_1.Post)(':id/activate'),
278
+ (0, roles_guard_1.Roles)('admin'),
279
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard),
280
+ __param(0, (0, common_1.Param)('id')),
281
+ __metadata("design:type", Function),
282
+ __metadata("design:paramtypes", [String]),
283
+ __metadata("design:returntype", void 0)
284
+ ], ThemeController.prototype, "activate", null);
285
+ __decorate([
286
+ (0, common_1.Post)(':id/mods'),
287
+ (0, roles_guard_1.Roles)('admin'),
288
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard),
289
+ __param(0, (0, common_1.Param)('id')),
290
+ __param(1, (0, common_1.Body)()),
291
+ __metadata("design:type", Function),
292
+ __metadata("design:paramtypes", [String, Object]),
293
+ __metadata("design:returntype", void 0)
294
+ ], ThemeController.prototype, "updateMods", null);
295
+ ThemeController = __decorate([
296
+ (0, swagger_1.ApiTags)('Extension'),
297
+ (0, common_1.Controller)('extension/themes'),
298
+ __metadata("design:paramtypes", [theme_service_1.ThemeService])
299
+ ], ThemeController);
300
+ exports.ThemeController = ThemeController;
301
+ //# sourceMappingURL=theme.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.controller.js","sourceRoot":"","sources":["../../../src/modules/extension/theme.controller.ts"],"names":[],"mappings":"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"}