d1s 0.2.10 → 0.2.12

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 (329) hide show
  1. package/dist/.next/.next/BUILD_ID +1 -1
  2. package/dist/.next/.next/app-build-manifest.json +33 -33
  3. package/dist/.next/.next/app-path-routes-manifest.json +1 -1
  4. package/dist/.next/.next/build-manifest.json +3 -3
  5. package/dist/.next/.next/cache/.rscinfo +1 -1
  6. package/dist/.next/.next/cache/.tsbuildinfo +1 -1
  7. package/dist/.next/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/dist/.next/.next/cache/webpack/client-production/1.pack +0 -0
  9. package/dist/.next/.next/cache/webpack/client-production/10.pack +0 -0
  10. package/dist/.next/.next/cache/webpack/client-production/11.pack +0 -0
  11. package/dist/.next/.next/cache/webpack/client-production/12.pack +0 -0
  12. package/dist/.next/.next/cache/webpack/client-production/2.pack +0 -0
  13. package/dist/.next/.next/cache/webpack/client-production/3.pack +0 -0
  14. package/dist/.next/.next/cache/webpack/client-production/4.pack +0 -0
  15. package/dist/.next/.next/cache/webpack/client-production/5.pack +0 -0
  16. package/dist/.next/.next/cache/webpack/client-production/6.pack +0 -0
  17. package/dist/.next/.next/cache/webpack/client-production/7.pack +0 -0
  18. package/dist/.next/.next/cache/webpack/client-production/8.pack +0 -0
  19. package/dist/.next/.next/cache/webpack/client-production/9.pack +0 -0
  20. package/dist/.next/.next/cache/webpack/client-production/index.pack +0 -0
  21. package/dist/.next/.next/cache/webpack/client-production/index.pack.old +0 -0
  22. package/dist/.next/.next/cache/webpack/edge-server-production/index.pack +0 -0
  23. package/dist/.next/.next/cache/webpack/server-production/0.pack +0 -0
  24. package/dist/.next/.next/cache/webpack/server-production/1.pack +0 -0
  25. package/dist/.next/.next/cache/webpack/server-production/index.pack +0 -0
  26. package/dist/.next/.next/cache/webpack/server-production/index.pack.old +0 -0
  27. package/dist/.next/.next/next-minimal-server.js.nft.json +1 -1
  28. package/dist/.next/.next/next-server.js.nft.json +1 -1
  29. package/dist/.next/.next/prerender-manifest.json +1 -1
  30. package/dist/.next/.next/required-server-files.json +1 -1
  31. package/dist/.next/.next/server/app/_not-found/page.js +1 -1
  32. package/dist/.next/.next/server/app/_not-found/page.js.nft.json +1 -1
  33. package/dist/.next/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  34. package/dist/.next/.next/server/app/_not-found.html +1 -1
  35. package/dist/.next/.next/server/app/_not-found.rsc +4 -4
  36. package/dist/.next/.next/server/app/api/cloudflare/route.js +1 -1
  37. package/dist/.next/.next/server/app/api/cloudflare/route_client-reference-manifest.js +1 -1
  38. package/dist/.next/.next/server/app/api/databases/route.js +1 -1
  39. package/dist/.next/.next/server/app/api/databases/route_client-reference-manifest.js +1 -1
  40. package/dist/.next/.next/server/app/api/migrations/sync/route.js +5 -5
  41. package/dist/.next/.next/server/app/api/migrations/sync/route_client-reference-manifest.js +1 -1
  42. package/dist/.next/.next/server/app/api/migrations/sync-files/route.js +3 -3
  43. package/dist/.next/.next/server/app/api/migrations/sync-files/route_client-reference-manifest.js +1 -1
  44. package/dist/.next/.next/server/app/api/pull-data/confirm/route.js +1 -1
  45. package/dist/.next/.next/server/app/api/pull-data/confirm/route_client-reference-manifest.js +1 -1
  46. package/dist/.next/.next/server/app/api/pull-remote/confirm/route.js +2 -2
  47. package/dist/.next/.next/server/app/api/pull-remote/confirm/route_client-reference-manifest.js +1 -1
  48. package/dist/.next/.next/server/app/api/pull-remote/preview/route.js +4 -4
  49. package/dist/.next/.next/server/app/api/pull-remote/preview/route_client-reference-manifest.js +1 -1
  50. package/dist/.next/.next/server/app/api/push-remote/confirm/route.js +5 -5
  51. package/dist/.next/.next/server/app/api/push-remote/confirm/route_client-reference-manifest.js +1 -1
  52. package/dist/.next/.next/server/app/api/push-remote/preview/route.js +4 -4
  53. package/dist/.next/.next/server/app/api/push-remote/preview/route_client-reference-manifest.js +1 -1
  54. package/dist/.next/.next/server/app/api/query/route.js +3 -3
  55. package/dist/.next/.next/server/app/api/query/route_client-reference-manifest.js +1 -1
  56. package/dist/.next/.next/server/app/api/tables/[name]/route.js +5 -5
  57. package/dist/.next/.next/server/app/api/tables/[name]/route_client-reference-manifest.js +1 -1
  58. package/dist/.next/.next/server/app/api/tables/route.js +2 -2
  59. package/dist/.next/.next/server/app/api/tables/route_client-reference-manifest.js +1 -1
  60. package/dist/.next/.next/server/app/api/update/route.js +1 -1
  61. package/dist/.next/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  62. package/dist/.next/.next/server/app/index.html +3 -3
  63. package/dist/.next/.next/server/app/index.rsc +5 -5
  64. package/dist/.next/.next/server/app/page.js +11 -13
  65. package/dist/.next/.next/server/app/page.js.nft.json +1 -1
  66. package/dist/.next/.next/server/app/page_client-reference-manifest.js +1 -1
  67. package/dist/.next/.next/server/app-paths-manifest.json +3 -3
  68. package/dist/.next/.next/server/chunks/226.js +12 -12
  69. package/dist/.next/.next/server/chunks/391.js +5 -5
  70. package/dist/.next/.next/server/chunks/452.js +1 -1
  71. package/dist/.next/.next/server/chunks/572.js +1 -0
  72. package/dist/.next/.next/server/chunks/627.js +3 -3
  73. package/dist/.next/.next/server/chunks/638.js +3 -3
  74. package/dist/.next/.next/server/chunks/992.js +3 -3
  75. package/dist/.next/.next/server/middleware-build-manifest.js +1 -1
  76. package/dist/.next/.next/server/next-font-manifest.js +1 -1
  77. package/dist/.next/.next/server/next-font-manifest.json +1 -1
  78. package/dist/.next/.next/server/pages/404.html +1 -1
  79. package/dist/.next/.next/server/pages/500.html +1 -1
  80. package/dist/.next/.next/server/pages/_app.js +1 -1
  81. package/dist/.next/.next/server/pages/_document.js +1 -1
  82. package/dist/.next/.next/server/pages/_error.js +1 -1
  83. package/dist/.next/.next/server/server-reference-manifest.json +1 -1
  84. package/dist/.next/.next/static/chunks/576-18a2209e1ed26aad.js +1 -0
  85. package/dist/.next/.next/static/chunks/{92-c4466e0f1ca8a3a8.js → 92-5f7522943fcb72a8.js} +1 -1
  86. package/dist/.next/.next/static/chunks/app/{layout-be6ee67cf0c92654.js → layout-40ec07d04681ba81.js} +1 -1
  87. package/dist/.next/.next/static/chunks/app/page-f05cd0fc436bf9bc.js +1 -0
  88. package/dist/.next/.next/static/chunks/{main-app-fa35024de9bd9284.js → main-app-4506e88db72db4b7.js} +1 -1
  89. package/dist/.next/.next/static/css/7c16f57d325d0d7d.css +3 -0
  90. package/dist/.next/.next/static/gABGrAoO8IPArDo_Ns_7g/_buildManifest.js +1 -0
  91. package/dist/.next/.next/static/gABGrAoO8IPArDo_Ns_7g/_ssgManifest.js +1 -0
  92. package/dist/.next/.next/static/gh-QfIUVo4FTTduYCVKT6/_buildManifest.js +1 -0
  93. package/dist/.next/.next/static/gh-QfIUVo4FTTduYCVKT6/_ssgManifest.js +1 -0
  94. package/dist/.next/.next/static/media/8d697b304b401681-s.woff2 +0 -0
  95. package/dist/.next/.next/static/media/9610d9e46709d722-s.woff2 +0 -0
  96. package/dist/.next/.next/static/ybCx6L6gHqtODbKmlhU-d/_buildManifest.js +1 -0
  97. package/dist/.next/.next/static/ybCx6L6gHqtODbKmlhU-d/_ssgManifest.js +1 -0
  98. package/dist/.next/.next/trace +3 -3
  99. package/dist/.next/.next/types/app/api/cloudflare/route.ts +1 -1
  100. package/dist/.next/.next/types/app/api/databases/route.ts +1 -1
  101. package/dist/.next/.next/types/app/api/migrations/sync/route.ts +1 -1
  102. package/dist/.next/.next/types/app/api/migrations/sync-files/route.ts +1 -1
  103. package/dist/.next/.next/types/app/api/pull-data/confirm/route.ts +1 -1
  104. package/dist/.next/.next/types/app/api/pull-remote/confirm/route.ts +1 -1
  105. package/dist/.next/.next/types/app/api/pull-remote/preview/route.ts +1 -1
  106. package/dist/.next/.next/types/app/api/push-remote/confirm/route.ts +1 -1
  107. package/dist/.next/.next/types/app/api/push-remote/preview/route.ts +1 -1
  108. package/dist/.next/.next/types/app/api/query/route.ts +1 -1
  109. package/dist/.next/.next/types/app/api/tables/[name]/route.ts +1 -1
  110. package/dist/.next/.next/types/app/api/tables/route.ts +1 -1
  111. package/dist/.next/.next/types/app/api/update/route.ts +1 -1
  112. package/dist/.next/.next/types/app/page.ts +1 -1
  113. package/dist/.next/BUILD_ID +1 -1
  114. package/dist/.next/app-build-manifest.json +32 -32
  115. package/dist/.next/app-path-routes-manifest.json +1 -1
  116. package/dist/.next/build-manifest.json +3 -3
  117. package/dist/.next/cache/.rscinfo +1 -1
  118. package/dist/.next/cache/.tsbuildinfo +1 -1
  119. package/dist/.next/cache/webpack/client-production/0.pack +0 -0
  120. package/dist/.next/cache/webpack/client-production/1.pack +0 -0
  121. package/dist/.next/cache/webpack/client-production/2.pack +0 -0
  122. package/dist/.next/cache/webpack/client-production/index.pack +0 -0
  123. package/dist/.next/cache/webpack/client-production/index.pack.old +0 -0
  124. package/dist/.next/cache/webpack/edge-server-production/index.pack +0 -0
  125. package/dist/.next/cache/webpack/server-production/0.pack +0 -0
  126. package/dist/.next/cache/webpack/server-production/index.pack +0 -0
  127. package/dist/.next/next-minimal-server.js.nft.json +1 -1
  128. package/dist/.next/next-server.js.nft.json +1 -1
  129. package/dist/.next/prerender-manifest.json +1 -1
  130. package/dist/.next/required-server-files.json +1 -1
  131. package/dist/.next/server/app/_not-found/page.js +1 -1
  132. package/dist/.next/server/app/_not-found/page.js.nft.json +1 -1
  133. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  134. package/dist/.next/server/app/_not-found.html +1 -1
  135. package/dist/.next/server/app/_not-found.rsc +4 -4
  136. package/dist/.next/server/app/api/cloudflare/route.js +1 -1
  137. package/dist/.next/server/app/api/cloudflare/route_client-reference-manifest.js +1 -1
  138. package/dist/.next/server/app/api/databases/route.js +1 -1
  139. package/dist/.next/server/app/api/databases/route_client-reference-manifest.js +1 -1
  140. package/dist/.next/server/app/api/migrations/sync/route.js +5 -5
  141. package/dist/.next/server/app/api/migrations/sync/route_client-reference-manifest.js +1 -1
  142. package/dist/.next/server/app/api/migrations/sync-files/route.js +3 -3
  143. package/dist/.next/server/app/api/migrations/sync-files/route_client-reference-manifest.js +1 -1
  144. package/dist/.next/server/app/api/pull-data/confirm/route.js +1 -1
  145. package/dist/.next/server/app/api/pull-data/confirm/route_client-reference-manifest.js +1 -1
  146. package/dist/.next/server/app/api/pull-remote/confirm/route.js +2 -2
  147. package/dist/.next/server/app/api/pull-remote/confirm/route_client-reference-manifest.js +1 -1
  148. package/dist/.next/server/app/api/pull-remote/preview/route.js +4 -4
  149. package/dist/.next/server/app/api/pull-remote/preview/route_client-reference-manifest.js +1 -1
  150. package/dist/.next/server/app/api/push-remote/confirm/route.js +5 -5
  151. package/dist/.next/server/app/api/push-remote/confirm/route_client-reference-manifest.js +1 -1
  152. package/dist/.next/server/app/api/push-remote/preview/route.js +4 -4
  153. package/dist/.next/server/app/api/push-remote/preview/route_client-reference-manifest.js +1 -1
  154. package/dist/.next/server/app/api/query/route.js +3 -3
  155. package/dist/.next/server/app/api/query/route_client-reference-manifest.js +1 -1
  156. package/dist/.next/server/app/api/tables/[name]/route.js +5 -5
  157. package/dist/.next/server/app/api/tables/[name]/route_client-reference-manifest.js +1 -1
  158. package/dist/.next/server/app/api/tables/route.js +2 -2
  159. package/dist/.next/server/app/api/tables/route_client-reference-manifest.js +1 -1
  160. package/dist/.next/server/app/api/update/route.js +1 -1
  161. package/dist/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  162. package/dist/.next/server/app/index.html +3 -3
  163. package/dist/.next/server/app/index.rsc +5 -5
  164. package/dist/.next/server/app/page.js +11 -13
  165. package/dist/.next/server/app/page.js.nft.json +1 -1
  166. package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
  167. package/dist/.next/server/app-paths-manifest.json +2 -2
  168. package/dist/.next/server/chunks/226.js +12 -12
  169. package/dist/.next/server/chunks/391.js +5 -5
  170. package/dist/.next/server/chunks/452.js +1 -1
  171. package/dist/.next/server/chunks/572.js +1 -0
  172. package/dist/.next/server/chunks/627.js +3 -3
  173. package/dist/.next/server/chunks/638.js +3 -3
  174. package/dist/.next/server/chunks/992.js +3 -3
  175. package/dist/.next/server/middleware-build-manifest.js +1 -1
  176. package/dist/.next/server/next-font-manifest.js +1 -1
  177. package/dist/.next/server/next-font-manifest.json +1 -1
  178. package/dist/.next/server/pages/404.html +1 -1
  179. package/dist/.next/server/pages/500.html +1 -1
  180. package/dist/.next/server/pages/_app.js +1 -1
  181. package/dist/.next/server/pages/_document.js +1 -1
  182. package/dist/.next/server/pages/_error.js +1 -1
  183. package/dist/.next/server/server-reference-manifest.json +1 -1
  184. package/dist/.next/static/IX-QLbm7scYnyqWeeimal/_buildManifest.js +1 -0
  185. package/dist/.next/static/IX-QLbm7scYnyqWeeimal/_ssgManifest.js +1 -0
  186. package/dist/.next/static/chunks/576-18a2209e1ed26aad.js +1 -0
  187. package/dist/.next/static/chunks/{92-c4466e0f1ca8a3a8.js → 92-5f7522943fcb72a8.js} +1 -1
  188. package/dist/.next/static/chunks/app/{layout-be6ee67cf0c92654.js → layout-40ec07d04681ba81.js} +1 -1
  189. package/dist/.next/static/chunks/app/page-f05cd0fc436bf9bc.js +1 -0
  190. package/dist/.next/static/chunks/{main-app-fa35024de9bd9284.js → main-app-4506e88db72db4b7.js} +1 -1
  191. package/dist/.next/static/css/7c16f57d325d0d7d.css +3 -0
  192. package/dist/.next/static/media/8d697b304b401681-s.woff2 +0 -0
  193. package/dist/.next/static/media/9610d9e46709d722-s.woff2 +0 -0
  194. package/dist/.next/trace +3 -16
  195. package/dist/.next/types/app/api/cloudflare/route.ts +1 -1
  196. package/dist/.next/types/app/api/databases/route.ts +1 -1
  197. package/dist/.next/types/app/api/migrations/sync/route.ts +1 -1
  198. package/dist/.next/types/app/api/migrations/sync-files/route.ts +1 -1
  199. package/dist/.next/types/app/api/pull-data/confirm/route.ts +1 -1
  200. package/dist/.next/types/app/api/pull-remote/confirm/route.ts +1 -1
  201. package/dist/.next/types/app/api/pull-remote/preview/route.ts +1 -1
  202. package/dist/.next/types/app/api/push-remote/confirm/route.ts +1 -1
  203. package/dist/.next/types/app/api/push-remote/preview/route.ts +1 -1
  204. package/dist/.next/types/app/api/query/route.ts +1 -1
  205. package/dist/.next/types/app/api/tables/[name]/route.ts +1 -1
  206. package/dist/.next/types/app/api/tables/route.ts +1 -1
  207. package/dist/.next/types/app/api/update/route.ts +1 -1
  208. package/dist/.next/types/app/page.ts +1 -1
  209. package/dist/app/api/tables/[name]/route.js +22 -10
  210. package/dist/app/globals.css +39 -0
  211. package/dist/app/page.jsx +13 -23
  212. package/dist/d1-studio.js +34 -4
  213. package/dist/lib/data-type-handlers.js +426 -0
  214. package/dist/lib/sql-operations.js +32 -8
  215. package/dist/lib/sql-sanitizer.js +233 -0
  216. package/package.json +3 -9
  217. package/dist/.next/.next/cache/webpack/server-production/2.pack +0 -0
  218. package/dist/.next/.next/server/chunks/90.js +0 -1
  219. package/dist/.next/.next/static/chunks/700-dc8f9f08b166c5e6.js +0 -1
  220. package/dist/.next/.next/static/chunks/app/page-16ec561fc8bebb5d.js +0 -1
  221. package/dist/.next/.next/static/css/0c512cea5f3d317a.css +0 -3
  222. package/dist/.next/server/chunks/90.js +0 -1
  223. package/dist/.next/static/chunks/700-dc8f9f08b166c5e6.js +0 -1
  224. package/dist/.next/static/chunks/app/page-16ec561fc8bebb5d.js +0 -1
  225. package/dist/.next/static/css/0c512cea5f3d317a.css +0 -3
  226. package/dist/app/app/api/cloudflare/route.js +0 -150
  227. package/dist/app/app/api/databases/route.js +0 -71
  228. package/dist/app/app/api/migrations/sync/route.js +0 -174
  229. package/dist/app/app/api/migrations/sync-files/route.js +0 -172
  230. package/dist/app/app/api/pull-data/confirm/route.js +0 -230
  231. package/dist/app/app/api/pull-remote/confirm/route.js +0 -278
  232. package/dist/app/app/api/pull-remote/preview/route.js +0 -144
  233. package/dist/app/app/api/push-remote/confirm/route.js +0 -196
  234. package/dist/app/app/api/push-remote/preview/route.js +0 -179
  235. package/dist/app/app/api/query/route.js +0 -168
  236. package/dist/app/app/api/tables/[name]/route.js +0 -174
  237. package/dist/app/app/api/tables/route.js +0 -178
  238. package/dist/app/app/api/update/route.js +0 -45
  239. package/dist/app/app/globals.css +0 -93
  240. package/dist/app/app/layout.jsx +0 -35
  241. package/dist/app/app/page.jsx +0 -44
  242. package/next.config.mjs +0 -18
  243. package/postcss.config.mjs +0 -8
  244. package/scripts/studio.js +0 -169
  245. package/scripts/test.js +0 -366
  246. package/src/app/api/cloudflare/route.js +0 -150
  247. package/src/app/api/databases/route.js +0 -71
  248. package/src/app/api/migrations/sync/route.js +0 -174
  249. package/src/app/api/migrations/sync-files/route.js +0 -172
  250. package/src/app/api/pull-data/confirm/route.js +0 -230
  251. package/src/app/api/pull-remote/confirm/route.js +0 -278
  252. package/src/app/api/pull-remote/preview/route.js +0 -144
  253. package/src/app/api/push-remote/confirm/route.js +0 -196
  254. package/src/app/api/push-remote/preview/route.js +0 -179
  255. package/src/app/api/query/route.js +0 -168
  256. package/src/app/api/tables/[name]/route.js +0 -174
  257. package/src/app/api/tables/route.js +0 -178
  258. package/src/app/api/update/route.js +0 -45
  259. package/src/app/globals.css +0 -93
  260. package/src/app/layout.jsx +0 -35
  261. package/src/app/page.jsx +0 -44
  262. package/src/components/cloudflare-credentials-modal.jsx +0 -94
  263. package/src/components/column-selector.jsx +0 -133
  264. package/src/components/column-sorting.jsx +0 -65
  265. package/src/components/delete-records-dialog.jsx +0 -64
  266. package/src/components/download-button.jsx +0 -205
  267. package/src/components/edit-error-alert.jsx +0 -30
  268. package/src/components/editable-cell.jsx +0 -163
  269. package/src/components/editable-row.jsx +0 -169
  270. package/src/components/environment-handler.jsx +0 -332
  271. package/src/components/environment-select.jsx +0 -62
  272. package/src/components/pull-preview-toast.jsx +0 -215
  273. package/src/components/push-error-alert.jsx +0 -72
  274. package/src/components/push-preview-toast.jsx +0 -183
  275. package/src/components/query-results.jsx +0 -112
  276. package/src/components/refresh-button.jsx +0 -61
  277. package/src/components/resize-columns.jsx +0 -101
  278. package/src/components/sidebar.jsx +0 -254
  279. package/src/components/sql-editor.jsx +0 -411
  280. package/src/components/sql-error-display.jsx +0 -167
  281. package/src/components/sync-migrations-button.jsx +0 -87
  282. package/src/components/table-error-dialog.jsx +0 -65
  283. package/src/components/table-toolbar.jsx +0 -285
  284. package/src/components/table-view.jsx +0 -843
  285. package/src/components/ui/alert.jsx +0 -47
  286. package/src/components/ui/button.jsx +0 -48
  287. package/src/components/ui/card.jsx +0 -50
  288. package/src/components/ui/checkbox.jsx +0 -24
  289. package/src/components/ui/collapsible.jsx +0 -11
  290. package/src/components/ui/dialog.jsx +0 -96
  291. package/src/components/ui/dropdown-menu.jsx +0 -158
  292. package/src/components/ui/input.jsx +0 -19
  293. package/src/components/ui/scroll-area.jsx +0 -40
  294. package/src/components/ui/select.jsx +0 -121
  295. package/src/components/ui/separator.jsx +0 -25
  296. package/src/components/ui/sheet.jsx +0 -109
  297. package/src/components/ui/sidebar.jsx +0 -620
  298. package/src/components/ui/skeleton.jsx +0 -14
  299. package/src/components/ui/table.jsx +0 -86
  300. package/src/components/ui/tabs.jsx +0 -43
  301. package/src/components/ui/toast.jsx +0 -86
  302. package/src/components/ui/toaster.jsx +0 -35
  303. package/src/components/ui/tooltip.jsx +0 -28
  304. package/src/components/update-banner.jsx +0 -93
  305. package/src/context/database-context.js +0 -510
  306. package/src/hooks/use-mobile.jsx +0 -19
  307. package/src/hooks/use-sql-error.ts +0 -23
  308. package/src/hooks/use-toast.js +0 -155
  309. package/src/lib/database-queue.js +0 -37
  310. package/src/lib/error.js +0 -20
  311. package/src/lib/find-wrangler-config.js +0 -74
  312. package/src/lib/license.js +0 -99
  313. package/src/lib/logger.js +0 -58
  314. package/src/lib/migrations.js +0 -415
  315. package/src/lib/parse-sql-error.js +0 -200
  316. package/src/lib/request-deduplication.js +0 -24
  317. package/src/lib/schema-operations.js +0 -106
  318. package/src/lib/sql-error-types.js +0 -14
  319. package/src/lib/sql-operations.js +0 -647
  320. package/src/lib/utils.js +0 -6
  321. package/src/lib/version-utils.js +0 -34
  322. /package/dist/.next/.next/static/{5dBGGUmK5q7of4h5Rahrg → Y9mYu4WBghepP5oT_3OdR}/_buildManifest.js +0 -0
  323. /package/dist/.next/.next/static/{5dBGGUmK5q7of4h5Rahrg → Y9mYu4WBghepP5oT_3OdR}/_ssgManifest.js +0 -0
  324. /package/dist/.next/.next/static/{PflNFnmFsNegSqhzjI6lA → ae3gNmoSGm-R5LJC4UagI}/_buildManifest.js +0 -0
  325. /package/dist/.next/.next/static/{PflNFnmFsNegSqhzjI6lA → ae3gNmoSGm-R5LJC4UagI}/_ssgManifest.js +0 -0
  326. /package/dist/.next/.next/static/{p8875OZM4iDNsPzmoyLe7 → bKfUJeuvAQlBmR3TjrfkH}/_buildManifest.js +0 -0
  327. /package/dist/.next/.next/static/{p8875OZM4iDNsPzmoyLe7 → bKfUJeuvAQlBmR3TjrfkH}/_ssgManifest.js +0 -0
  328. /package/dist/.next/{static 2/5dBGGUmK5q7of4h5Rahrg → .next/static/ejYPqJ2kVicVp5EFWOZIC}/_buildManifest.js +0 -0
  329. /package/dist/.next/{static 2/5dBGGUmK5q7of4h5Rahrg → .next/static/ejYPqJ2kVicVp5EFWOZIC}/_ssgManifest.js +0 -0
@@ -1,45 +0,0 @@
1
- // app/api/update/route.js
2
- import { NextResponse } from 'next/server';
3
- import pkg from '../../../../package.json' assert { type: 'json' };
4
-
5
- export async function GET() {
6
- try {
7
- // Get current version from package.json
8
- const currentVersion = pkg.version;
9
-
10
- // Fetch the latest version from npm registry
11
- const response = await fetch('https://registry.npmjs.org/d1s/latest', {
12
- headers: {
13
- 'Accept': 'application/json',
14
- 'User-Agent': 'd1-studio'
15
- },
16
- // Add cache control to prevent excessive requests
17
- cache: 'no-cache'
18
- });
19
-
20
- if (!response.ok) {
21
- throw new Error('Failed to check for updates');
22
- }
23
-
24
- const data = await response.json();
25
- const latestVersion = data.version;
26
-
27
- // Compare versions - only return update info if there's a newer version
28
- if (latestVersion && currentVersion && latestVersion !== currentVersion) {
29
- console.log(`Update available: ${currentVersion} → ${latestVersion}`);
30
- return NextResponse.json({
31
- update: {
32
- latest: latestVersion,
33
- current: currentVersion
34
- }
35
- });
36
- }
37
-
38
- // No update available
39
- return NextResponse.json({ update: null });
40
- } catch (error) {
41
- console.error('Error checking for updates:', error);
42
- // Return null on error to prevent banner from showing
43
- return NextResponse.json({ update: null });
44
- }
45
- }
@@ -1,93 +0,0 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
4
-
5
- body {
6
- font-family: Arial, Helvetica, sans-serif;
7
- }
8
-
9
- @layer base {
10
- :root {
11
- --background: 0 0% 100%;
12
- --foreground: 240 10% 3.9%;
13
- --card: 0 0% 100%;
14
- --card-foreground: 240 10% 3.9%;
15
- --popover: 0 0% 100%;
16
- --popover-foreground: 240 10% 3.9%;
17
- --primary: 240 5.9% 10%;
18
- --primary-foreground: 0 0% 98%;
19
- --secondary: 240 4.8% 95.9%;
20
- --secondary-foreground: 240 5.9% 10%;
21
- --muted: 240 4.8% 95.9%;
22
- --muted-foreground: 240 3.8% 46.1%;
23
- --accent: 240 4.8% 95.9%;
24
- --accent-foreground: 240 5.9% 10%;
25
- --destructive: 0 84.2% 60.2%;
26
- --destructive-foreground: 0 0% 98%;
27
- --border: 240 5.9% 90%;
28
- --input: 240 5.9% 90%;
29
- --ring: 240 10% 3.9%;
30
- --chart-1: 12 76% 61%;
31
- --chart-2: 173 58% 39%;
32
- --chart-3: 197 37% 24%;
33
- --chart-4: 43 74% 66%;
34
- --chart-5: 27 87% 67%;
35
- --radius: 0.5rem;
36
- --sidebar-background: 0 0% 98%;
37
- --sidebar-foreground: 240 5.3% 26.1%;
38
- --sidebar-primary: 240 5.9% 10%;
39
- --sidebar-primary-foreground: 0 0% 98%;
40
- --sidebar-accent: 240 4.8% 95.9%;
41
- --sidebar-accent-foreground: 240 5.9% 10%;
42
- --sidebar-border: 220 13% 91%;
43
- --sidebar-ring: 217.2 91.2% 59.8%;
44
- }
45
- .dark {
46
- --background: 240 10% 3.9%;
47
- --foreground: 0 0% 98%;
48
- --card: 240 10% 3.9%;
49
- --card-foreground: 0 0% 98%;
50
- --popover: 240 10% 3.9%;
51
- --popover-foreground: 0 0% 98%;
52
- --primary: 0 0% 98%;
53
- --primary-foreground: 240 5.9% 10%;
54
- --secondary: 240 3.7% 15.9%;
55
- --secondary-foreground: 0 0% 98%;
56
- --muted: 240 3.7% 15.9%;
57
- --muted-foreground: 240 5% 64.9%;
58
- --accent: 240 3.7% 15.9%;
59
- --accent-foreground: 0 0% 98%;
60
- --destructive: 0 62.8% 30.6%;
61
- --destructive-foreground: 0 0% 98%;
62
- --border: 240 3.7% 15.9%;
63
- --input: 240 3.7% 15.9%;
64
- --ring: 240 4.9% 83.9%;
65
- --chart-1: 220 70% 50%;
66
- --chart-2: 160 60% 45%;
67
- --chart-3: 30 80% 55%;
68
- --chart-4: 280 65% 60%;
69
- --chart-5: 340 75% 55%;
70
- --sidebar-background: 240 5.9% 10%;
71
- --sidebar-foreground: 240 4.8% 95.9%;
72
- --sidebar-primary: 224.3 76.3% 48%;
73
- --sidebar-primary-foreground: 0 0% 100%;
74
- --sidebar-accent: 240 3.7% 15.9%;
75
- --sidebar-accent-foreground: 240 4.8% 95.9%;
76
- --sidebar-border: 240 3.7% 15.9%;
77
- --sidebar-ring: 217.2 91.2% 59.8%;
78
- }
79
- }
80
-
81
- @layer base {
82
- * {
83
- @apply border-border;
84
- }
85
- body {
86
- @apply bg-background text-foreground;
87
- }
88
- }
89
-
90
- .table-fixed {
91
- table-layout: fixed;
92
- width: 100%;
93
- }
@@ -1,35 +0,0 @@
1
- // app/layout.js
2
- import { Geist, Geist_Mono } from "next/font/google";
3
- import "./globals.css";
4
- import { DatabaseProvider } from '@/context/database-context';
5
- import { Toaster } from '@/components/ui/toaster'; // Change this import
6
-
7
- const geistSans = Geist({
8
- variable: "--font-geist-sans",
9
- subsets: ["latin"],
10
- });
11
-
12
- const geistMono = Geist_Mono({
13
- variable: "--font-geist-mono",
14
- subsets: ["latin"],
15
- });
16
-
17
- export const metadata = {
18
- title: "d1-studio",
19
- description: "Native D1 database studio.",
20
- };
21
-
22
- export default function RootLayout({ children }) {
23
- return (
24
- <html lang="en">
25
- <body
26
- className={`${geistSans.variable} ${geistMono.variable} antialiased`}
27
- >
28
- <DatabaseProvider>
29
- {children}
30
- <Toaster /> {/* Add this component */}
31
- </DatabaseProvider>
32
- </body>
33
- </html>
34
- );
35
- }
@@ -1,44 +0,0 @@
1
- // app/page.js
2
- 'use client'
3
-
4
- import { useState } from 'react';
5
- import { AppSidebar } from '../components/sidebar';
6
- import { SQLEditor } from '../components/sql-editor';
7
- import { TableView } from '../components/table-view';
8
- import UpdateBanner from '@/components/update-banner';
9
-
10
- export default function StudioPage() {
11
- const [currentView, setCurrentView] = useState('sql-editor');
12
- const [selectedTable, setSelectedTable] = useState(null);
13
-
14
- const handleTableSelect = (tableName) => {
15
- setSelectedTable(tableName);
16
- setCurrentView('table-view');
17
- };
18
-
19
- return (
20
- <div className="flex flex-col min-h-screen bg-background">
21
- {/* Banner */}
22
- <UpdateBanner />
23
-
24
- {/* Main layout with adjusted positioning for banner */}
25
- <div className="flex flex-1 mt-[var(--banner-height,0px)]">
26
- {/* Sidebar with adjusted height */}
27
- <AppSidebar
28
- className="w-64 border-r fixed top-[var(--banner-height,0px)] h-[calc(100vh-var(--banner-height,0px))]"
29
- currentView={currentView}
30
- onNavigate={setCurrentView}
31
- onTableSelect={handleTableSelect}
32
- />
33
-
34
- {/* Main content with adjusted margin-top and height */}
35
- <main className="ml-64 flex-1 h-[calc(100vh-var(--banner-height,0px))]">
36
- {currentView === 'sql-editor' && <SQLEditor />}
37
- {currentView === 'table-view' && selectedTable && (
38
- <TableView tableName={selectedTable} />
39
- )}
40
- </main>
41
- </div>
42
- </div>
43
- );
44
- }
package/next.config.mjs DELETED
@@ -1,18 +0,0 @@
1
- // next.config.mjs
2
-
3
- /** @type {import('next').NextConfig} */
4
- const nextConfig = {
5
- serverExternalPackages: ['child_process', 'fs', 'util'],
6
- webpack: (config, { isServer }) => {
7
- if (isServer) {
8
- // Mark certain modules as external to prevent bundling
9
- config.externals.push({
10
- 'child_process': 'commonjs child_process',
11
- 'fs': 'commonjs fs',
12
- });
13
- }
14
- return config;
15
- },
16
- }
17
-
18
- export default nextConfig;
@@ -1,8 +0,0 @@
1
- /** @type {import('postcss-load-config').Config} */
2
- const config = {
3
- plugins: {
4
- tailwindcss: {},
5
- },
6
- };
7
-
8
- export default config;
package/scripts/studio.js DELETED
@@ -1,169 +0,0 @@
1
- #!/usr/bin/env node
2
- import chalk from 'chalk';
3
- import open from 'open';
4
- import { fileURLToPath } from 'url';
5
- import { dirname, join } from 'path';
6
- import express from 'express';
7
- import { createServer } from 'http';
8
- import next from 'next';
9
- import { findWranglerConfig } from '../src/lib/find-wrangler-config.js';
10
- import logger from '../src/lib/logger.js';
11
- import updateNotifier from 'update-notifier';
12
- import pkg from '../package.json' with { type: 'json' };
13
-
14
- // Check for debug flag
15
- const hasDebugFlag = process.argv.includes('--debug');
16
- if (hasDebugFlag) {
17
- process.env.DEBUG = 'true';
18
- logger.debug('Debug mode enabled');
19
- }
20
-
21
- const notifier = updateNotifier({ pkg, updateCheckInterval: 1000 * 60 * 60 * 24 });
22
- notifier.notify({ defer: false });
23
-
24
- // Compute the absolute path of this file and its directory
25
- const __filename = fileURLToPath(import.meta.url);
26
- const __dirname = dirname(__filename);
27
-
28
- async function startServer(port, projectDirectory) {
29
- return new Promise((resolvePromise, rejectPromise) => {
30
- // Determine Next.js app directory based on environment:
31
- // In production (published package) __dirname is used.
32
- // In development (npm link), assume the build is in the parent folder.
33
- const isProduction = process.env.NODE_ENV !== 'development';
34
- const nextAppDir = isProduction ? __dirname : join(__dirname, '..');
35
-
36
- const dev = process.env.NODE_ENV === 'development';
37
- const app = next({
38
- dev,
39
- dir: nextAppDir,
40
- conf: {
41
- distDir: '.next',
42
- experimental: { appDir: true }
43
- }
44
- });
45
- const handle = app.getRequestHandler();
46
-
47
- app.prepare()
48
- .then(() => {
49
- const server = express();
50
- process.env.PORT = port.toString();
51
- process.env.D1_PROJECT_DIR = projectDirectory;
52
- const httpServer = createServer((req, res) => handle(req, res));
53
-
54
- server.all('*', (req, res) => handle(req, res));
55
-
56
- httpServer.listen(port, (err) => {
57
- if (err) {
58
- logger.error(chalk.red(`Failed to start server: ${err}`));
59
- rejectPromise(err);
60
- return;
61
- }
62
- logger.info(chalk.green(`Server started on port ${port}`));
63
- resolvePromise(httpServer);
64
- });
65
-
66
- httpServer.on('error', (err) => {
67
- logger.error(chalk.red(`Server error: ${err}`));
68
- rejectPromise(err);
69
- });
70
- })
71
- .catch((err) => {
72
- logger.error(chalk.red(`Failed to prepare Next.js app: ${err}`));
73
- rejectPromise(err);
74
- });
75
- });
76
- }
77
-
78
- async function startStudio() {
79
- try {
80
- logger.info(chalk.green('Initializing D1 Studio...'));
81
-
82
- // Get wrangler configuration
83
- try {
84
- const userProjectPath = process.cwd();
85
- if (!userProjectPath) {
86
- logger.error(chalk.red('Error: Could not determine project directory'));
87
- process.exit(1);
88
- }
89
-
90
- const wranglerResult = await findWranglerConfig(userProjectPath);
91
- if (!wranglerResult || !wranglerResult.config) {
92
- logger.error(chalk.red('\nError: No wrangler.toml found in current directory'));
93
- logger.info(chalk.yellow('Make sure you are in a Cloudflare Workers project directory'));
94
- logger.info(chalk.yellow('with a valid wrangler.toml file.'));
95
- process.exit(1);
96
- }
97
-
98
- const { config, projectPath } = wranglerResult;
99
- if (!config.d1_databases?.length) {
100
- logger.error(chalk.red('\nError: No D1 databases configured in wrangler.toml'));
101
- logger.info(chalk.yellow('\nAdd D1 configuration to your wrangler.toml:'));
102
- logger.info(chalk.gray(`
103
- [[d1_databases]]
104
- binding = "DB"
105
- database_name = "my-database"
106
- database_id = "<your-database-id>"
107
- `));
108
- process.exit(1);
109
- }
110
-
111
- logger.info(chalk.green('\nFound D1 databases:'));
112
- config.d1_databases.forEach((db) => {
113
- logger.info(chalk.blue(` - ${db.database_name} (${db.binding})`));
114
- });
115
-
116
- const port = 4000;
117
- const url = `http://localhost:${port}`;
118
-
119
- await startServer(port, projectPath);
120
-
121
- logger.info(chalk.green(`
122
- ┌─────────────────────────────────────────┐
123
- │ │
124
- │ D1 Studio is running on port ${port} │
125
- │ │
126
- │ Local: ${url} │
127
- │ │
128
- └─────────────────────────────────────────┘
129
- `));
130
-
131
- await new Promise(resolve => setTimeout(resolve, 2000));
132
-
133
- try {
134
- await open(url, {
135
- wait: false,
136
- url: true,
137
- app: { name: open.apps.chrome }
138
- }).catch(() => {
139
- return open(url, { wait: false, url: true });
140
- });
141
- } catch (browserError) {
142
- logger.info(chalk.yellow('\nCould not automatically open browser.'));
143
- logger.info(chalk.blue(`Please open your browser and navigate to: ${url}`));
144
- }
145
- } catch (configError) {
146
- logger.error(chalk.red(`\nConfiguration error: ${configError.message}`));
147
- process.exit(1);
148
- }
149
- } catch (error) {
150
- logger.error(chalk.red(`\nFailed to start D1 Studio: ${error}`));
151
- process.exit(1);
152
- }
153
- }
154
-
155
- // Handle termination
156
- process.on('SIGINT', () => {
157
- logger.info(chalk.yellow('\nShutting down D1 Studio...'));
158
- process.exit(0);
159
- });
160
-
161
- process.on('SIGTERM', () => {
162
- logger.info(chalk.yellow('\nShutting down D1 Studio...'));
163
- process.exit(0);
164
- });
165
-
166
- startStudio().catch((error) => {
167
- logger.error(chalk.red(`\nFailed to start D1 Studio: ${error}`));
168
- process.exit(1);
169
- });