@tscircuit/fake-snippets 0.0.120 → 0.0.122

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 (612) hide show
  1. package/dist/bundle.js +1 -2
  2. package/package.json +4 -1
  3. package/.github/CODEOWNERS +0 -1
  4. package/.github/workflows/bun-formatcheck.yml +0 -26
  5. package/.github/workflows/bun-pver-release.yml +0 -28
  6. package/.github/workflows/bun-test.yml +0 -28
  7. package/.github/workflows/bun-typecheck.yml +0 -26
  8. package/.github/workflows/bundle-size-analysis.yml +0 -79
  9. package/.github/workflows/stale.yml +0 -40
  10. package/.github/workflows/update-package.yml +0 -58
  11. package/.github/workflows/update-snapshots.yml +0 -49
  12. package/CLAUDE.md +0 -92
  13. package/CONTRIBUTING.md +0 -59
  14. package/api/generated-index.js +0 -456
  15. package/biome.json +0 -67
  16. package/bun-tests/fake-snippets-api/fixtures/get-test-server.ts +0 -141
  17. package/bun-tests/fake-snippets-api/fixtures/preload.ts +0 -18
  18. package/bun-tests/fake-snippets-api/fixtures/start-server.ts +0 -48
  19. package/bun-tests/fake-snippets-api/routes/accounts/get.test.ts +0 -64
  20. package/bun-tests/fake-snippets-api/routes/accounts/get_account_balance.test.ts +0 -14
  21. package/bun-tests/fake-snippets-api/routes/ai_reviews/create.test.ts +0 -21
  22. package/bun-tests/fake-snippets-api/routes/ai_reviews/get.test.ts +0 -16
  23. package/bun-tests/fake-snippets-api/routes/ai_reviews/list.test.ts +0 -14
  24. package/bun-tests/fake-snippets-api/routes/ai_reviews/process_review.test.ts +0 -16
  25. package/bun-tests/fake-snippets-api/routes/bug_reports/create.test.ts +0 -37
  26. package/bun-tests/fake-snippets-api/routes/bug_reports/upload_file.test.ts +0 -89
  27. package/bun-tests/fake-snippets-api/routes/datasheets/create.test.ts +0 -16
  28. package/bun-tests/fake-snippets-api/routes/datasheets/get.test.ts +0 -54
  29. package/bun-tests/fake-snippets-api/routes/datasheets/list.test.ts +0 -49
  30. package/bun-tests/fake-snippets-api/routes/datasheets/process_all_datasheets.test.ts +0 -22
  31. package/bun-tests/fake-snippets-api/routes/datasheets/run_async_tasks.test.ts +0 -19
  32. package/bun-tests/fake-snippets-api/routes/health.test.ts +0 -9
  33. package/bun-tests/fake-snippets-api/routes/order_files/get.test.ts +0 -48
  34. package/bun-tests/fake-snippets-api/routes/order_files/upload.test.ts +0 -77
  35. package/bun-tests/fake-snippets-api/routes/order_quotes/create.test.ts +0 -33
  36. package/bun-tests/fake-snippets-api/routes/orders/create.test.ts +0 -17
  37. package/bun-tests/fake-snippets-api/routes/orders/get.test.ts +0 -199
  38. package/bun-tests/fake-snippets-api/routes/orders/list.test.ts +0 -30
  39. package/bun-tests/fake-snippets-api/routes/orgs/add_member.test.ts +0 -26
  40. package/bun-tests/fake-snippets-api/routes/orgs/create.test.ts +0 -37
  41. package/bun-tests/fake-snippets-api/routes/orgs/get.test.ts +0 -53
  42. package/bun-tests/fake-snippets-api/routes/orgs/get_member.test.ts +0 -110
  43. package/bun-tests/fake-snippets-api/routes/orgs/list.test.ts +0 -17
  44. package/bun-tests/fake-snippets-api/routes/orgs/list_members.test.ts +0 -24
  45. package/bun-tests/fake-snippets-api/routes/orgs/remove_member.test.ts +0 -81
  46. package/bun-tests/fake-snippets-api/routes/orgs/update.test.ts +0 -151
  47. package/bun-tests/fake-snippets-api/routes/package_builds/get.test.ts +0 -279
  48. package/bun-tests/fake-snippets-api/routes/package_builds/list.test.ts +0 -292
  49. package/bun-tests/fake-snippets-api/routes/package_files/create.test.ts +0 -320
  50. package/bun-tests/fake-snippets-api/routes/package_files/create_or_update.test.ts +0 -603
  51. package/bun-tests/fake-snippets-api/routes/package_files/delete.test.ts +0 -233
  52. package/bun-tests/fake-snippets-api/routes/package_files/download.test.ts +0 -248
  53. package/bun-tests/fake-snippets-api/routes/package_files/get.test.ts +0 -230
  54. package/bun-tests/fake-snippets-api/routes/package_files/list.test.ts +0 -212
  55. package/bun-tests/fake-snippets-api/routes/package_releases/create.test.ts +0 -171
  56. package/bun-tests/fake-snippets-api/routes/package_releases/get.test.ts +0 -181
  57. package/bun-tests/fake-snippets-api/routes/package_releases/get_image_generation_fields.test.ts +0 -38
  58. package/bun-tests/fake-snippets-api/routes/package_releases/list.test.ts +0 -149
  59. package/bun-tests/fake-snippets-api/routes/package_releases/update.test.ts +0 -160
  60. package/bun-tests/fake-snippets-api/routes/packages/add_star.test.ts +0 -129
  61. package/bun-tests/fake-snippets-api/routes/packages/create.test.ts +0 -67
  62. package/bun-tests/fake-snippets-api/routes/packages/delete.test.ts +0 -74
  63. package/bun-tests/fake-snippets-api/routes/packages/fork.test.ts +0 -132
  64. package/bun-tests/fake-snippets-api/routes/packages/get.test.ts +0 -112
  65. package/bun-tests/fake-snippets-api/routes/packages/images.test.ts +0 -72
  66. package/bun-tests/fake-snippets-api/routes/packages/list-1.test.ts +0 -145
  67. package/bun-tests/fake-snippets-api/routes/packages/list-2.test.ts +0 -48
  68. package/bun-tests/fake-snippets-api/routes/packages/list_latest.test.ts +0 -110
  69. package/bun-tests/fake-snippets-api/routes/packages/list_trending.test.ts +0 -103
  70. package/bun-tests/fake-snippets-api/routes/packages/remove_star.test.ts +0 -131
  71. package/bun-tests/fake-snippets-api/routes/packages/update.test.ts +0 -217
  72. package/bun-tests/fake-snippets-api/routes/proxy.test.ts +0 -42
  73. package/bun.lock +0 -2724
  74. package/bunfig.toml +0 -3
  75. package/components.json +0 -20
  76. package/docs/CIRCUIT_JSON_SOURCE_COMPONENT_OVERVIEW.md +0 -151
  77. package/fake-snippets-api/README.md +0 -6
  78. package/fake-snippets-api/biome.json +0 -47
  79. package/fake-snippets-api/bun.lockb +0 -0
  80. package/fake-snippets-api/lib/db/autoload-dev-packages.ts +0 -222
  81. package/fake-snippets-api/lib/db/autoload-packages.json +0 -8
  82. package/fake-snippets-api/lib/db/db-client.ts +0 -1857
  83. package/fake-snippets-api/lib/db/schema.ts +0 -502
  84. package/fake-snippets-api/lib/db/seed.ts +0 -1843
  85. package/fake-snippets-api/lib/index.ts +0 -3
  86. package/fake-snippets-api/lib/middleware/with-ctx-error.ts +0 -26
  87. package/fake-snippets-api/lib/middleware/with-db.ts +0 -15
  88. package/fake-snippets-api/lib/middleware/with-error-handling.ts +0 -24
  89. package/fake-snippets-api/lib/middleware/with-optional-session-auth.ts +0 -53
  90. package/fake-snippets-api/lib/middleware/with-request-logging.ts +0 -54
  91. package/fake-snippets-api/lib/middleware/with-session-auth.ts +0 -102
  92. package/fake-snippets-api/lib/middleware/with-winter-spec.ts +0 -24
  93. package/fake-snippets-api/lib/package_file/generate-fs-sha.ts +0 -20
  94. package/fake-snippets-api/lib/package_file/get-package-file-id-from-file-descriptor.ts +0 -173
  95. package/fake-snippets-api/lib/package_release/find-package-release-id.ts +0 -120
  96. package/fake-snippets-api/lib/public-mapping/public-map-org.ts +0 -34
  97. package/fake-snippets-api/lib/public-mapping/public-map-package-build.ts +0 -48
  98. package/fake-snippets-api/lib/public-mapping/public-map-package-release.ts +0 -88
  99. package/fake-snippets-api/lib/public-mapping/public-map-package.ts +0 -60
  100. package/fake-snippets-api/lib/with-winter-spec.ts +0 -1
  101. package/fake-snippets-api/next-env.d.ts +0 -5
  102. package/fake-snippets-api/routes/api/_fake/ai_reviews/process_review.ts +0 -31
  103. package/fake-snippets-api/routes/api/_fake/datasheets/process_all_datasheets.ts +0 -38
  104. package/fake-snippets-api/routes/api/_fake/db.ts +0 -11
  105. package/fake-snippets-api/routes/api/_fake/move_orders_forward.ts +0 -65
  106. package/fake-snippets-api/routes/api/_fake/received_quotes.ts +0 -112
  107. package/fake-snippets-api/routes/api/_fake/run_async_tasks.ts +0 -12
  108. package/fake-snippets-api/routes/api/_fake/seed.ts +0 -13
  109. package/fake-snippets-api/routes/api/accounts/get.ts +0 -35
  110. package/fake-snippets-api/routes/api/accounts/get_account_balance.ts +0 -22
  111. package/fake-snippets-api/routes/api/accounts/search.ts +0 -20
  112. package/fake-snippets-api/routes/api/accounts/update.ts +0 -32
  113. package/fake-snippets-api/routes/api/ai/[...anyroute].ts +0 -31
  114. package/fake-snippets-api/routes/api/ai.ts +0 -2
  115. package/fake-snippets-api/routes/api/ai_reviews/create.ts +0 -44
  116. package/fake-snippets-api/routes/api/ai_reviews/get.ts +0 -24
  117. package/fake-snippets-api/routes/api/ai_reviews/list.ts +0 -14
  118. package/fake-snippets-api/routes/api/aistream/[...anyroute].ts +0 -65
  119. package/fake-snippets-api/routes/api/autocomplete/create_autocomplete.ts +0 -16
  120. package/fake-snippets-api/routes/api/bug_reports/create.ts +0 -43
  121. package/fake-snippets-api/routes/api/bug_reports/upload_file.ts +0 -113
  122. package/fake-snippets-api/routes/api/datasheets/create.ts +0 -18
  123. package/fake-snippets-api/routes/api/datasheets/get.ts +0 -35
  124. package/fake-snippets-api/routes/api/datasheets/list.ts +0 -29
  125. package/fake-snippets-api/routes/api/github/installations/create_new_installation_redirect.ts +0 -75
  126. package/fake-snippets-api/routes/api/github/repos/list_available.ts +0 -91
  127. package/fake-snippets-api/routes/api/github/repos/refresh.ts +0 -44
  128. package/fake-snippets-api/routes/api/health.ts +0 -9
  129. package/fake-snippets-api/routes/api/internal/sessions/create_without_auth.ts +0 -63
  130. package/fake-snippets-api/routes/api/order_files/get.ts +0 -28
  131. package/fake-snippets-api/routes/api/order_files/upload.ts +0 -46
  132. package/fake-snippets-api/routes/api/order_quotes/create.ts +0 -60
  133. package/fake-snippets-api/routes/api/order_quotes/create_all_vendor_quotes.ts +0 -30
  134. package/fake-snippets-api/routes/api/order_quotes/get.ts +0 -29
  135. package/fake-snippets-api/routes/api/orders/create.ts +0 -70
  136. package/fake-snippets-api/routes/api/orders/get.ts +0 -168
  137. package/fake-snippets-api/routes/api/orders/list.ts +0 -15
  138. package/fake-snippets-api/routes/api/orgs/add_member.ts +0 -52
  139. package/fake-snippets-api/routes/api/orgs/create.ts +0 -48
  140. package/fake-snippets-api/routes/api/orgs/get.ts +0 -39
  141. package/fake-snippets-api/routes/api/orgs/get_member.ts +0 -67
  142. package/fake-snippets-api/routes/api/orgs/list.ts +0 -31
  143. package/fake-snippets-api/routes/api/orgs/list_members.ts +0 -106
  144. package/fake-snippets-api/routes/api/orgs/remove_member.ts +0 -46
  145. package/fake-snippets-api/routes/api/orgs/update.ts +0 -118
  146. package/fake-snippets-api/routes/api/package_builds/get.ts +0 -70
  147. package/fake-snippets-api/routes/api/package_builds/list.ts +0 -97
  148. package/fake-snippets-api/routes/api/package_files/create.ts +0 -135
  149. package/fake-snippets-api/routes/api/package_files/create_or_update.ts +0 -194
  150. package/fake-snippets-api/routes/api/package_files/delete.ts +0 -109
  151. package/fake-snippets-api/routes/api/package_files/download.ts +0 -87
  152. package/fake-snippets-api/routes/api/package_files/get.ts +0 -68
  153. package/fake-snippets-api/routes/api/package_files/list.ts +0 -54
  154. package/fake-snippets-api/routes/api/package_releases/create.ts +0 -109
  155. package/fake-snippets-api/routes/api/package_releases/get.ts +0 -137
  156. package/fake-snippets-api/routes/api/package_releases/list.ts +0 -85
  157. package/fake-snippets-api/routes/api/package_releases/rebuild.ts +0 -66
  158. package/fake-snippets-api/routes/api/package_releases/update.ts +0 -122
  159. package/fake-snippets-api/routes/api/packages/add_star.ts +0 -84
  160. package/fake-snippets-api/routes/api/packages/create.ts +0 -136
  161. package/fake-snippets-api/routes/api/packages/delete.ts +0 -41
  162. package/fake-snippets-api/routes/api/packages/fork.ts +0 -165
  163. package/fake-snippets-api/routes/api/packages/generate_from_jlcpcb.ts +0 -111
  164. package/fake-snippets-api/routes/api/packages/get.ts +0 -81
  165. package/fake-snippets-api/routes/api/packages/images/[owner_github_username]/[unscoped_name]/[view_format].ts +0 -119
  166. package/fake-snippets-api/routes/api/packages/list.ts +0 -105
  167. package/fake-snippets-api/routes/api/packages/list_latest.ts +0 -29
  168. package/fake-snippets-api/routes/api/packages/list_trending.ts +0 -43
  169. package/fake-snippets-api/routes/api/packages/remove_star.ts +0 -70
  170. package/fake-snippets-api/routes/api/packages/search.ts +0 -19
  171. package/fake-snippets-api/routes/api/packages/update.ts +0 -112
  172. package/fake-snippets-api/routes/api/packages/update_ai_description.ts +0 -37
  173. package/fake-snippets-api/routes/api/proxy.ts +0 -128
  174. package/fake-snippets-api/routes/api/snippets/add_star.ts +0 -62
  175. package/fake-snippets-api/routes/api/snippets/create.ts +0 -184
  176. package/fake-snippets-api/routes/api/snippets/delete.ts +0 -41
  177. package/fake-snippets-api/routes/api/snippets/download.ts +0 -162
  178. package/fake-snippets-api/routes/api/snippets/generate_from_jlcpcb.ts +0 -48
  179. package/fake-snippets-api/routes/api/snippets/get.ts +0 -83
  180. package/fake-snippets-api/routes/api/snippets/get_image.ts +0 -65
  181. package/fake-snippets-api/routes/api/snippets/images/[author]/[snippet_name]/[typeFormat].ts +0 -80
  182. package/fake-snippets-api/routes/api/snippets/list.ts +0 -151
  183. package/fake-snippets-api/routes/api/snippets/list_latest.ts +0 -13
  184. package/fake-snippets-api/routes/api/snippets/list_trending.ts +0 -38
  185. package/fake-snippets-api/routes/api/snippets/remove_star.ts +0 -42
  186. package/fake-snippets-api/routes/api/snippets/search.ts +0 -18
  187. package/fake-snippets-api/routes/api/snippets/update.ts +0 -114
  188. package/fake-snippets-api/utils/normalizeProjectFilePath.ts +0 -60
  189. package/fake-snippets-api/utils/order-steps.ts +0 -20
  190. package/favicon.ico +0 -0
  191. package/index.html +0 -125
  192. package/landing.html +0 -23
  193. package/playwright-tests/ai-page.spec.ts +0 -19
  194. package/playwright-tests/circuit-json-import.spec.ts +0 -133
  195. package/playwright-tests/cmd-click.spec.ts +0 -43
  196. package/playwright-tests/dashboard-page.spec.ts +0 -10
  197. package/playwright-tests/editor-page.spec.ts +0 -15
  198. package/playwright-tests/exampleCircuitJson.ts +0 -498
  199. package/playwright-tests/files-dialog.spec.ts +0 -19
  200. package/playwright-tests/footprint-dialog/footprint-dialog.spec.ts +0 -27
  201. package/playwright-tests/footprint-dialog/footprint-insertion.spec.ts +0 -38
  202. package/playwright-tests/footprint-dialog/footprint-preview.spec.ts +0 -34
  203. package/playwright-tests/footprint-dialog/footprint-selection.spec.ts +0 -29
  204. package/playwright-tests/handle-manual-edits.spec.ts +0 -55
  205. package/playwright-tests/home-page.spec.ts +0 -10
  206. package/playwright-tests/images.spec.ts +0 -17
  207. package/playwright-tests/manual-edits.spec.ts +0 -89
  208. package/playwright-tests/preview-page.spec.ts +0 -7
  209. package/playwright-tests/profile-page.spec.ts +0 -108
  210. package/playwright-tests/quickstart-page.spec.ts +0 -10
  211. package/playwright-tests/search-links.spec.ts +0 -21
  212. package/playwright-tests/search.spec.ts +0 -27
  213. package/playwright-tests/snapshots/ai-page.spec.ts-AI-Page-lg.png +0 -0
  214. package/playwright-tests/snapshots/ai-page.spec.ts-AI-Page-md.png +0 -0
  215. package/playwright-tests/snapshots/ai-page.spec.ts-AI-Page-xs.png +0 -0
  216. package/playwright-tests/snapshots/cmd-click.spec.ts-underlined-imports.png +0 -0
  217. package/playwright-tests/snapshots/dashboard-page.spec.ts-Dashboard-page-lg.png +0 -0
  218. package/playwright-tests/snapshots/dashboard-page.spec.ts-Dashboard-page-md.png +0 -0
  219. package/playwright-tests/snapshots/dashboard-page.spec.ts-Dashboard-page-xs.png +0 -0
  220. package/playwright-tests/snapshots/editor-page.spec.ts-editor-with-snippet.png +0 -0
  221. package/playwright-tests/snapshots/error-fallback.spec.ts-error-fallback-lg.png +0 -0
  222. package/playwright-tests/snapshots/error-fallback.spec.ts-error-fallback-md.png +0 -0
  223. package/playwright-tests/snapshots/error-fallback.spec.ts-error-fallback-xs.png +0 -0
  224. package/playwright-tests/snapshots/files-dialog.spec.ts-view-snippet-files.png +0 -0
  225. package/playwright-tests/snapshots/footprint-dialog/footprint-dialog.spec.ts-footprint-preview-lg.png +0 -0
  226. package/playwright-tests/snapshots/footprint-dialog/footprint-dialog.spec.ts-footprint-preview-md.png +0 -0
  227. package/playwright-tests/snapshots/footprint-dialog/footprint-dialog.spec.ts-footprint-preview-xs.png +0 -0
  228. package/playwright-tests/snapshots/footprint-dialog/footprint-insertion.spec.ts-footprint-insertion-lg.png +0 -0
  229. package/playwright-tests/snapshots/footprint-dialog/footprint-insertion.spec.ts-footprint-insertion-md.png +0 -0
  230. package/playwright-tests/snapshots/footprint-dialog/footprint-insertion.spec.ts-footprint-insertion-xs.png +0 -0
  231. package/playwright-tests/snapshots/footprint-dialog/footprint-preview.spec.ts-footprint-preview-lg.png +0 -0
  232. package/playwright-tests/snapshots/footprint-dialog/footprint-preview.spec.ts-footprint-preview-md.png +0 -0
  233. package/playwright-tests/snapshots/footprint-dialog/footprint-preview.spec.ts-footprint-preview-xs.png +0 -0
  234. package/playwright-tests/snapshots/footprint-dialog/footprint-selection.spec.ts-footprint-preview-lg.png +0 -0
  235. package/playwright-tests/snapshots/footprint-dialog/footprint-selection.spec.ts-footprint-preview-md.png +0 -0
  236. package/playwright-tests/snapshots/footprint-dialog/footprint-selection.spec.ts-footprint-preview-xs.png +0 -0
  237. package/playwright-tests/snapshots/handle-manual-edits.spec.ts-handle-manual-edits.png +0 -0
  238. package/playwright-tests/snapshots/home-page.spec.ts-Home-page-lg.png +0 -0
  239. package/playwright-tests/snapshots/home-page.spec.ts-Home-page-md.png +0 -0
  240. package/playwright-tests/snapshots/home-page.spec.ts-Home-page-xs.png +0 -0
  241. package/playwright-tests/snapshots/images.spec.ts-pcb-image.png +0 -0
  242. package/playwright-tests/snapshots/images.spec.ts-schematic-image.png +0 -0
  243. package/playwright-tests/snapshots/manual-edits.spec.ts-editor-manual-edits.png +0 -0
  244. package/playwright-tests/snapshots/manual-edits.spec.ts-manual-edits-view.png +0 -0
  245. package/playwright-tests/snapshots/preview-page.spec.ts-preview-snippet-pcb.png +0 -0
  246. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-before-delete.png +0 -0
  247. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-delete-dialog.png +0 -0
  248. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-dropdown-open.png +0 -0
  249. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-snippets-tab.png +0 -0
  250. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-starred-tab.png +0 -0
  251. package/playwright-tests/snapshots/profile-page.spec.ts-snippet-page-open-after-star-click.png +0 -0
  252. package/playwright-tests/snapshots/quickstart-page.spec.ts-Quickstart-Pagelg.png +0 -0
  253. package/playwright-tests/snapshots/quickstart-page.spec.ts-Quickstart-Pagemd.png +0 -0
  254. package/playwright-tests/snapshots/quickstart-page.spec.ts-Quickstart-Pagexs.png +0 -0
  255. package/playwright-tests/snapshots/search-links.spec.ts-search-links.png +0 -0
  256. package/playwright-tests/snapshots/search.spec.ts-search-lg.png +0 -0
  257. package/playwright-tests/snapshots/search.spec.ts-search-md.png +0 -0
  258. package/playwright-tests/snapshots/search.spec.ts-search-xs.png +0 -0
  259. package/playwright-tests/snapshots/star.spec.ts-remove-star-button.png +0 -0
  260. package/playwright-tests/snapshots/star.spec.ts-star-button.png +0 -0
  261. package/playwright-tests/snapshots/update-description.spec.ts-update-description.png +0 -0
  262. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-after-lg.png +0 -0
  263. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-after-md.png +0 -0
  264. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-after-xs.png +0 -0
  265. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-before-lg.png +0 -0
  266. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-before-md.png +0 -0
  267. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-before-xs.png +0 -0
  268. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-files.png +0 -0
  269. package/playwright-tests/star.spec.ts +0 -40
  270. package/playwright-tests/update-description.spec.ts +0 -18
  271. package/playwright-tests/view-snippet.spec.ts +0 -35
  272. package/playwright-tests/viewports.ts +0 -5
  273. package/playwright.config.ts +0 -27
  274. package/postcss.config.js +0 -6
  275. package/public/robots.txt +0 -9
  276. package/renovate.json +0 -25
  277. package/scripts/generate-image-sizes.ts +0 -57
  278. package/scripts/generate-sitemap.ts +0 -103
  279. package/scripts/generate_bundle_stats.js +0 -208
  280. package/scripts/snapshot.ts +0 -35
  281. package/src/App.tsx +0 -314
  282. package/src/ContextProviders.tsx +0 -94
  283. package/src/assets/originals/editor_example_1.webp +0 -0
  284. package/src/assets/originals/editor_example_1_more_square.webp +0 -0
  285. package/src/assets/originals/editor_example_2.webp +0 -0
  286. package/src/assets/originals/example_schematic.webp +0 -0
  287. package/src/components/AiChatMessage.tsx +0 -86
  288. package/src/components/Analytics.tsx +0 -23
  289. package/src/components/BomTable.tsx +0 -69
  290. package/src/components/ChatInput.tsx +0 -53
  291. package/src/components/CircuitJsonImportDialog.tsx +0 -269
  292. package/src/components/CircuitToSvgWithMouseControl.tsx +0 -78
  293. package/src/components/CmdKMenu.tsx +0 -809
  294. package/src/components/CreateNewSnippetWithAiHero.tsx +0 -81
  295. package/src/components/CreateReleaseDialog.tsx +0 -124
  296. package/src/components/DownloadButtonAndMenu.tsx +0 -443
  297. package/src/components/ErrorFallback.tsx +0 -25
  298. package/src/components/ErrorOutline.tsx +0 -35
  299. package/src/components/ErrorTabContent.tsx +0 -122
  300. package/src/components/ExpandableText.tsx +0 -29
  301. package/src/components/FAQ.tsx +0 -189
  302. package/src/components/FileSidebar.tsx +0 -271
  303. package/src/components/Footer.tsx +0 -144
  304. package/src/components/GithubAvatarWithFallback.tsx +0 -35
  305. package/src/components/Header.tsx +0 -202
  306. package/src/components/Header2.tsx +0 -202
  307. package/src/components/HeaderDropdown.tsx +0 -88
  308. package/src/components/HeaderLogin.tsx +0 -105
  309. package/src/components/HiddenFilesDropdown.tsx +0 -42
  310. package/src/components/ImageWithFallback.tsx +0 -37
  311. package/src/components/LatestSnippets.tsx +0 -39
  312. package/src/components/NotFound.tsx +0 -37
  313. package/src/components/OptimizedImage.tsx +0 -100
  314. package/src/components/PackageBreadcrumb.tsx +0 -105
  315. package/src/components/PackageBuildsPage/ErrorObject.ts +0 -12
  316. package/src/components/PackageBuildsPage/capitalCase.ts +0 -4
  317. package/src/components/PackageBuildsPage/getColorForDisplayStatus.ts +0 -17
  318. package/src/components/PackageCard.tsx +0 -191
  319. package/src/components/PackageCardSkeleton.tsx +0 -17
  320. package/src/components/PackageLink.tsx +0 -29
  321. package/src/components/PackageSearchResults.tsx +0 -81
  322. package/src/components/PackagesList.tsx +0 -71
  323. package/src/components/PcbViewerWithContainerHeight.tsx +0 -47
  324. package/src/components/PrefetchPageLink.tsx +0 -114
  325. package/src/components/PreviewEmptyState.tsx +0 -16
  326. package/src/components/ProfileRouter.tsx +0 -30
  327. package/src/components/RunButton.tsx +0 -27
  328. package/src/components/SearchComponent.tsx +0 -282
  329. package/src/components/SentryNotFoundReporter.tsx +0 -44
  330. package/src/components/SnippetTypeIcon.tsx +0 -60
  331. package/src/components/StaticPreviewContent.tsx +0 -89
  332. package/src/components/StaticViewSnippetSidebar.tsx +0 -100
  333. package/src/components/SuspenseRunFrame.tsx +0 -28
  334. package/src/components/TableViewer/CircuitJsonTableViewer.tsx +0 -316
  335. package/src/components/TableViewer/ClickableText.tsx +0 -21
  336. package/src/components/TableViewer/HeaderCell.tsx +0 -27
  337. package/src/components/TableViewer/Modal.tsx +0 -39
  338. package/src/components/TrendingPackagesCarousel.tsx +0 -79
  339. package/src/components/TypeBadge.tsx +0 -31
  340. package/src/components/UserCard.tsx +0 -80
  341. package/src/components/ViewPackagePage/components/ShikiCodeViewer.tsx +0 -49
  342. package/src/components/ViewPackagePage/components/build-status.tsx +0 -38
  343. package/src/components/ViewPackagePage/components/important-files-view.tsx +0 -611
  344. package/src/components/ViewPackagePage/components/main-content-header.tsx +0 -181
  345. package/src/components/ViewPackagePage/components/main-content-view-selector.tsx +0 -167
  346. package/src/components/ViewPackagePage/components/markdown-viewer.tsx +0 -88
  347. package/src/components/ViewPackagePage/components/mobile-sidebar.tsx +0 -301
  348. package/src/components/ViewPackagePage/components/package-header.tsx +0 -264
  349. package/src/components/ViewPackagePage/components/preview-image-squares.tsx +0 -47
  350. package/src/components/ViewPackagePage/components/repo-page-content.tsx +0 -266
  351. package/src/components/ViewPackagePage/components/sidebar-about-section.tsx +0 -223
  352. package/src/components/ViewPackagePage/components/sidebar-packages-section.tsx +0 -16
  353. package/src/components/ViewPackagePage/components/sidebar-releases-section.tsx +0 -126
  354. package/src/components/ViewPackagePage/components/sidebar.tsx +0 -29
  355. package/src/components/ViewPackagePage/components/tab-views/3d-view.tsx +0 -43
  356. package/src/components/ViewPackagePage/components/tab-views/bom-view.tsx +0 -30
  357. package/src/components/ViewPackagePage/components/tab-views/files-view.tsx +0 -295
  358. package/src/components/ViewPackagePage/components/tab-views/pcb-view.tsx +0 -35
  359. package/src/components/ViewPackagePage/components/tab-views/schematic-view.tsx +0 -38
  360. package/src/components/ViewPackagePage/components/theme-toggle.tsx +0 -40
  361. package/src/components/ViewPackagePage/hooks/use-current-package-circuit-json.ts +0 -46
  362. package/src/components/ViewPackagePage/hooks/use-mobile.tsx +0 -19
  363. package/src/components/ViewPackagePage/hooks/use-toast.tsx +0 -69
  364. package/src/components/ViewPackagePage/utils/fuzz-search.ts +0 -121
  365. package/src/components/ViewPackagePage/utils/get-license-content.ts +0 -119
  366. package/src/components/ViewPackagePage/utils/is-hidden-file.ts +0 -55
  367. package/src/components/ViewPackagePage/utils/is-package-file-important.ts +0 -35
  368. package/src/components/ViewPackagePage/utils/is-within-directory.ts +0 -32
  369. package/src/components/dialogs/GitHubRepositorySelector.tsx +0 -300
  370. package/src/components/dialogs/confirm-delete-package-dialog.tsx +0 -74
  371. package/src/components/dialogs/confirm-discard-changes-dialog.tsx +0 -73
  372. package/src/components/dialogs/create-use-dialog.tsx +0 -40
  373. package/src/components/dialogs/edit-description-dialog.tsx +0 -96
  374. package/src/components/dialogs/edit-package-details-dialog.tsx +0 -474
  375. package/src/components/dialogs/files-dialog.tsx +0 -70
  376. package/src/components/dialogs/import-component-dialog.tsx +0 -32
  377. package/src/components/dialogs/import-package-dialog.tsx +0 -90
  378. package/src/components/dialogs/new-package-save-prompt-dialog.tsx +0 -199
  379. package/src/components/dialogs/package-visibility-settings-dialog.tsx +0 -93
  380. package/src/components/dialogs/pcb-download-dialog.tsx +0 -113
  381. package/src/components/dialogs/rename-package-dialog.tsx +0 -86
  382. package/src/components/dialogs/rename-snippet-dialog.tsx +0 -81
  383. package/src/components/dialogs/update-package-description-dialog.tsx +0 -96
  384. package/src/components/dialogs/view-ts-files-dialog.tsx +0 -664
  385. package/src/components/organization/OrganizationCard.tsx +0 -202
  386. package/src/components/organization/OrganizationCardSkeleton.tsx +0 -55
  387. package/src/components/organization/OrganizationHeader.tsx +0 -140
  388. package/src/components/organization/OrganizationMembers.tsx +0 -117
  389. package/src/components/package-port/CodeAndPreview.tsx +0 -253
  390. package/src/components/package-port/CodeEditor.tsx +0 -866
  391. package/src/components/package-port/CodeEditorHeader.tsx +0 -427
  392. package/src/components/package-port/EditorNav.tsx +0 -606
  393. package/src/components/package-port/GlobalFindReplace.tsx +0 -681
  394. package/src/components/package-port/QuickOpen.tsx +0 -241
  395. package/src/components/preview/BuildsList.tsx +0 -237
  396. package/src/components/preview/ConnectedPackagesList.tsx +0 -229
  397. package/src/components/preview/ConnectedRepoOverview.tsx +0 -588
  398. package/src/components/preview/PackageReleasesDashboard.tsx +0 -228
  399. package/src/components/preview/index.tsx +0 -54
  400. package/src/components/ui/accordion.tsx +0 -55
  401. package/src/components/ui/alert-dialog.tsx +0 -139
  402. package/src/components/ui/alert.tsx +0 -59
  403. package/src/components/ui/aspect-ratio.tsx +0 -5
  404. package/src/components/ui/avatar.tsx +0 -48
  405. package/src/components/ui/badge.tsx +0 -36
  406. package/src/components/ui/breadcrumb.tsx +0 -118
  407. package/src/components/ui/button.tsx +0 -58
  408. package/src/components/ui/calendar.tsx +0 -73
  409. package/src/components/ui/card.tsx +0 -76
  410. package/src/components/ui/carousel.tsx +0 -260
  411. package/src/components/ui/chart.tsx +0 -363
  412. package/src/components/ui/checkbox.tsx +0 -28
  413. package/src/components/ui/collapsible.tsx +0 -9
  414. package/src/components/ui/combobox.tsx +0 -178
  415. package/src/components/ui/command.tsx +0 -151
  416. package/src/components/ui/context-menu.tsx +0 -202
  417. package/src/components/ui/dialog.tsx +0 -120
  418. package/src/components/ui/drawer.tsx +0 -116
  419. package/src/components/ui/dropdown-menu.tsx +0 -203
  420. package/src/components/ui/form.tsx +0 -182
  421. package/src/components/ui/hover-card.tsx +0 -27
  422. package/src/components/ui/input.tsx +0 -25
  423. package/src/components/ui/label.tsx +0 -24
  424. package/src/components/ui/menubar.tsx +0 -238
  425. package/src/components/ui/navigation-menu.tsx +0 -129
  426. package/src/components/ui/pagination.tsx +0 -121
  427. package/src/components/ui/popover.tsx +0 -31
  428. package/src/components/ui/progress.tsx +0 -26
  429. package/src/components/ui/radio-group.tsx +0 -42
  430. package/src/components/ui/resizable.tsx +0 -43
  431. package/src/components/ui/role-badge.tsx +0 -27
  432. package/src/components/ui/scroll-area.tsx +0 -46
  433. package/src/components/ui/searchable-select.tsx +0 -94
  434. package/src/components/ui/select.tsx +0 -162
  435. package/src/components/ui/separator.tsx +0 -29
  436. package/src/components/ui/sheet.tsx +0 -141
  437. package/src/components/ui/skeleton.tsx +0 -18
  438. package/src/components/ui/slider.tsx +0 -26
  439. package/src/components/ui/sonner.tsx +0 -30
  440. package/src/components/ui/switch.tsx +0 -27
  441. package/src/components/ui/table.tsx +0 -120
  442. package/src/components/ui/tabs.tsx +0 -53
  443. package/src/components/ui/textarea.tsx +0 -24
  444. package/src/components/ui/toast.tsx +0 -128
  445. package/src/components/ui/toaster.tsx +0 -1
  446. package/src/components/ui/toggle-group.tsx +0 -59
  447. package/src/components/ui/toggle.tsx +0 -43
  448. package/src/components/ui/tooltip.tsx +0 -28
  449. package/src/components/ui/tree-view.tsx +0 -563
  450. package/src/entry-server.tsx +0 -12
  451. package/src/hooks/use-account-balance.ts +0 -25
  452. package/src/hooks/use-add-org-member-mutation.ts +0 -51
  453. package/src/hooks/use-ai-api.ts +0 -35
  454. package/src/hooks/use-ai-review.ts +0 -31
  455. package/src/hooks/use-axios.ts +0 -20
  456. package/src/hooks/use-code-completion-ai-api.ts +0 -11
  457. package/src/hooks/use-copy-to-clipboard.ts +0 -26
  458. package/src/hooks/use-create-datasheet.ts +0 -30
  459. package/src/hooks/use-create-org-mutation.ts +0 -38
  460. package/src/hooks/use-create-package-files-mutation.ts +0 -76
  461. package/src/hooks/use-create-package-mutation.ts +0 -54
  462. package/src/hooks/use-create-package-release-mutation.ts +0 -107
  463. package/src/hooks/use-create-release-dialog.ts +0 -160
  464. package/src/hooks/use-create-snippet-mutation.ts +0 -65
  465. package/src/hooks/use-current-package-id.ts +0 -16
  466. package/src/hooks/use-current-package-info.ts +0 -32
  467. package/src/hooks/use-current-package-release.ts +0 -48
  468. package/src/hooks/use-current-snippet-id.ts +0 -78
  469. package/src/hooks/use-current-snippet.ts +0 -24
  470. package/src/hooks/use-datasheet.ts +0 -18
  471. package/src/hooks/use-debounce.ts +0 -17
  472. package/src/hooks/use-delete-package.ts +0 -45
  473. package/src/hooks/use-download-zip.ts +0 -50
  474. package/src/hooks/use-fork-package-mutation.ts +0 -61
  475. package/src/hooks/use-global-store.ts +0 -36
  476. package/src/hooks/use-hotkey.ts +0 -116
  477. package/src/hooks/use-hydration.ts +0 -30
  478. package/src/hooks/use-is-using-fake-api.ts +0 -3
  479. package/src/hooks/use-jlcpcb-component-import.tsx +0 -164
  480. package/src/hooks/use-list-org-members.ts +0 -32
  481. package/src/hooks/use-list-user-orgs.ts +0 -25
  482. package/src/hooks/use-now.ts +0 -12
  483. package/src/hooks/use-org-by-github-handle.ts +0 -24
  484. package/src/hooks/use-org.ts +0 -24
  485. package/src/hooks/use-organization.ts +0 -42
  486. package/src/hooks/use-package-as-snippet.ts +0 -81
  487. package/src/hooks/use-package-builds.ts +0 -91
  488. package/src/hooks/use-package-by-package-id.ts +0 -24
  489. package/src/hooks/use-package-by-package-name.ts +0 -29
  490. package/src/hooks/use-package-details-form.ts +0 -146
  491. package/src/hooks/use-package-files.ts +0 -122
  492. package/src/hooks/use-package-release-by-id-or-version.ts +0 -45
  493. package/src/hooks/use-package-release-images.ts +0 -105
  494. package/src/hooks/use-package-release.ts +0 -124
  495. package/src/hooks/use-package-stars.ts +0 -163
  496. package/src/hooks/use-package.ts +0 -24
  497. package/src/hooks/use-packages-base-api-url.ts +0 -3
  498. package/src/hooks/use-preview-images.ts +0 -78
  499. package/src/hooks/use-rebuild-package-release-mutation.ts +0 -41
  500. package/src/hooks/use-remove-org-member-mutation.ts +0 -32
  501. package/src/hooks/use-request-ai-review-mutation.ts +0 -54
  502. package/src/hooks/use-run-tsx/eval-compiled-js.ts +0 -9
  503. package/src/hooks/use-shiki-highlighter.ts +0 -33
  504. package/src/hooks/use-sign-in.ts +0 -24
  505. package/src/hooks/use-snippet-by-name.ts +0 -25
  506. package/src/hooks/use-snippet.ts +0 -24
  507. package/src/hooks/use-toast.tsx +0 -90
  508. package/src/hooks/use-update-ai-description-mutation.ts +0 -42
  509. package/src/hooks/use-update-org-mutation.ts +0 -41
  510. package/src/hooks/use-url-params.ts +0 -31
  511. package/src/hooks/use-warn-user-on-page-change.ts +0 -90
  512. package/src/hooks/useFileManagement.ts +0 -602
  513. package/src/hooks/useForkPackageMutation.ts +0 -50
  514. package/src/hooks/useForkSnippetMutation.ts +0 -53
  515. package/src/hooks/useOptimizedPackageFilesLoader.ts +0 -136
  516. package/src/hooks/usePackageFilesLoader.ts +0 -58
  517. package/src/hooks/useUpdatePackageFilesMutation.ts +0 -131
  518. package/src/hooks/useUpdatePackageMutation.ts +0 -63
  519. package/src/index.css +0 -108
  520. package/src/lib/__tests__/constants.test.ts +0 -66
  521. package/src/lib/base64ToBytes.ts +0 -5
  522. package/src/lib/bytesToBase64.ts +0 -4
  523. package/src/lib/codemirror/basic-setup.ts +0 -67
  524. package/src/lib/constants.ts +0 -23
  525. package/src/lib/decodeUrlHashToFsMap.ts +0 -17
  526. package/src/lib/decodeUrlHashToText.ts +0 -15
  527. package/src/lib/defaultCodeForBlankCode.tsx +0 -7
  528. package/src/lib/download-fns/createBlobURL.ts +0 -4
  529. package/src/lib/download-fns/download-assembly-svg.ts +0 -12
  530. package/src/lib/download-fns/download-circuit-json-fn.ts +0 -12
  531. package/src/lib/download-fns/download-circuit-png.ts +0 -96
  532. package/src/lib/download-fns/download-dsn-file-fn.ts +0 -12
  533. package/src/lib/download-fns/download-fabrication-files.ts +0 -233
  534. package/src/lib/download-fns/download-gltf-from-circuit-json.ts +0 -44
  535. package/src/lib/download-fns/download-gltf.ts +0 -43
  536. package/src/lib/download-fns/download-kicad-files.ts +0 -38
  537. package/src/lib/download-fns/download-pcb-svg.ts +0 -35
  538. package/src/lib/download-fns/download-png-utils.ts +0 -31
  539. package/src/lib/download-fns/download-readable-netlist.ts +0 -12
  540. package/src/lib/download-fns/download-schematic-svg.ts +0 -12
  541. package/src/lib/download-fns/download-simple-route-json.ts +0 -17
  542. package/src/lib/download-fns/download-spice-file.ts +0 -13
  543. package/src/lib/download-fns/download-step.ts +0 -12
  544. package/src/lib/encodeFsMapToUrlHash.ts +0 -13
  545. package/src/lib/encodeTextToUrlHash.ts +0 -17
  546. package/src/lib/get-snippet-template.ts +0 -26
  547. package/src/lib/getLicenseFromLicenseContent.ts +0 -67
  548. package/src/lib/handleManualEditsImport.tsx +0 -65
  549. package/src/lib/handleManualEditsImportWithSupportForMultipleFiles.ts +0 -67
  550. package/src/lib/normalize-svg-for-tile.ts +0 -50
  551. package/src/lib/populate-query-cache-with-ssr-data.ts +0 -53
  552. package/src/lib/posthog.ts +0 -17
  553. package/src/lib/react-query-api-failure-tracking.ts +0 -148
  554. package/src/lib/sentry.ts +0 -14
  555. package/src/lib/templates/blank-3d-model-template.ts +0 -12
  556. package/src/lib/templates/blank-circuit-board-template.ts +0 -20
  557. package/src/lib/templates/blank-footprint-template.ts +0 -29
  558. package/src/lib/templates/blank-package-template.ts +0 -21
  559. package/src/lib/templates/blinking-led-board-template.ts +0 -64
  560. package/src/lib/templates/usb-c-led-flashlight-template.ts +0 -22
  561. package/src/lib/ts-lib-cache.ts +0 -162
  562. package/src/lib/types.ts +0 -31
  563. package/src/lib/utils/checkIfManualEditsImported.ts +0 -20
  564. package/src/lib/utils/findTargetFile.ts +0 -97
  565. package/src/lib/utils/formatTimeAgo.ts +0 -10
  566. package/src/lib/utils/getPackagePreviewImageUrl.ts +0 -15
  567. package/src/lib/utils/index.ts +0 -6
  568. package/src/lib/utils/isComponentExported.ts +0 -10
  569. package/src/lib/utils/isUuid.ts +0 -5
  570. package/src/lib/utils/isValidFileName.ts +0 -17
  571. package/src/lib/utils/load-prettier.ts +0 -23
  572. package/src/lib/utils/member-role.tsx +0 -61
  573. package/src/lib/utils/package-utils.ts +0 -7
  574. package/src/lib/utils/parseJsonOrNull.ts +0 -8
  575. package/src/lib/utils/pcbManualEditEventHandler.ts +0 -156
  576. package/src/lib/utils/resolveRelativePath.ts +0 -40
  577. package/src/lib/utils/timeAgo.ts +0 -20
  578. package/src/lib/utils/toastManualEditConflicts.tsx +0 -39
  579. package/src/lib/utils/transformFilesToTreeData.tsx +0 -195
  580. package/src/main.tsx +0 -15
  581. package/src/pages/404.tsx +0 -23
  582. package/src/pages/authorize.tsx +0 -208
  583. package/src/pages/create-organization.tsx +0 -169
  584. package/src/pages/dashboard.tsx +0 -254
  585. package/src/pages/datasheet.tsx +0 -198
  586. package/src/pages/datasheets.tsx +0 -148
  587. package/src/pages/dev-login.tsx +0 -68
  588. package/src/pages/editor.tsx +0 -54
  589. package/src/pages/landing.tsx +0 -237
  590. package/src/pages/latest.tsx +0 -145
  591. package/src/pages/my-orders.tsx +0 -54
  592. package/src/pages/organization-profile.tsx +0 -197
  593. package/src/pages/organization-settings.tsx +0 -571
  594. package/src/pages/package-editor.tsx +0 -60
  595. package/src/pages/preview-release.tsx +0 -209
  596. package/src/pages/quickstart.tsx +0 -258
  597. package/src/pages/release-builds.tsx +0 -99
  598. package/src/pages/release-detail.tsx +0 -211
  599. package/src/pages/releases.tsx +0 -55
  600. package/src/pages/search.tsx +0 -288
  601. package/src/pages/settings-redirect.tsx +0 -44
  602. package/src/pages/trending.tsx +0 -201
  603. package/src/pages/user-profile.tsx +0 -330
  604. package/src/pages/user-settings.tsx +0 -161
  605. package/src/pages/view-package.tsx +0 -90
  606. package/src/types/package.ts +0 -4
  607. package/src/vite-env.d.ts +0 -1
  608. package/tailwind.config.js +0 -47
  609. package/tsconfig.json +0 -30
  610. package/vercel.json +0 -50
  611. package/vite.config.ts +0 -236
  612. package/winterspec.config.ts +0 -6
@@ -1,136 +0,0 @@
1
- import { useQuery, useQueries } from "react-query"
2
- import { useAxios } from "@/hooks/use-axios"
3
- import { usePackageFiles } from "@/hooks/use-package-files"
4
- import type { Package } from "fake-snippets-api/lib/db/schema"
5
- import { useState, useMemo } from "react"
6
-
7
- export interface PackageFile {
8
- path: string
9
- content: string
10
- }
11
-
12
- export interface OptimizedLoadingState {
13
- priorityFile: PackageFile | null
14
- allFiles: PackageFile[]
15
- isPriorityLoading: boolean
16
- areAllFilesLoading: boolean
17
- error: any
18
- }
19
-
20
- export function useOptimizedPackageFilesLoader(
21
- pkg?: Package,
22
- priorityFilePath?: string | null,
23
- ) {
24
- const axios = useAxios()
25
- const [loadedFiles, setLoadedFiles] = useState<Map<string, PackageFile>>(
26
- new Map(),
27
- )
28
-
29
- const pkgFiles = usePackageFiles(pkg?.latest_package_release_id)
30
-
31
- const targetFilePath = useMemo(() => {
32
- if (!pkgFiles.data) return priorityFilePath
33
-
34
- if (priorityFilePath) {
35
- const exactMatch = pkgFiles.data.find(
36
- (f) => f.file_path === priorityFilePath,
37
- )
38
- if (exactMatch) return exactMatch.file_path
39
-
40
- const partialMatch = pkgFiles.data.find(
41
- (f) =>
42
- f.file_path.includes(priorityFilePath) ||
43
- priorityFilePath.includes(f.file_path),
44
- )
45
- if (partialMatch) return partialMatch.file_path
46
- }
47
-
48
- // Check for index.tsx first
49
- const indexFile = pkgFiles.data.find((f) => f.file_path === "index.tsx")
50
- if (indexFile) return indexFile.file_path
51
-
52
- // Fallback to first file
53
- return pkgFiles.data[0]?.file_path || null
54
- }, [pkgFiles.data, priorityFilePath])
55
-
56
- const priorityFileData = pkgFiles.data?.find(
57
- (file) => file.file_path === targetFilePath,
58
- )
59
-
60
- const priorityFileQuery = useQuery({
61
- queryKey: ["priorityPackageFile", priorityFileData?.package_file_id],
62
- queryFn: async () => {
63
- if (!priorityFileData) return null
64
-
65
- const response = await axios.get(`/package_files/get`, {
66
- params: { package_file_id: priorityFileData.package_file_id },
67
- })
68
- const content = response.data.package_file?.content_text
69
- const file = { path: priorityFileData.file_path, content: content ?? "" }
70
-
71
- setLoadedFiles((prev) => {
72
- const newMap = new Map(prev)
73
- newMap.set(file.path, file)
74
- return newMap
75
- })
76
-
77
- return file
78
- },
79
- enabled: !!priorityFileData,
80
- refetchOnWindowFocus: false,
81
- refetchOnMount: true,
82
- staleTime: 0,
83
- cacheTime: Infinity,
84
- })
85
-
86
- const remainingFilesQueries = useQueries(
87
- pkgFiles.data
88
- ?.filter((file) => file.file_path !== targetFilePath)
89
- ?.map((file) => ({
90
- queryKey: ["packageFile", file.package_file_id],
91
- queryFn: async () => {
92
- const response = await axios.get(`/package_files/get`, {
93
- params: { package_file_id: file.package_file_id },
94
- })
95
- const content = response.data.package_file?.content_text
96
- const fileData = { path: file.file_path, content: content ?? "" }
97
-
98
- setLoadedFiles((prev) => {
99
- const newMap = new Map(prev)
100
- newMap.set(fileData.path, fileData)
101
- return newMap
102
- })
103
-
104
- return fileData
105
- },
106
- refetchOnWindowFocus: false,
107
- refetchOnMount: true,
108
- staleTime: 0,
109
- cacheTime: Infinity,
110
- })) ?? [],
111
- )
112
-
113
- const allFiles = useMemo(() => {
114
- const files = Array.from(loadedFiles.values())
115
- return files
116
- }, [loadedFiles])
117
-
118
- const areAllFilesLoading =
119
- remainingFilesQueries.some((q) => q.isLoading) ||
120
- priorityFileQuery.isLoading
121
- const error =
122
- priorityFileQuery.error || remainingFilesQueries.find((q) => q.error)?.error
123
-
124
- return {
125
- priorityFile: priorityFileQuery.data || null,
126
- priorityFileFetched: priorityFileQuery.isFetched,
127
- allFiles,
128
- isPriorityLoading: priorityFileQuery.isLoading,
129
- areAllFilesLoading,
130
- error,
131
- isMetaLoading: pkgFiles.isLoading,
132
- totalFilesCount: pkgFiles.data?.length || 0,
133
- loadedFilesCount: allFiles.length,
134
- isPriorityFileFetched: priorityFileQuery.isFetched,
135
- }
136
- }
@@ -1,58 +0,0 @@
1
- import { useQueries } from "react-query"
2
- import { useAxios } from "./use-axios"
3
- import type { Package } from "fake-snippets-api/lib/db/schema"
4
- import { usePackageFileById, usePackageFiles } from "./use-package-files"
5
-
6
- export interface PackageFile {
7
- path: string
8
- content: string
9
- }
10
-
11
- export function usePackageFilesLoader(pkg?: Package) {
12
- const axios = useAxios()
13
- const pkgFiles = usePackageFiles(pkg?.latest_package_release_id)
14
- const indexFileFromHook = usePackageFileById(
15
- pkgFiles.data?.find((x) => x.file_path === "index.tsx")?.package_file_id ??
16
- null,
17
- )
18
-
19
- const queries = useQueries(
20
- pkgFiles.data?.map((file) => ({
21
- queryKey: ["packageFile", file.package_file_id],
22
- queryFn: async () => {
23
- if (
24
- file.file_path === "index.tsx" &&
25
- indexFileFromHook.data?.content_text
26
- ) {
27
- return {
28
- path: file.file_path,
29
- content: indexFileFromHook.data.content_text,
30
- }
31
- }
32
-
33
- const response = await axios.get(`/package_files/get`, {
34
- params: { package_file_id: file.package_file_id },
35
- })
36
- const content = response.data.package_file?.content_text
37
- return { path: file.file_path, content: content ?? "" }
38
- },
39
- refetchOnWindowFocus: false,
40
- refetchOnMount: false,
41
- cacheTime: 0,
42
- })) ?? [],
43
- )
44
-
45
- const isLoading = queries.some((query) => query.isLoading)
46
- const error = queries.find((query) => query.error)?.error
47
-
48
- const processedResults = queries
49
- .map((query) => query.data)
50
- .filter((x): x is PackageFile => x !== null)
51
- .filter(Boolean)
52
-
53
- return {
54
- isLoading,
55
- error,
56
- data: processedResults,
57
- }
58
- }
@@ -1,131 +0,0 @@
1
- import { useMutation, useQueryClient } from "react-query"
2
- import type { Package } from "fake-snippets-api/lib/db/schema"
3
- import { useAxios } from "./use-axios"
4
- import { useToast } from "@/components/ViewPackagePage/hooks/use-toast"
5
- import { isHiddenFile } from "@/components/ViewPackagePage/utils/is-hidden-file"
6
-
7
- interface PackageFile {
8
- path: string
9
- content: string
10
- }
11
-
12
- interface UseUpdatePackageFilesMutationProps {
13
- currentPackage: Package | undefined
14
- localFiles: PackageFile[]
15
- initialFiles: PackageFile[]
16
- packageFilesMeta: {
17
- created_at: string
18
- file_path: string
19
- package_file_id: string
20
- package_release_id: string
21
- }[]
22
- }
23
-
24
- export function useUpdatePackageFilesMutation({
25
- currentPackage,
26
- localFiles,
27
- initialFiles,
28
- packageFilesMeta,
29
- }: UseUpdatePackageFilesMutationProps) {
30
- const axios = useAxios()
31
- const { toast } = useToast()
32
- const queryClient = useQueryClient()
33
- return useMutation({
34
- mutationFn: async (
35
- newPackage: Pick<Package, "package_id" | "name"> & {
36
- package_name_with_version: string
37
- },
38
- ) => {
39
- if (currentPackage) {
40
- newPackage = { ...currentPackage, ...newPackage }
41
- }
42
- if (!newPackage) throw new Error("No package to update")
43
-
44
- let updatedFilesCount = 0
45
-
46
- for (const file of localFiles) {
47
- if (isHiddenFile(file.path)) continue
48
- const initialFile = initialFiles.find((x) => x.path === file.path)
49
- if (file.content !== initialFile?.content) {
50
- const updatePkgFilePayload = {
51
- package_file_id:
52
- packageFilesMeta.find((x) => x.file_path === file.path)
53
- ?.package_file_id ?? null,
54
- content_text: file.content,
55
- file_path: file.path,
56
- package_name_with_version: `${newPackage.name}`,
57
- }
58
- const response = await axios.post(
59
- "/package_files/create_or_update",
60
- updatePkgFilePayload,
61
- )
62
-
63
- if (response.status === 200) {
64
- updatedFilesCount++
65
- }
66
- }
67
- }
68
-
69
- for (const initialFile of initialFiles) {
70
- const fileStillExists = localFiles.some(
71
- (x) => x.path === initialFile.path,
72
- )
73
-
74
- if (!fileStillExists) {
75
- const fileToDelete = packageFilesMeta.find(
76
- (x) => x.file_path === initialFile.path,
77
- )
78
-
79
- if (fileToDelete?.package_file_id) {
80
- const response = await axios.post("/package_files/delete", {
81
- package_name_with_version: `${newPackage.name}`,
82
- file_path: initialFile.path,
83
- })
84
-
85
- if (response.status === 200) {
86
- updatedFilesCount++
87
- }
88
- }
89
- }
90
- }
91
-
92
- if (!currentPackage) {
93
- await axios.post("/package_releases/update", {
94
- package_name_with_version: newPackage.package_name_with_version,
95
- ready_to_build: true,
96
- })
97
- }
98
-
99
- return updatedFilesCount
100
- },
101
- onSuccess: (updatedFilesCount) => {
102
- if (updatedFilesCount > 0) {
103
- toast({
104
- title: `Package's ${updatedFilesCount} files saved`,
105
- description: "Your changes have been saved successfully.",
106
- })
107
- queryClient.invalidateQueries({
108
- predicate: (q) => {
109
- const key = q.queryKey as any
110
- return (
111
- Array.isArray(key) &&
112
- (key[0] === "packageFiles" ||
113
- key[0] === "packageFile" ||
114
- key[0] === "priorityPackageFile")
115
- )
116
- },
117
- })
118
- }
119
- },
120
- onError: (error: any) => {
121
- toast({
122
- title: "Error",
123
- description:
124
- error instanceof Error
125
- ? error.message
126
- : "Failed to update package files. Please try again.",
127
- variant: "destructive",
128
- })
129
- },
130
- })
131
- }
@@ -1,63 +0,0 @@
1
- import { useMutation, useQueryClient } from "react-query"
2
- import { useToast } from "@/hooks/use-toast"
3
- import { useAxios } from "@/hooks/use-axios"
4
- import type { Package } from "fake-snippets-api/lib/db/schema"
5
-
6
- interface UseUpdatePackageMutationProps {
7
- pkg: Package | undefined
8
- code: string
9
- dts: string
10
- circuitJson: any
11
- manualEditsFileContent: string
12
- }
13
-
14
- export function useUpdatePackageMutation({
15
- pkg,
16
- code,
17
- dts,
18
- circuitJson,
19
- manualEditsFileContent,
20
- }: UseUpdatePackageMutationProps) {
21
- const axios = useAxios()
22
- const queryClient = useQueryClient()
23
- const { toast } = useToast()
24
-
25
- return useMutation({
26
- mutationFn: async () => {
27
- if (!pkg) throw new Error("No package to update")
28
-
29
- const updatePkgPayload = {
30
- package_id: pkg.package_id,
31
- code,
32
- dts,
33
- circuit_json: circuitJson,
34
- manual_edits_json_content: manualEditsFileContent,
35
- }
36
-
37
- try {
38
- const response = await axios.post("/packages/update", updatePkgPayload)
39
- return response.data
40
- } catch (error: any) {
41
- throw error
42
- }
43
- },
44
- onSuccess: () => {
45
- queryClient.invalidateQueries({ queryKey: ["package", pkg?.package_id] })
46
- toast({
47
- title: "Package saved",
48
- description: "Your changes have been saved successfully.",
49
- })
50
- },
51
- onError: (error) => {
52
- console.error("Error saving pkg:", error)
53
- toast({
54
- title: "Error",
55
- description:
56
- error instanceof Error
57
- ? error.message
58
- : "Failed to save the package. Please try again.",
59
- variant: "destructive",
60
- })
61
- },
62
- })
63
- }
package/src/index.css DELETED
@@ -1,108 +0,0 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
4
-
5
- @layer base {
6
- :root {
7
- --radius: 0.5rem;
8
- }
9
- }
10
-
11
- /* add the code bellow */
12
- @layer utilities {
13
- /* Hide scrollbar for Chrome, Safari and Opera */
14
- .no-scrollbar::-webkit-scrollbar {
15
- display: none;
16
- }
17
- /* Hide scrollbar for IE, Edge and Firefox */
18
- .no-scrollbar {
19
- -ms-overflow-style: none; /* IE and Edge */
20
- scrollbar-width: none; /* Firefox */
21
- }
22
-
23
- .shiki {
24
- @apply no-scrollbar;
25
- }
26
- }
27
-
28
- .shiki {
29
- font-family: "Fira Code", monospace;
30
- font-size: 14px;
31
- line-height: 1.6;
32
- }
33
-
34
- @keyframes fadeIn {
35
- from {
36
- opacity: 0;
37
- }
38
- to {
39
- opacity: 1;
40
- }
41
- }
42
-
43
- .animate-fadeIn {
44
- animation: fadeIn 0.3s ease-in-out;
45
- }
46
-
47
- .shiki code {
48
- counter-reset: step;
49
- counter-increment: step 0;
50
- }
51
-
52
- .shiki code .line::before {
53
- content: counter(step);
54
- counter-increment: step;
55
- width: 1rem;
56
- margin-right: 1.5rem;
57
- display: inline-block;
58
- text-align: right;
59
- color: rgba(115, 138, 148, 0.4);
60
- }
61
-
62
- .markdown-code .shiki .line::before {
63
- content: none !important;
64
- display: none !important;
65
- }
66
-
67
- .markdown-code .shiki .line {
68
- padding-left: 0 !important;
69
- }
70
-
71
- .markdown-code pre {
72
- padding: 12px !important;
73
- margin: 0 !important;
74
- }
75
-
76
- .markdown-content {
77
- padding-top: 0.5rem;
78
- max-width: none !important;
79
- width: 100% !important;
80
- }
81
-
82
- .markdown-content .prose {
83
- max-width: none !important;
84
- width: 100% !important;
85
- }
86
-
87
- body {
88
- overflow-x: hidden;
89
- }
90
-
91
- /* Subtle scrollbar styling for html and body */
92
- html::-webkit-scrollbar,
93
- body::-webkit-scrollbar {
94
- width: 6px;
95
- background-color: transparent;
96
- }
97
-
98
- html::-webkit-scrollbar-thumb,
99
- body::-webkit-scrollbar-thumb {
100
- background-color: rgba(215, 215, 215, 0.564);
101
- border-radius: 8px;
102
- transition: background-color 0.2s;
103
- }
104
-
105
- html::-webkit-scrollbar-thumb:hover,
106
- body::-webkit-scrollbar-thumb:hover {
107
- background-color: rgba(193, 193, 193, 0.455);
108
- }
@@ -1,66 +0,0 @@
1
- import { describe, expect, test } from "bun:test"
2
- import { TSCI_PACKAGE_PATTERN } from "../constants"
3
-
4
- describe("TSCI_PACKAGE_PATTERN", () => {
5
- // Test valid patterns
6
- const validPackages = [
7
- "@tsci/basic",
8
- "@tsci/package-name",
9
- "@tsci/multiple-dashes-here",
10
- "@tsci/package.subpackage",
11
- "@tsci/complex-package.complex-subpackage",
12
- "@tsci/a.b.c",
13
- "@tsci/package-with-numbers123",
14
- "@tsci/package123-with-numbers",
15
- "@tsci/core.utils-helper",
16
- "@tsci/double--dash",
17
- "@tsci/seveibar.ABM8_272_T3",
18
- ]
19
-
20
- validPackages.forEach((pkg) => {
21
- test(`should match valid package: ${pkg}`, () => {
22
- const matches = Array.from(pkg.matchAll(TSCI_PACKAGE_PATTERN))
23
- expect(matches).toHaveLength(1)
24
- expect(matches[0][0]).toBe(pkg)
25
- })
26
- })
27
-
28
- // Test invalid patterns
29
- const invalidPackages = [
30
- "@tsci/", // Empty
31
- "@tsci/123start-with-number", // Starts with number
32
- "@tsci/-start-with-dash", // Starts with dash
33
- "@tsci/.start-with-dot", // Starts with dot
34
-
35
- "@tsci/double..dot", // Double dot
36
- "@tsci/end-with-dash-", // Ends with dash
37
- "@tsci/end-with-dot.", // Ends with dot
38
- "@tsci/invalid@chars", // Invalid characters
39
- "@tsci/dot.dash.-mixed", // Invalid dot-dash combination
40
- "@tsci/dash-.dot-mixed", // Invalid dash-dot combination
41
- "@tsci/space in name", // Contains space
42
- "@tsci/!", // Invalid character
43
- "@tsci/pkg#123", // Invalid character
44
- "@tsci/@invalid", // Invalid character
45
- ]
46
-
47
- invalidPackages.forEach((pkg) => {
48
- test(`should not match invalid package: ${pkg}`, () => {
49
- const matches = Array.from(pkg.matchAll(TSCI_PACKAGE_PATTERN))
50
- console.log(Array.from(pkg.matchAll(TSCI_PACKAGE_PATTERN)))
51
- expect(matches).toHaveLength(0)
52
- })
53
- })
54
-
55
- // Test import statements
56
- test("should match package names in import statements", () => {
57
- const importStatement =
58
- 'import { something } from "@tsci/valid-package" import { other } from "@tsci/other-package.sub"'
59
- const matches = Array.from(importStatement.matchAll(TSCI_PACKAGE_PATTERN))
60
- expect(matches).toHaveLength(2)
61
- expect(matches.map((m) => m[0])).toEqual([
62
- "@tsci/valid-package",
63
- "@tsci/other-package.sub",
64
- ])
65
- })
66
- })
@@ -1,5 +0,0 @@
1
- // Base64 encoding and decoding functions
2
- export function base64ToBytes(base64: string): Uint8Array {
3
- const binString = atob(base64)
4
- return Uint8Array.from(binString, (m) => m.codePointAt(0)!)
5
- }
@@ -1,4 +0,0 @@
1
- export function bytesToBase64(bytes: Uint8Array): string {
2
- const binString = String.fromCodePoint(...bytes)
3
- return btoa(binString)
4
- }
@@ -1,67 +0,0 @@
1
- import {
2
- keymap,
3
- highlightSpecialChars,
4
- drawSelection,
5
- highlightActiveLine,
6
- dropCursor,
7
- rectangularSelection,
8
- crosshairCursor,
9
- lineNumbers,
10
- highlightActiveLineGutter,
11
- } from "@codemirror/view"
12
- import { Extension, EditorState } from "@codemirror/state"
13
- import {
14
- defaultHighlightStyle,
15
- syntaxHighlighting,
16
- indentOnInput,
17
- bracketMatching,
18
- foldGutter,
19
- foldKeymap,
20
- } from "@codemirror/language"
21
- import {
22
- defaultKeymap,
23
- history,
24
- historyKeymap,
25
- toggleLineComment,
26
- toggleBlockComment,
27
- } from "@codemirror/commands"
28
- import { searchKeymap, highlightSelectionMatches } from "@codemirror/search"
29
- import { autocompletion, completionKeymap } from "@codemirror/autocomplete"
30
- import { lintKeymap } from "@codemirror/lint"
31
-
32
- export const basicSetup: Extension = (() => [
33
- lineNumbers(),
34
- highlightActiveLineGutter(),
35
- highlightSpecialChars(),
36
- history(),
37
- foldGutter(),
38
- drawSelection(),
39
- dropCursor(),
40
- EditorState.allowMultipleSelections.of(false),
41
- indentOnInput(),
42
- syntaxHighlighting(defaultHighlightStyle, { fallback: true }),
43
- bracketMatching(),
44
- autocompletion(),
45
- rectangularSelection(),
46
- crosshairCursor(),
47
- highlightActiveLine(),
48
- highlightSelectionMatches(),
49
- keymap.of([
50
- ...defaultKeymap,
51
- ...searchKeymap,
52
- ...historyKeymap,
53
- ...foldKeymap,
54
- ...completionKeymap,
55
- ...lintKeymap,
56
- {
57
- key: "Mod-/",
58
- run: toggleLineComment,
59
- preventDefault: true,
60
- },
61
- {
62
- key: "Mod-Shift-/",
63
- run: toggleBlockComment,
64
- preventDefault: true,
65
- },
66
- ]),
67
- ])()
@@ -1,23 +0,0 @@
1
- /**
2
- * Regular expression pattern for matching @tsci package imports
3
- * Rules:
4
- * - Must start with @tsci/
5
- * - First character after @tsci/ must be a letter
6
- * - Can contain letters, numbers, single dashes between alphanumeric characters
7
- * - Can have subpackages separated by single dots
8
- * - Cannot end with dots or dashes
9
- * - Cannot have consecutive dots or dashes
10
- */
11
- export const TSCI_PACKAGE_PATTERN =
12
- /@tsci\/[a-zA-Z][a-zA-Z0-9]*(?:--?[a-zA-Z0-9]+)*(?:\.[a-zA-Z][a-zA-Z0-9_]*(?:--?[a-zA-Z0-9_]+)*)*/g
13
-
14
- /**
15
- * Regular expression pattern for matching local file imports
16
- * Rules:
17
- * - Must start with ./ or ../
18
- * - Can contain letters, numbers, dots, dashes, underscores, and forward slashes
19
- * - Can optionally end with file extensions like .ts, .tsx, .js, .jsx, .json
20
- * - Captures the full relative path
21
- */
22
- export const LOCAL_FILE_IMPORT_PATTERN =
23
- /(?:\.\.?\/[a-zA-Z0-9._\-\/]*(?:\.(?:ts|tsx|js|jsx|json))?)/g
@@ -1,17 +0,0 @@
1
- import { gunzipSync, strFromU8 } from "fflate"
2
- import { base64ToBytes } from "./base64ToBytes"
3
-
4
- export function decodeUrlHashToFsMap(
5
- url: string,
6
- ): Record<string, string> | null {
7
- const base64Data = url.split("#data:application/gzip;base64,")[1]
8
- if (!base64Data) return null
9
- try {
10
- const compressedData = base64ToBytes(base64Data)
11
- const decompressedData = gunzipSync(compressedData)
12
- const text = strFromU8(decompressedData)
13
- return JSON.parse(text)
14
- } catch {
15
- return null
16
- }
17
- }
@@ -1,15 +0,0 @@
1
- import { gunzipSync, strFromU8 } from "fflate"
2
- import { base64ToBytes } from "./base64ToBytes"
3
-
4
- export function decodeUrlHashToText(url: string): string | null {
5
- // Extract the base64 part from the URL
6
- const base64Data = url.split("#data:application/gzip;base64,")?.[1]
7
- if (!base64Data) {
8
- return null
9
- }
10
-
11
- // Decode base64, decompress, and convert to string
12
- const compressedData = base64ToBytes(base64Data)
13
- const decompressedData = gunzipSync(compressedData)
14
- return strFromU8(decompressedData)
15
- }