@jant/core 0.7.0 → 0.7.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 (158) hide show
  1. package/bin/commands/export.js +3 -1
  2. package/bin/commands/import-site.js +689 -216
  3. package/bin/commands/setup.js +136 -0
  4. package/bin/commands/site/export.js +71 -34
  5. package/bin/commands/site/pull-media.js +2 -6
  6. package/bin/commands/site/snapshot/export.js +18 -60
  7. package/bin/commands/site/snapshot/import.js +22 -23
  8. package/bin/lib/d1-query.js +87 -2
  9. package/bin/lib/hugo-markdown.js +4 -0
  10. package/bin/lib/site-pull-media.js +21 -28
  11. package/bin/lib/site-selection.js +10 -1
  12. package/bin/lib/site-snapshot.js +338 -3
  13. package/bin/lib/sql-export.js +68 -5
  14. package/bin/lib/wrangler-cli.js +9 -0
  15. package/bin/lib/zip-archive.js +187 -0
  16. package/dist/{app-K_Aa1MMn.js → app-ZcaI1kPN.js} +732 -217
  17. package/dist/client/.vite/manifest.json +20 -20
  18. package/dist/client/_assets/chunks/{create-editor-CD3FhrOB.js → create-editor-B-m7X7S5.js} +50 -46
  19. package/dist/client/_assets/chunks/{sortable-list-CgaL2jCs.js → sortable-list-BJyd-LXE.js} +1 -1
  20. package/dist/client/_assets/chunks/{unsafe-svg-0QCkP0vZ.js → unsafe-svg-BkscJx69.js} +2 -2
  21. package/dist/client/_assets/{client-GiYENVw8.css → client-DAhoqPdr.css} +1 -1
  22. package/dist/client/_assets/{client-auth-k8gJ6QJj.js → client-auth-CAMfTrKW.js} +1 -1
  23. package/dist/client/_assets/{client-compose-B_kDtWkW.js → client-compose-D6rExKVK.js} +1 -1
  24. package/dist/client/_assets/{client-VnFxJN7G.js → client-knSEyUJO.js} +1 -1
  25. package/dist/client/_assets/{client-manage-M90aSTOk.js → client-manage-sVOkqVbH.js} +1 -1
  26. package/dist/client/_assets/{client-settings-DfYs9n1F.js → client-settings-CGR_nZ78.js} +7 -7
  27. package/dist/{github-sync-BPAvT999.js → github-sync-Gw4orAHk.js} +799 -110
  28. package/dist/index.js +2 -2
  29. package/dist/node.js +9 -5
  30. package/package.json +13 -3
  31. package/src/__tests__/dev-scripts.test.ts +203 -0
  32. package/src/__tests__/export-collection-order.test.ts +276 -0
  33. package/src/__tests__/export-feed-ids.test.ts +184 -0
  34. package/src/__tests__/export-feed-order.test.ts +294 -0
  35. package/src/__tests__/export-hugo-build.test.ts +130 -0
  36. package/src/__tests__/export-import-roundtrip.test.ts +94 -0
  37. package/src/__tests__/export-service.test.ts +611 -28
  38. package/src/__tests__/export-smart-collection.test.ts +329 -0
  39. package/src/__tests__/helpers/hugo-site.ts +146 -0
  40. package/src/__tests__/import-site-command.test.ts +487 -1
  41. package/src/__tests__/mise-config.test.ts +75 -4
  42. package/src/__tests__/node-dev-tasks.test.ts +264 -0
  43. package/src/__tests__/site-export-canonical-import.test.ts +149 -0
  44. package/src/__tests__/snapshot-canonical-replay.test.ts +179 -0
  45. package/src/__tests__/snapshot-settings.test.ts +97 -0
  46. package/src/__tests__/snapshot-tables.test.ts +219 -0
  47. package/src/__tests__/sql-export.test.ts +173 -0
  48. package/src/__tests__/zip-archive.test.ts +106 -0
  49. package/src/app.tsx +15 -6
  50. package/src/client/components/__tests__/jant-settings-avatar.test.ts +1 -1
  51. package/src/client/components/__tests__/jant-settings-general.test.ts +21 -1
  52. package/src/client/components/jant-repo-picker-types.ts +6 -1
  53. package/src/client/components/jant-repo-picker.ts +4 -7
  54. package/src/client/components/jant-settings-general.ts +17 -12
  55. package/src/client/tiptap/__tests__/list-editing.test.ts +224 -86
  56. package/src/client/tiptap/__tests__/mark-exit.test.ts +1 -2
  57. package/src/client/tiptap/__tests__/markdown-clipboard.test.ts +26 -0
  58. package/src/client/tiptap/extensions.ts +0 -3
  59. package/src/client/tiptap/structural-keymap.ts +158 -47
  60. package/src/db/__tests__/d1-query.test.ts +56 -1
  61. package/src/i18n/locales/settings/en.po +8 -8
  62. package/src/i18n/locales/settings/en.ts +1 -1
  63. package/src/i18n/locales/settings/zh-Hans.po +8 -8
  64. package/src/i18n/locales/settings/zh-Hans.ts +1 -1
  65. package/src/i18n/locales/settings/zh-Hant.po +8 -8
  66. package/src/i18n/locales/settings/zh-Hant.ts +1 -1
  67. package/src/lib/__tests__/github-sync-repo-name.test.ts +40 -0
  68. package/src/lib/__tests__/image.test.ts +27 -1
  69. package/src/lib/__tests__/markdown-to-tiptap.test.ts +105 -0
  70. package/src/lib/__tests__/markdown.test.ts +10 -0
  71. package/src/lib/__tests__/resolve-config.test.ts +67 -0
  72. package/src/lib/__tests__/schemas.test.ts +27 -1
  73. package/src/lib/__tests__/timeline.test.ts +87 -0
  74. package/src/lib/__tests__/tiptap-to-markdown.test.ts +172 -4
  75. package/src/lib/discover.ts +3 -1
  76. package/src/lib/github-sync-repo-name.ts +45 -0
  77. package/src/lib/hugo-markdown.ts +46 -0
  78. package/src/lib/image.ts +17 -4
  79. package/src/lib/markdown-manager.ts +392 -2
  80. package/src/lib/post-body-html.ts +11 -4
  81. package/src/lib/resolve-config.ts +58 -1
  82. package/src/lib/schemas.ts +50 -5
  83. package/src/lib/thread-fold.ts +3 -3
  84. package/src/lib/timeline.ts +1 -1
  85. package/src/lib/tiptap-to-markdown.ts +13 -7
  86. package/src/lib/url.ts +20 -0
  87. package/src/lib/view.ts +2 -2
  88. package/src/node/__tests__/cli-setup.test.ts +163 -0
  89. package/src/node/__tests__/cli-site-snapshot.test.ts +67 -0
  90. package/src/node/__tests__/cli-snapshot-meta.test.ts +20 -0
  91. package/src/node/__tests__/runtime.test.ts +38 -0
  92. package/src/node/index.ts +2 -0
  93. package/src/node/request-handler.ts +3 -1
  94. package/src/routes/api/__tests__/posts.test.ts +24 -0
  95. package/src/routes/api/__tests__/upload.test.ts +34 -0
  96. package/src/routes/api/export.ts +3 -3
  97. package/src/routes/api/internal/sites.ts +0 -1
  98. package/src/routes/api/posts.ts +2 -0
  99. package/src/routes/api/public/posts.ts +21 -1
  100. package/src/routes/api/upload.ts +10 -3
  101. package/src/routes/compose.tsx +4 -0
  102. package/src/routes/dash/__tests__/github-sync-app.test.ts +365 -0
  103. package/src/routes/dash/settings.tsx +212 -70
  104. package/src/routes/pages/__tests__/post-page-round-trips.test.ts +211 -0
  105. package/src/routes/pages/__tests__/thread-order.test.ts +179 -0
  106. package/src/routes/pages/archive.tsx +17 -11
  107. package/src/routes/pages/featured.tsx +11 -5
  108. package/src/routes/pages/page.tsx +53 -31
  109. package/src/routes/pages/search.tsx +4 -2
  110. package/src/runtime/__tests__/readiness.test.ts +23 -0
  111. package/src/runtime/node.ts +49 -0
  112. package/src/runtime/readiness.ts +15 -0
  113. package/src/services/__tests__/bootstrap-setup-instance.test.ts +230 -0
  114. package/src/services/__tests__/custom-url.test.ts +34 -0
  115. package/src/services/__tests__/github-app-installations.test.ts +153 -0
  116. package/src/services/__tests__/github-sync-push.test.ts +46 -0
  117. package/src/services/__tests__/media.test.ts +31 -0
  118. package/src/services/__tests__/path.test.ts +56 -0
  119. package/src/services/__tests__/post-timeline.test.ts +127 -0
  120. package/src/services/__tests__/post.test.ts +74 -0
  121. package/src/services/bootstrap.ts +263 -44
  122. package/src/services/custom-url.ts +2 -2
  123. package/src/services/export-theme/layouts/_default/alias.html +27 -1
  124. package/src/services/export-theme/layouts/_default/list.html +2 -63
  125. package/src/services/export-theme/layouts/_default/rss.xml +27 -38
  126. package/src/services/export-theme/layouts/collections/list.html +3 -3
  127. package/src/services/export-theme/layouts/featured/list.html +1 -4
  128. package/src/services/export-theme/layouts/index.html +40 -26
  129. package/src/services/export-theme/layouts/partials/collection-members.html +100 -0
  130. package/src/services/export-theme/layouts/partials/collection-threads.html +33 -0
  131. package/src/services/export-theme/layouts/partials/featured-members.html +35 -0
  132. package/src/services/export-theme/layouts/partials/featured-thread.html +1 -1
  133. package/src/services/export-theme/layouts/partials/footer.html +1 -1
  134. package/src/services/export-theme/layouts/partials/head.html +1 -1
  135. package/src/services/export-theme/layouts/partials/header.html +5 -3
  136. package/src/services/export-theme/layouts/partials/jant-data.html +23 -0
  137. package/src/services/export-theme/layouts/partials/latest-members.html +48 -0
  138. package/src/services/export-theme/layouts/partials/smart-collection-members.html +129 -0
  139. package/src/services/export-theme/layouts/partials/thread-preview.html +1 -1
  140. package/src/services/export-theme/layouts/post/list.html +1 -1
  141. package/src/services/export-theme/layouts/smart_collection/list.html +24 -0
  142. package/src/services/export-theme/styles/main.css +0 -1
  143. package/src/services/export-theme/theme.toml +1 -1
  144. package/src/services/export.ts +620 -71
  145. package/src/services/github-app-installations.ts +171 -4
  146. package/src/services/github-sync.ts +69 -15
  147. package/src/services/mcp.ts +19 -1
  148. package/src/services/media.ts +8 -1
  149. package/src/services/path.ts +34 -1
  150. package/src/services/post.ts +214 -39
  151. package/src/services/site-admin.ts +3 -7
  152. package/src/services/site.ts +83 -31
  153. package/src/styles/ui.css +7 -1
  154. package/src/types/app-context.ts +16 -0
  155. package/src/types/bindings.ts +5 -0
  156. package/src/types/operations.ts +10 -0
  157. package/src/ui/dash/settings/GeneralContent.tsx +10 -8
  158. package/src/client/tiptap/exitable-marks.ts +0 -73
@@ -136,8 +136,8 @@
136
136
  "_lit-DW8VmJAT.js"
137
137
  ]
138
138
  },
139
- "_create-editor-CD3FhrOB.js": {
140
- "file": "_assets/chunks/create-editor-CD3FhrOB.js",
139
+ "_create-editor-B-m7X7S5.js": {
140
+ "file": "_assets/chunks/create-editor-B-m7X7S5.js",
141
141
  "name": "create-editor",
142
142
  "imports": [
143
143
  "_lit-DW8VmJAT.js",
@@ -202,13 +202,13 @@
202
202
  "_types-D5iF3H1a.js"
203
203
  ]
204
204
  },
205
- "_sortable-list-CgaL2jCs.js": {
206
- "file": "_assets/chunks/sortable-list-CgaL2jCs.js",
205
+ "_sortable-list-BJyd-LXE.js": {
206
+ "file": "_assets/chunks/sortable-list-BJyd-LXE.js",
207
207
  "name": "sortable-list",
208
208
  "imports": [
209
209
  "_lit-DW8VmJAT.js",
210
210
  "_unsafe-html-B5ZEXaxg.js",
211
- "_create-editor-CD3FhrOB.js"
211
+ "_create-editor-B-m7X7S5.js"
212
212
  ]
213
213
  },
214
214
  "_types-D5iF3H1a.js": {
@@ -222,8 +222,8 @@
222
222
  "_lit-DW8VmJAT.js"
223
223
  ]
224
224
  },
225
- "_unsafe-svg-0QCkP0vZ.js": {
226
- "file": "_assets/chunks/unsafe-svg-0QCkP0vZ.js",
225
+ "_unsafe-svg-BkscJx69.js": {
226
+ "file": "_assets/chunks/unsafe-svg-BkscJx69.js",
227
227
  "name": "unsafe-svg",
228
228
  "imports": [
229
229
  "_lit-DW8VmJAT.js",
@@ -239,7 +239,7 @@
239
239
  ]
240
240
  },
241
241
  "src/client-auth.ts": {
242
- "file": "_assets/client-auth-k8gJ6QJj.js",
242
+ "file": "_assets/client-auth-CAMfTrKW.js",
243
243
  "name": "client-auth",
244
244
  "src": "src/client-auth.ts",
245
245
  "isEntry": true,
@@ -248,14 +248,14 @@
248
248
  "src/client.ts",
249
249
  "src/client.ts",
250
250
  "_confirm-D7GrwsCN.js",
251
- "_unsafe-svg-0QCkP0vZ.js",
251
+ "_unsafe-svg-BkscJx69.js",
252
252
  "_slug-format-CRXO1AL5.js",
253
253
  "_types-D5iF3H1a.js",
254
254
  "_settings-paths-BcdySNx6.js"
255
255
  ]
256
256
  },
257
257
  "src/client-compose.ts": {
258
- "file": "_assets/client-compose-B_kDtWkW.js",
258
+ "file": "_assets/client-compose-D6rExKVK.js",
259
259
  "name": "client-compose",
260
260
  "src": "src/client-compose.ts",
261
261
  "isEntry": true,
@@ -263,11 +263,11 @@
263
263
  "_lit-DW8VmJAT.js",
264
264
  "_footnote-rail-CmeoVtnU.js",
265
265
  "_unsafe-html-B5ZEXaxg.js",
266
- "_unsafe-svg-0QCkP0vZ.js",
266
+ "_unsafe-svg-BkscJx69.js",
267
267
  "_slug-format-CRXO1AL5.js",
268
268
  "_types-D5iF3H1a.js",
269
- "_sortable-list-CgaL2jCs.js",
270
- "_create-editor-CD3FhrOB.js"
269
+ "_sortable-list-BJyd-LXE.js",
270
+ "_create-editor-B-m7X7S5.js"
271
271
  ],
272
272
  "dynamicImports": [
273
273
  "_emoji-mart-C4RpRKcU.js",
@@ -276,7 +276,7 @@
276
276
  ]
277
277
  },
278
278
  "src/client-manage.ts": {
279
- "file": "_assets/client-manage-M90aSTOk.js",
279
+ "file": "_assets/client-manage-sVOkqVbH.js",
280
280
  "name": "client-manage",
281
281
  "src": "src/client-manage.ts",
282
282
  "isEntry": true,
@@ -288,12 +288,12 @@
288
288
  "_slug-format-CRXO1AL5.js",
289
289
  "_types-D5iF3H1a.js",
290
290
  "_settings-paths-BcdySNx6.js",
291
- "_sortable-list-CgaL2jCs.js",
292
- "_create-editor-CD3FhrOB.js"
291
+ "_sortable-list-BJyd-LXE.js",
292
+ "_create-editor-B-m7X7S5.js"
293
293
  ]
294
294
  },
295
295
  "src/client-settings.ts": {
296
- "file": "_assets/client-settings-DfYs9n1F.js",
296
+ "file": "_assets/client-settings-CGR_nZ78.js",
297
297
  "name": "client-settings",
298
298
  "src": "src/client-settings.ts",
299
299
  "isEntry": true,
@@ -302,11 +302,11 @@
302
302
  "_jant-locale-picker-DL6mIOT5.js",
303
303
  "_confirm-D7GrwsCN.js",
304
304
  "_types-D5iF3H1a.js",
305
- "_create-editor-CD3FhrOB.js"
305
+ "_create-editor-B-m7X7S5.js"
306
306
  ]
307
307
  },
308
308
  "src/client.ts": {
309
- "file": "_assets/client-VnFxJN7G.js",
309
+ "file": "_assets/client-knSEyUJO.js",
310
310
  "name": "client",
311
311
  "src": "src/client.ts",
312
312
  "isEntry": true,
@@ -1023,7 +1023,7 @@
1023
1023
  ]
1024
1024
  },
1025
1025
  "src/style.css": {
1026
- "file": "_assets/client-GiYENVw8.css",
1026
+ "file": "_assets/client-DAhoqPdr.css",
1027
1027
  "name": "style",
1028
1028
  "names": [
1029
1029
  "style.css"