@tscircuit/fake-snippets 0.0.45 → 0.0.46

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.
package/dist/schema.js ADDED
@@ -0,0 +1,251 @@
1
+ // fake-snippets-api/lib/db/schema.ts
2
+ import { z } from "zod";
3
+ var errorSchema = z.object({
4
+ error_code: z.string(),
5
+ message: z.string()
6
+ }).passthrough();
7
+ var errorResponseSchema = z.object({
8
+ error: errorSchema
9
+ });
10
+ var snippetSchema = z.object({
11
+ snippet_id: z.string(),
12
+ package_release_id: z.string(),
13
+ name: z.string(),
14
+ unscoped_name: z.string(),
15
+ owner_name: z.string(),
16
+ is_starred: z.boolean().default(false),
17
+ code: z.string(),
18
+ dts: z.string().optional(),
19
+ compiled_js: z.string().optional().nullable(),
20
+ circuit_json: z.array(z.record(z.any())).optional().nullable(),
21
+ manual_edits_json_content: z.string().optional().nullable(),
22
+ created_at: z.string(),
23
+ updated_at: z.string(),
24
+ snippet_type: z.enum(["board", "package", "model", "footprint"]),
25
+ description: z.string().optional(),
26
+ version: z.string().default("0.0.1"),
27
+ star_count: z.number().default(0),
28
+ is_private: z.boolean().default(false),
29
+ is_public: z.boolean().default(true),
30
+ is_unlisted: z.boolean().default(false)
31
+ });
32
+ var sessionSchema = z.object({
33
+ session_id: z.string(),
34
+ account_id: z.string(),
35
+ expires_at: z.string(),
36
+ is_cli_session: z.boolean()
37
+ });
38
+ var loginPageSchema = z.object({
39
+ login_page_id: z.string(),
40
+ login_page_auth_token: z.string(),
41
+ was_login_successful: z.boolean(),
42
+ has_been_used_to_create_session: z.boolean(),
43
+ created_at: z.string(),
44
+ expires_at: z.string()
45
+ });
46
+ var shippingInfoSchema = z.object({
47
+ firstName: z.string(),
48
+ lastName: z.string(),
49
+ companyName: z.string().optional(),
50
+ address: z.string(),
51
+ apartment: z.string().optional(),
52
+ city: z.string(),
53
+ state: z.string(),
54
+ zipCode: z.string(),
55
+ country: z.string(),
56
+ phone: z.string()
57
+ });
58
+ var accountSchema = z.object({
59
+ account_id: z.string(),
60
+ github_username: z.string(),
61
+ shippingInfo: shippingInfoSchema.optional()
62
+ });
63
+ var orderSchema = z.object({
64
+ order_id: z.string(),
65
+ account_id: z.string().nullable(),
66
+ is_running: z.boolean(),
67
+ is_started: z.boolean(),
68
+ is_finished: z.boolean(),
69
+ error: errorSchema.nullable(),
70
+ has_error: z.boolean(),
71
+ created_at: z.string(),
72
+ started_at: z.string().nullable(),
73
+ completed_at: z.string().nullable(),
74
+ circuit_json: z.any()
75
+ });
76
+ var orderFileSchema = z.object({
77
+ order_file_id: z.string(),
78
+ order_id: z.string(),
79
+ is_gerbers_zip: z.boolean(),
80
+ content_type: z.string(),
81
+ for_provider: z.string().nullable(),
82
+ uploaded_at: z.string(),
83
+ content_text: z.string().nullable(),
84
+ content_bytes: z.instanceof(Uint8Array).nullable()
85
+ });
86
+ var shippingOptionSchema = z.object({
87
+ carrier: z.string(),
88
+ service: z.string(),
89
+ cost: z.number()
90
+ });
91
+ var quotedComponentSchema = z.object({
92
+ manufacturer_part_number: z.string().nullable(),
93
+ supplier_part_number: z.string().nullable(),
94
+ quantity: z.number().default(0),
95
+ unit_price: z.number().default(0),
96
+ total_price: z.number().default(0),
97
+ available: z.boolean().default(true)
98
+ });
99
+ var orderQuoteSchema = z.object({
100
+ order_quote_id: z.string(),
101
+ account_id: z.string().nullable(),
102
+ package_release_id: z.string().nullable(),
103
+ is_completed: z.boolean().default(false),
104
+ is_processing: z.boolean().default(true),
105
+ vendor_name: z.string(),
106
+ error: errorSchema.nullable(),
107
+ has_error: z.boolean().default(false),
108
+ created_at: z.string(),
109
+ updated_at: z.string(),
110
+ completed_at: z.string().nullable(),
111
+ quoted_components: z.array(quotedComponentSchema).nullable(),
112
+ bare_pcb_cost: z.number().default(0),
113
+ shipping_options: z.array(shippingOptionSchema),
114
+ total_cost: z.number().default(0)
115
+ });
116
+ var accountSnippetSchema = z.object({
117
+ account_id: z.string(),
118
+ snippet_id: z.string(),
119
+ has_starred: z.boolean(),
120
+ created_at: z.string(),
121
+ updated_at: z.string()
122
+ });
123
+ var accountPackageSchema = z.object({
124
+ account_package_id: z.string(),
125
+ account_id: z.string(),
126
+ package_id: z.string(),
127
+ is_starred: z.boolean(),
128
+ created_at: z.string(),
129
+ updated_at: z.string()
130
+ });
131
+ var packageReleaseSchema = z.object({
132
+ package_release_id: z.string(),
133
+ package_id: z.string(),
134
+ version: z.string().nullable(),
135
+ is_locked: z.boolean(),
136
+ is_latest: z.boolean(),
137
+ created_at: z.string().datetime(),
138
+ commit_sha: z.string().nullable().optional(),
139
+ license: z.string().nullable().optional()
140
+ });
141
+ var packageFileSchema = z.object({
142
+ package_file_id: z.string(),
143
+ package_release_id: z.string(),
144
+ file_path: z.string(),
145
+ content_text: z.string().nullable().optional(),
146
+ created_at: z.string().datetime(),
147
+ content_mimetype: z.string().nullable().optional(),
148
+ is_release_tarball: z.boolean().optional(),
149
+ npm_pack_output: z.any().nullable().optional()
150
+ });
151
+ var packageSchema = z.object({
152
+ package_id: z.string(),
153
+ creator_account_id: z.string(),
154
+ owner_org_id: z.string(),
155
+ owner_github_username: z.string().nullable(),
156
+ name: z.string(),
157
+ unscoped_name: z.string(),
158
+ description: z.string().nullable(),
159
+ created_at: z.string().datetime(),
160
+ updated_at: z.string().datetime(),
161
+ is_snippet: z.boolean().default(false),
162
+ is_board: z.boolean().default(false),
163
+ is_package: z.boolean().default(false),
164
+ is_model: z.boolean().default(false),
165
+ is_footprint: z.boolean().default(false),
166
+ is_private: z.boolean().nullable().default(false),
167
+ is_public: z.boolean().nullable().default(true),
168
+ is_unlisted: z.boolean().nullable().default(false),
169
+ is_source_from_github: z.boolean().default(false),
170
+ snippet_type: z.enum(["board", "package", "model", "footprint"]).optional(),
171
+ latest_package_release_id: z.string().nullable(),
172
+ latest_version: z.string().nullable(),
173
+ license: z.string().nullable(),
174
+ website: z.string().nullable().default(null),
175
+ star_count: z.number().default(0),
176
+ ai_description: z.string().nullable(),
177
+ latest_license: z.string().nullable().optional(),
178
+ ai_usage_instructions: z.string().nullable()
179
+ });
180
+ var jlcpcbOrderStateSchema = z.object({
181
+ jlcpcb_order_state_id: z.string(),
182
+ order_id: z.string(),
183
+ are_gerbers_uploaded: z.boolean().default(false),
184
+ is_gerber_analyzed: z.boolean().default(false),
185
+ are_initial_costs_calculated: z.boolean().default(false),
186
+ is_pcb_added_to_cart: z.boolean().default(false),
187
+ is_bom_uploaded: z.boolean().default(false),
188
+ is_pnp_uploaded: z.boolean().default(false),
189
+ is_bom_pnp_analyzed: z.boolean().default(false),
190
+ is_bom_parsing_complete: z.boolean().default(false),
191
+ are_components_available: z.boolean().default(false),
192
+ is_patch_map_generated: z.boolean().default(false),
193
+ is_json_merge_file_created: z.boolean().default(false),
194
+ is_dfm_result_generated: z.boolean().default(false),
195
+ are_files_downloaded: z.boolean().default(false),
196
+ are_product_categories_fetched: z.boolean().default(false),
197
+ are_final_costs_calculated: z.boolean().default(false),
198
+ is_json_merge_file_updated: z.boolean().default(false),
199
+ is_added_to_cart: z.boolean().default(false),
200
+ uploaded_gerber_metadata: z.any().nullable().default(null),
201
+ gerber_analysis: z.any().nullable().default(null),
202
+ created_at: z.string(),
203
+ are_gerbers_generated: z.boolean().default(false),
204
+ current_step: z.string().nullable().default(null)
205
+ });
206
+ var jlcpcbOrderStepRunSchema = z.object({
207
+ jlcpcb_order_step_run_id: z.string(),
208
+ is_running: z.boolean().nullable().default(null),
209
+ step_function_name: z.string().nullable().default(null),
210
+ jlcpcb_order_state_id: z.string().nullable().default(null),
211
+ error_message: z.string().nullable().default(null),
212
+ created_at: z.string()
213
+ });
214
+ var databaseSchema = z.object({
215
+ idCounter: z.number().default(0),
216
+ snippets: z.array(snippetSchema).default([]),
217
+ packageReleases: z.array(packageReleaseSchema).default([]),
218
+ packageFiles: z.array(packageFileSchema).default([]),
219
+ sessions: z.array(sessionSchema).default([]),
220
+ loginPages: z.array(loginPageSchema).default([]),
221
+ accounts: z.array(accountSchema).default([]),
222
+ packages: z.array(packageSchema).default([]),
223
+ orders: z.array(orderSchema).default([]),
224
+ orderFiles: z.array(orderFileSchema).default([]),
225
+ accountSnippets: z.array(accountSnippetSchema).default([]),
226
+ accountPackages: z.array(accountPackageSchema).default([]),
227
+ jlcpcbOrderState: z.array(jlcpcbOrderStateSchema).default([]),
228
+ jlcpcbOrderStepRuns: z.array(jlcpcbOrderStepRunSchema).default([]),
229
+ orderQuotes: z.array(orderQuoteSchema).default([])
230
+ });
231
+ export {
232
+ accountPackageSchema,
233
+ accountSchema,
234
+ accountSnippetSchema,
235
+ databaseSchema,
236
+ errorResponseSchema,
237
+ errorSchema,
238
+ jlcpcbOrderStateSchema,
239
+ jlcpcbOrderStepRunSchema,
240
+ loginPageSchema,
241
+ orderFileSchema,
242
+ orderQuoteSchema,
243
+ orderSchema,
244
+ packageFileSchema,
245
+ packageReleaseSchema,
246
+ packageSchema,
247
+ quotedComponentSchema,
248
+ sessionSchema,
249
+ shippingInfoSchema,
250
+ snippetSchema
251
+ };
package/package.json CHANGED
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "name": "@tscircuit/fake-snippets",
3
- "version": "0.0.45",
3
+ "version": "0.0.46",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/tscircuit/snippets"
8
8
  },
9
9
  "main": "dist/index.js",
10
+ "exports": {
11
+ ".": "./dist/index.js",
12
+ "./schema": "./dist/schema.js"
13
+ },
10
14
  "scripts": {
11
15
  "start": "bun run dev",
12
16
  "snapshot": "bun scripts/snapshot.ts",
@@ -21,7 +25,8 @@
21
25
  "lint": "biome format .",
22
26
  "build:fake-api:tsup": "tsup-node ./fake-snippets-api/lib/index.ts --format esm --dts",
23
27
  "build:fake-api:bundle": "winterspec bundle -o dist/bundle.js",
24
- "build:fake-api": "bun run build:fake-api:tsup && bun run build:fake-api:bundle",
28
+ "build:fake-api": "bun run build:fake-api:tsup && bun run build:fake-api:bundle && bun run build:fake-api:schema",
29
+ "build:fake-api:schema": "tsup-node ./fake-snippets-api/lib/db/schema.ts --format esm --dts",
25
30
  "generate-images": "bun run scripts/generate-image-sizes.ts",
26
31
  "generate-sitemap": "bun run scripts/generate-sitemap.ts"
27
32
  },
@@ -304,11 +304,24 @@ export function CodeAndPreview({ pkg }: Props) {
304
304
  : `${importStatement}\ncircuit.add(\n <board>\n <Snippet name="U1" />\n </board>\n)`
305
305
 
306
306
  return {
307
+ ...pkgFilesWithContent.reduce(
308
+ (acc, file) => {
309
+ acc[file.path] = file.content
310
+ return acc
311
+ },
312
+ {} as Record<string, string>,
313
+ ),
307
314
  "index.tsx": entryPointCode ?? "// No Default Code Found",
308
315
  "manual-edits.json": manualEditsFileContent ?? "{}",
309
316
  "main.tsx": entrypointContent.trim(),
310
317
  }
311
- }, [manualEditsFileContent, entryPointCode, code, packageType])
318
+ }, [
319
+ manualEditsFileContent,
320
+ entryPointCode,
321
+ code,
322
+ packageType,
323
+ pkgFilesWithContent,
324
+ ])
312
325
 
313
326
  if ((!pkg && urlParams.package_id) || pkgFiles.isLoading) {
314
327
  return (