@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,162 +0,0 @@
1
- import {
2
- createDefaultMapFromCDN,
3
- knownLibFilesForCompilerOptions,
4
- } from "@typescript/vfs"
5
- import { get, set } from "idb-keyval"
6
- import { compressToUTF16, decompressFromUTF16 } from "lz-string"
7
- import ts from "typescript"
8
-
9
- const TS_LIB_VERSION = "5.6.3"
10
- const CACHE_PREFIX = `ts-lib-${TS_LIB_VERSION}-`
11
- const CACHE_TTL = 7 * 24 * 60 * 60 * 1000 // 7 days
12
-
13
- export async function loadDefaultLibMap(): Promise<Map<string, string>> {
14
- const fsMap = new Map<string, string>()
15
- const libs = knownLibFilesForCompilerOptions(
16
- { target: ts.ScriptTarget.ES2022 },
17
- ts,
18
- )
19
- const missing: string[] = []
20
-
21
- for (const lib of libs) {
22
- const cacheKey = CACHE_PREFIX + lib
23
- const cached = await get(cacheKey)
24
- if (
25
- cached &&
26
- typeof cached === "object" &&
27
- "compressedFileContent" in cached &&
28
- "timestamp" in cached
29
- ) {
30
- const { compressedFileContent, timestamp } = cached as {
31
- compressedFileContent: string
32
- timestamp: number
33
- }
34
- if (Date.now() - timestamp < CACHE_TTL) {
35
- fsMap.set("/" + lib, decompressFromUTF16(compressedFileContent))
36
- } else {
37
- missing.push(lib)
38
- }
39
- } else {
40
- missing.push(lib)
41
- }
42
- }
43
-
44
- if (missing.length > 0) {
45
- const fetched = await createDefaultMapFromCDN(
46
- { target: ts.ScriptTarget.ES2022 },
47
- TS_LIB_VERSION,
48
- true,
49
- ts,
50
- { compressToUTF16, decompressFromUTF16 } as any,
51
- )
52
- for (const [filename, content] of fetched) {
53
- fsMap.set(filename, content)
54
- const cacheKey = CACHE_PREFIX + filename.replace(/^\//, "")
55
- const compressed = compressToUTF16(content)
56
- await set(cacheKey, {
57
- compressedFileContent: compressed,
58
- timestamp: Date.now(),
59
- }).catch(() => {})
60
- }
61
- }
62
-
63
- return fsMap
64
- }
65
-
66
- export async function fetchWithPackageCaching(
67
- input: RequestInfo | URL,
68
- init?: RequestInit,
69
- ): Promise<Response> {
70
- const url = typeof input === "string" ? input : input.toString()
71
-
72
- // Only cache GET requests for packages
73
- if (init?.method && init.method !== "GET") {
74
- return fetch(input, init)
75
- }
76
-
77
- // Check if this should be cached
78
- const shouldCache =
79
- url.includes("jsdelivr.net") ||
80
- url.includes("unpkg.com") ||
81
- url.includes("@types/") ||
82
- url.includes("@tsci/")
83
-
84
- if (!shouldCache) {
85
- return fetch(input, init)
86
- }
87
-
88
- const cacheKey = `package-cache-${url}`
89
-
90
- // Check cache
91
- const cached = await get(cacheKey).catch(() => null)
92
- if (
93
- cached &&
94
- typeof cached === "object" &&
95
- "compressedFileContent" in cached &&
96
- "timestamp" in cached
97
- ) {
98
- const { compressedFileContent, timestamp } = cached as {
99
- compressedFileContent: string
100
- timestamp: number
101
- }
102
- if (Date.now() - timestamp < CACHE_TTL) {
103
- return new Response(decompressFromUTF16(compressedFileContent), {
104
- status: 200,
105
- statusText: "OK",
106
- })
107
- }
108
- }
109
-
110
- // Handle @tsci packages
111
- let fetchUrl = url
112
- if (
113
- url.includes("@tsci/") &&
114
- (url.includes("jsdelivr.net") || url.includes("data.jsdelivr.com"))
115
- ) {
116
- let packagePath = ""
117
- if (url.includes("jsdelivr.net")) {
118
- packagePath = url.replace("https://cdn.jsdelivr.net/npm/@tsci/", "")
119
- } else if (url.includes("/v1/package/resolve/npm/@tsci/")) {
120
- const resolveIndex = url.indexOf("/v1/package/resolve/npm/@tsci/")
121
- packagePath = url.substring(
122
- resolveIndex + "/v1/package/resolve/npm/@tsci/".length,
123
- )
124
- } else if (url.includes("/v1/package/npm/@tsci/")) {
125
- const npmIndex = url.indexOf("/v1/package/npm/@tsci/")
126
- packagePath = url.substring(npmIndex + "/v1/package/npm/@tsci/".length)
127
- }
128
-
129
- if (packagePath) {
130
- // Convert dots to slashes in the package name part (like original logic)
131
- const parts = packagePath.split("/")
132
- if (parts.length > 0) {
133
- parts[0] = parts[0].replace(/\./, "/")
134
- }
135
- const transformedPackagePath = parts.join("/")
136
-
137
- const apiUrl = import.meta.env.VITE_SNIPPETS_API_URL ?? "/api"
138
- const isResolve = url.includes("/resolve/")
139
- fetchUrl = `${apiUrl}/snippets/download?jsdelivr_resolve=${isResolve}&jsdelivr_path=${encodeURIComponent(
140
- transformedPackagePath,
141
- )}`
142
- }
143
- }
144
-
145
- // Fetch and cache
146
- const response = await fetch(fetchUrl, init)
147
- if (response.ok) {
148
- const text = await response.text()
149
- const compressed = compressToUTF16(text)
150
- await set(cacheKey, {
151
- compressedFileContent: compressed,
152
- timestamp: Date.now(),
153
- }).catch(() => {})
154
- return new Response(text, {
155
- status: response.status,
156
- statusText: response.statusText,
157
- headers: response.headers,
158
- })
159
- }
160
-
161
- return response
162
- }
package/src/lib/types.ts DELETED
@@ -1,31 +0,0 @@
1
- import { Object3D, Object3DEventMap } from "three"
2
-
3
- declare global {
4
- interface Window {
5
- TSCIRCUIT_REGISTRY_API_BASE_URL: string
6
- TSCIRCUIT_REGISTRY_TOKEN: string | null
7
- TSCIRCUIT_STRIPE_CHECKOUT_BASE_URL: string
8
- TSCIRCUIT_3D_OBJECT_REF: Object3D<Object3DEventMap> | undefined
9
- __DEBUG_CODE_EDITOR_FS_MAP: Map<string, string>
10
- prettier: {
11
- format: (code: string, options: any) => string
12
- }
13
- prettierPlugins: any
14
- /** Timestamp in milliseconds of when the application was first loaded */
15
- __APP_LOADED_AT?: number
16
- }
17
- }
18
-
19
- export interface PackageInfo {
20
- name: string
21
- unscoped_name: string
22
- owner_github_username: string
23
- star_count: string
24
- description: string
25
- ai_description: string
26
- ai_usage_instructions: string
27
- creator_account_id?: string
28
- owner_org_id?: string
29
- package_id: string
30
- latest_package_release_id: string
31
- }
@@ -1,20 +0,0 @@
1
- import { findTargetFile } from "./findTargetFile"
2
-
3
- export const checkIfManualEditsImported = (
4
- files: Record<string, string>,
5
- file: string = "index.tsx",
6
- ) => {
7
- if (!files[file]) return false
8
- const targetFile = findTargetFile({
9
- files: Object.keys(files).map((f) => ({ path: f, content: files[f] })),
10
- filePathFromUrl: null,
11
- })
12
- if (targetFile && file !== targetFile.path) {
13
- return false
14
- }
15
- if (!file.endsWith(".tsx") && !file.endsWith(".ts")) return false
16
- const importRegex =
17
- /import\s+(?:\*\s+as\s+)?([a-zA-Z_$][\w$]*)\s+from\s+["'](?:\.\/)?manual-edits\.json["'];?/
18
- const hasManualEditsImported = importRegex.test(files[file])
19
- return !!files["manual-edits.json"]?.trim() && !hasManualEditsImported
20
- }
@@ -1,97 +0,0 @@
1
- import { isHiddenFile } from "@/components/ViewPackagePage/utils/is-hidden-file"
2
- import { PackageFile } from "@/types/package"
3
- import { isComponentExported } from "./isComponentExported"
4
-
5
- export const findMainEntrypointFileFromTscircuitConfig = (
6
- files: PackageFile[],
7
- ): PackageFile | null => {
8
- const configFile = files.find((file) => file.path === "tscircuit.config.json")
9
-
10
- if (configFile) {
11
- try {
12
- const config = JSON.parse(configFile.content)
13
-
14
- if (config && typeof config.mainEntrypoint === "string") {
15
- const mainComponentPath = config.mainEntrypoint
16
-
17
- const normalizedPath = mainComponentPath.startsWith("./")
18
- ? mainComponentPath.substring(2)
19
- : mainComponentPath
20
-
21
- return files.find((file) => file.path === normalizedPath) ?? null
22
- }
23
- } catch {}
24
- }
25
-
26
- return null
27
- }
28
-
29
- export const findTargetFile = ({
30
- files,
31
- filePathFromUrl,
32
- fallbackToAnyFile = true,
33
- }: {
34
- files: PackageFile[]
35
- filePathFromUrl: string | null
36
- fallbackToAnyFile?: boolean
37
- }): PackageFile | null => {
38
- if (files.length === 0) {
39
- return null
40
- }
41
-
42
- let targetFile: PackageFile | undefined | null = null
43
- if (!filePathFromUrl) {
44
- files = files.filter((x) => !isHiddenFile(x.path))
45
- }
46
-
47
- if (filePathFromUrl) {
48
- const file = files.find((file) => file.path === filePathFromUrl)?.path
49
- if (
50
- file &&
51
- !file.endsWith(".ts") &&
52
- !file.endsWith(".tsx") &&
53
- fallbackToAnyFile
54
- ) {
55
- targetFile = files.find((file) => file.path === filePathFromUrl) ?? null
56
- } else {
57
- const _isComponentExported = isComponentExported(
58
- files.find((file) => file.path === filePathFromUrl)?.content || "",
59
- )
60
- if (_isComponentExported) {
61
- targetFile = files.find((file) => file.path === filePathFromUrl) ?? null
62
- }
63
- }
64
- }
65
-
66
- if (!targetFile) {
67
- targetFile = findMainEntrypointFileFromTscircuitConfig(files)
68
- }
69
- if (!targetFile) {
70
- targetFile =
71
- files.find(
72
- (file) => file.path === "index.tsx" || file.path === "index.ts",
73
- ) ?? null
74
- }
75
-
76
- if (!targetFile) {
77
- targetFile =
78
- files.find((file) => file.path.endsWith(".circuit.tsx")) ?? null
79
- }
80
-
81
- if (!targetFile) {
82
- targetFile =
83
- files.find(
84
- (file) => file.path === "main.tsx" || file.path === "main.ts",
85
- ) ?? null
86
- }
87
-
88
- if (!targetFile) {
89
- targetFile = files.find((file) => file.path.endsWith(".tsx")) ?? null
90
- }
91
-
92
- if (!targetFile && files[0] && fallbackToAnyFile) {
93
- targetFile = files[0]
94
- }
95
-
96
- return targetFile
97
- }
@@ -1,10 +0,0 @@
1
- export const formatTimeAgo = (dateString: string) => {
2
- const date = new Date(dateString)
3
- const now = new Date()
4
- const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000)
5
-
6
- if (diffInSeconds < 60) return "just now"
7
- if (diffInSeconds < 3600) return `${Math.floor(diffInSeconds / 60)}m ago`
8
- if (diffInSeconds < 86400) return `${Math.floor(diffInSeconds / 3600)}h ago`
9
- return `${Math.floor(diffInSeconds / 86400)}d ago`
10
- }
@@ -1,15 +0,0 @@
1
- import { Package } from "fake-snippets-api/lib/db/schema"
2
-
3
- export const getPackagePreviewImageUrl = (
4
- pkg: Package,
5
- view: "pcb" | "schematic" | "3d" = "pcb",
6
- ) => {
7
- switch (view) {
8
- case "schematic":
9
- return pkg.latest_sch_preview_image_url
10
- case "3d":
11
- return pkg.latest_cad_preview_image_url
12
- default:
13
- return pkg.latest_pcb_preview_image_url
14
- }
15
- }
@@ -1,6 +0,0 @@
1
- import { clsx, type ClassValue } from "clsx"
2
- import { twMerge } from "tailwind-merge"
3
-
4
- export function cn(...inputs: ClassValue[]) {
5
- return twMerge(clsx(inputs))
6
- }
@@ -1,10 +0,0 @@
1
- export const isComponentExported = (code: string) => {
2
- return (
3
- /export function\s+\w+/.test(code) ||
4
- /export const\s+\w+\s*=/.test(code) ||
5
- /export default\s+\w+/.test(code) ||
6
- /export default\s+function\s*(\w*)\s*\(/.test(code) ||
7
- /export default\s*\(\s*\)\s*=>/.test(code) ||
8
- /export default\s*\(.*?\)\s*=>/.test(code)
9
- )
10
- }
@@ -1,5 +0,0 @@
1
- export function isUuid(value: string): boolean {
2
- const uuidRegex =
3
- /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i
4
- return uuidRegex.test(value) || value.startsWith("package_release_")
5
- }
@@ -1,17 +0,0 @@
1
- export const isValidFileName = (name: string) => {
2
- const invalidChars = /[<>:"\\|?*]/
3
-
4
- if (name.length === 0) return false
5
- if (invalidChars.test(name)) return false
6
-
7
- const pathParts = name.split("/")
8
-
9
- for (const part of pathParts) {
10
- if (part === "") continue
11
- if (part === "." || part === "..") return false
12
- if (part.startsWith(" ") || part.endsWith(" ")) return false
13
- if (part.includes("\\")) return false
14
- }
15
-
16
- return true
17
- }
@@ -1,23 +0,0 @@
1
- export async function loadPrettier() {
2
- if (window.prettier) return
3
-
4
- await Promise.all([
5
- loadScript("https://cdn.jsdelivr.net/npm/prettier@2.8.8/standalone.js"),
6
- loadScript(
7
- "https://cdn.jsdelivr.net/npm/prettier@2.8.8/parser-typescript.js",
8
- ),
9
- loadScript(
10
- "https://cdn.jsdelivr.net/npm/prettier@2.8.8/parser-markdown.js",
11
- ),
12
- ])
13
- }
14
-
15
- function loadScript(src: string): Promise<void> {
16
- return new Promise((resolve, reject) => {
17
- const script = document.createElement("script")
18
- script.src = src
19
- script.onload = () => resolve()
20
- script.onerror = reject
21
- document.head.appendChild(script)
22
- })
23
- }
@@ -1,61 +0,0 @@
1
- import { PublicOrgSchema } from "fake-snippets-api/lib/db/schema"
2
- import { Crown, Shield, User } from "lucide-react"
3
-
4
- export type MemberRole = "owner" | "manager" | "member"
5
-
6
- export const getRoleName = (role: MemberRole) => {
7
- return role.charAt(0).toUpperCase() + role.slice(1)
8
- }
9
-
10
- export const getMemberRole = (
11
- organization: PublicOrgSchema,
12
- accountId: string,
13
- ): MemberRole => {
14
- const isOwner =
15
- String(accountId).trim() === String(organization.owner_account_id).trim()
16
- const isManager = Object.values(organization.user_permissions ?? {}).some(
17
- Boolean,
18
- )
19
- if (isOwner) {
20
- return "owner"
21
- }
22
- if (isManager) {
23
- return "manager"
24
- }
25
- return "member"
26
- }
27
-
28
- export const getRoleIcon = (role: MemberRole) => {
29
- switch (role) {
30
- case "owner":
31
- return <Crown className="size-3" />
32
- case "manager":
33
- return <Shield className="size-3" />
34
- case "member":
35
- return <User className="size-3" />
36
- default:
37
- return <User className="size-3" />
38
- }
39
- }
40
-
41
- export const getRoleColor = (role: MemberRole) => {
42
- switch (role) {
43
- case "owner":
44
- return "bg-amber-100 text-amber-800 border-amber-200"
45
- case "manager":
46
- return "bg-blue-50 text-blue-700 border border-blue-200"
47
- default:
48
- return "bg-gray-100 text-gray-800 border-gray-200"
49
- }
50
- }
51
-
52
- export const getRoleDescription = (role: MemberRole) => {
53
- switch (role) {
54
- case "owner":
55
- return "Full access to organization settings"
56
- case "manager":
57
- return "Limited administrative privileges"
58
- case "member":
59
- return "Standard member access"
60
- }
61
- }
@@ -1,7 +0,0 @@
1
- export const DEFAULT_CODE = `
2
- export default () => (
3
- <board width="10mm" height="10mm">
4
- {/* write your code here! */}
5
- </board>
6
- )
7
- `.trim()
@@ -1,8 +0,0 @@
1
- export const parseJsonOrNull = (string: string | null): any => {
2
- if (!string) return null
3
- try {
4
- return JSON.parse(string)
5
- } catch {
6
- return null
7
- }
8
- }
@@ -1,156 +0,0 @@
1
- import type { ManualTraceHint } from "@tscircuit/layout"
2
- import { getManualTraceHintFromEvent } from "@tscircuit/layout"
3
- import type { EditEvent } from "@tscircuit/manual-edit-events"
4
- import type {
5
- AnyCircuitElement,
6
- PcbComponent,
7
- SourceComponentBase,
8
- } from "circuit-json"
9
-
10
- export interface PCBPlacement {
11
- selector: string
12
- center: { x: number; y: number }
13
- relative_to: "group_center"
14
- _edit_event_id?: string
15
- }
16
-
17
- export interface ManualEditState {
18
- pcb_placements: PCBPlacement[]
19
- edit_events: EditEvent[]
20
- manual_trace_hints: ManualTraceHint[]
21
- }
22
-
23
- export const createInitialManualEditState = (): ManualEditState => ({
24
- pcb_placements: [],
25
- edit_events: [],
26
- manual_trace_hints: [],
27
- })
28
-
29
- export const applyPcbEditEvents = ({
30
- editEvents,
31
- circuitJson,
32
- manualEditsFileContent,
33
- }: {
34
- editEvents: EditEvent[]
35
- circuitJson: AnyCircuitElement[]
36
- manualEditsFileContent?: string
37
- }): ManualEditState => {
38
- try {
39
- // Ensure we have a valid state to work with
40
- const validatedManualEdits = ensureValidState(manualEditsFileContent)
41
-
42
- // Create a new state object with properly initialized arrays
43
- const newManualEditState: ManualEditState = {
44
- pcb_placements: [...validatedManualEdits.pcb_placements],
45
- edit_events: [...validatedManualEdits.edit_events],
46
- manual_trace_hints: [...validatedManualEdits.manual_trace_hints],
47
- }
48
-
49
- // Create a set of handled event IDs
50
- const handledEventIds = new Set<string>()
51
-
52
- // Add existing event IDs to the set
53
- newManualEditState.pcb_placements.forEach((placement) => {
54
- if (placement._edit_event_id) {
55
- handledEventIds.add(placement._edit_event_id)
56
- }
57
- })
58
-
59
- newManualEditState.edit_events.forEach((event) => {
60
- if (event.edit_event_id) {
61
- handledEventIds.add(event.edit_event_id)
62
- }
63
- })
64
-
65
- // Process new edit events
66
- for (const editEvent of editEvents) {
67
- if (
68
- (editEvent.in_progress && !editEvent.edit_event_id) ||
69
- handledEventIds.has(editEvent.edit_event_id)
70
- )
71
- continue
72
-
73
- if (
74
- editEvent.pcb_edit_event_type === "edit_component_location" &&
75
- editEvent.pcb_component_id
76
- ) {
77
- // Find the component in the circuitJson
78
- const pcbComponent = circuitJson.find(
79
- (item: AnyCircuitElement) =>
80
- item.type === "pcb_component" &&
81
- item.pcb_component_id === editEvent.pcb_component_id,
82
- ) as PcbComponent
83
-
84
- if (!pcbComponent?.pcb_component_id) continue
85
-
86
- const nameofComponent = circuitJson.find(
87
- (item: AnyCircuitElement) =>
88
- item.type === "source_component" &&
89
- item.source_component_id === pcbComponent.source_component_id,
90
- ) as SourceComponentBase
91
-
92
- // Update or add placement
93
- const existingPlacementIndex =
94
- newManualEditState.pcb_placements.findIndex(
95
- (p) => p.selector === nameofComponent.name,
96
- )
97
-
98
- const newPlacement: PCBPlacement = {
99
- selector: nameofComponent.name,
100
- center: editEvent.new_center,
101
- relative_to: "group_center",
102
- _edit_event_id: editEvent.edit_event_id,
103
- }
104
-
105
- if (existingPlacementIndex !== -1) {
106
- // Update existing placement
107
- newManualEditState.pcb_placements[existingPlacementIndex] =
108
- newPlacement
109
- } else {
110
- // Add new placement
111
- newManualEditState.pcb_placements.push(newPlacement)
112
- }
113
- } else if (editEvent.pcb_edit_event_type === "edit_trace_hint") {
114
- const newTraceHint = getManualTraceHintFromEvent(circuitJson, editEvent)
115
- if (newTraceHint) {
116
- newManualEditState.manual_trace_hints = [
117
- ...newManualEditState.manual_trace_hints.filter(
118
- (th) => th.pcb_port_selector !== newTraceHint.pcb_port_selector,
119
- ),
120
- newTraceHint,
121
- ]
122
- }
123
- } else {
124
- // Add any other type of event to edit_events array
125
- newManualEditState.edit_events.push(editEvent)
126
- }
127
-
128
- handledEventIds.add(editEvent.edit_event_id)
129
- }
130
-
131
- return newManualEditState
132
- } catch (error) {
133
- console.error("Error handling edit events:", error)
134
- // Return a fresh state if there's an error
135
- return createInitialManualEditState()
136
- }
137
- }
138
-
139
- // Helper function to ensure we have a valid state
140
- const ensureValidState = (manualEditsFileContent?: string): ManualEditState => {
141
- if (!manualEditsFileContent) return createInitialManualEditState()
142
-
143
- const manualEditState = JSON.parse(manualEditsFileContent)
144
-
145
- return {
146
- pcb_placements: Array.isArray(manualEditState.pcb_placements)
147
- ? manualEditState.pcb_placements
148
- : [],
149
- edit_events: Array.isArray(manualEditState.edit_events)
150
- ? manualEditState.edit_events
151
- : [],
152
- manual_trace_hints: Array.isArray(manualEditState.manual_trace_hints)
153
- ? manualEditState.manual_trace_hints
154
- : [],
155
- }
156
- }
@@ -1,40 +0,0 @@
1
- /**
2
- * Resolves a relative file path to an absolute path based on the current file
3
- */
4
- export const resolveRelativePath = (
5
- relativePath: string,
6
- currentFilePath: string,
7
- ): string => {
8
- if (!currentFilePath) return relativePath
9
-
10
- const currentDir = currentFilePath.includes("/")
11
- ? currentFilePath.substring(0, currentFilePath.lastIndexOf("/"))
12
- : ""
13
-
14
- if (relativePath.startsWith("./")) {
15
- return currentDir
16
- ? `${currentDir}/${relativePath.slice(2)}`
17
- : relativePath.slice(2)
18
- }
19
-
20
- if (relativePath.startsWith("../")) {
21
- const parts = currentDir.split("/").filter((p) => p !== "")
22
- const relativeParts = relativePath.split("/").filter((p) => p !== "")
23
-
24
- let upCount = 0
25
- for (const part of relativeParts) {
26
- if (part === "..") {
27
- upCount++
28
- } else {
29
- break
30
- }
31
- }
32
-
33
- const resultParts = parts.slice(0, Math.max(0, parts.length - upCount))
34
- const remainingParts = relativeParts.slice(upCount)
35
-
36
- return [...resultParts, ...remainingParts].join("/")
37
- }
38
-
39
- return relativePath
40
- }