@tscircuit/cli 0.0.113 → 0.0.115

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.
@@ -0,0 +1,28 @@
1
+ name: Bun Test
2
+
3
+ on:
4
+ pull_request:
5
+ branches:
6
+ - main
7
+
8
+ jobs:
9
+ build:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - name: Checkout code
14
+ uses: actions/checkout@v2
15
+
16
+ - name: Setup bun
17
+ uses: oven-sh/setup-bun@v1
18
+ with:
19
+ bun-version: latest
20
+
21
+ - name: Install dependencies
22
+ run: bun run bootstrap
23
+
24
+ - name: Install dependencies
25
+ run: bun run build
26
+
27
+ - name: Run tests
28
+ run: bun test
package/bun.lockb CHANGED
Binary file
Binary file
@@ -1,6 +1,4 @@
1
- import { createWinterSpecBundleFromDir } from "winterspec/adapters/node"
2
- import { join } from "node:path"
1
+ import { createWinterSpecFromRouteMap } from "winterspec/adapters/node"
2
+ import staticRoutes from "./static-routes"
3
3
 
4
- export default await createWinterSpecBundleFromDir(
5
- join(import.meta.dir, "./routes")
6
- )
4
+ export default await createWinterSpecFromRouteMap(staticRoutes)
@@ -4,12 +4,13 @@
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "start": "bun server.ts",
7
- "build": "echo 'nothing to do'"
7
+ "build": "winterspec bundle-routes -i ./routes -o static-routes.ts"
8
8
  },
9
9
  "devDependencies": {
10
10
  "@types/better-sqlite3": "^7.6.9",
11
11
  "@types/bun": "latest",
12
- "@types/sql.js": "^1.4.9"
12
+ "@types/sql.js": "^1.4.9",
13
+ "make-vfs": "^1.0.10"
13
14
  },
14
15
  "peerDependencies": {
15
16
  "typescript": "^5.0.0"
@@ -18,7 +19,7 @@
18
19
  "better-sqlite3": "^11.0.0",
19
20
  "kysely": "^0.27.3",
20
21
  "kysely-bun-sqlite": "^0.3.2",
21
- "winterspec": "^0.0.80",
22
+ "winterspec": "0.0.81",
22
23
  "zod": "^3.22.4"
23
24
  }
24
25
  }
@@ -0,0 +1,28 @@
1
+ import { withWinterSpec } from "src/with-winter-spec"
2
+ import { z } from "zod"
3
+
4
+ export default withWinterSpec({
5
+ methods: ["POST"],
6
+ jsonBody: z.object({
7
+ package_name: z.string()
8
+ }),
9
+ jsonResponse: z.object({
10
+ package_info: z.object({
11
+ name: z.string()
12
+ })
13
+ }),
14
+ auth: "none",
15
+ })(async (req, ctx) => {
16
+ const package_name = req.jsonBody.package_name
17
+ const package_info = await ctx.db
18
+ .insertInto("package_info")
19
+ .values({
20
+ name: package_name
21
+ })
22
+ .returningAll()
23
+ .executeTakeFirstOrThrow()
24
+
25
+ return ctx.json({
26
+ package_info
27
+ })
28
+ })
@@ -0,0 +1,18 @@
1
+ import { export_package_info } from "src/lib/zod/export_package_info"
2
+ import { withWinterSpec } from "src/with-winter-spec"
3
+ import { z } from "zod"
4
+
5
+ export default withWinterSpec({
6
+ methods: ["GET"],
7
+ jsonResponse: z.object({
8
+ package_info: export_package_info
9
+ }),
10
+ auth: "none",
11
+ })(async (req, ctx) => {
12
+ const package_info = await ctx.db
13
+ .selectFrom("package_info")
14
+ .select("name")
15
+ .executeTakeFirstOrThrow()
16
+
17
+ return ctx.json({ package_info })
18
+ })
@@ -2,6 +2,11 @@ import type { DbClient } from "./get-db"
2
2
 
3
3
  export const createSchema = async (db: DbClient) => {
4
4
  console.log("Creating schema...")
5
+ await db.schema
6
+ .createTable("package_info")
7
+ .addColumn("name", "text", (col) => col.notNull())
8
+ .execute()
9
+
5
10
  await db.schema
6
11
  .createTable("dev_package_example")
7
12
  .addColumn("dev_package_example_id", "integer", (col) =>
@@ -1,7 +1,11 @@
1
- import { Kysely, sql, type Generated, SqliteDialect } from "kysely"
2
- import { createSchema } from "./create-schema"
3
1
  import { mkdirSync } from "fs"
2
+ import { Kysely, SqliteDialect, sql, type Generated } from "kysely"
4
3
  import * as Path from "path"
4
+ import { createSchema } from "./create-schema"
5
+
6
+ export interface PackageInfo {
7
+ name: string
8
+ }
5
9
 
6
10
  export interface DevPackageExample {
7
11
  dev_package_example_id: Generated<number>
@@ -40,6 +44,7 @@ interface KyselyDatabaseSchema {
40
44
  dev_package_example: DevPackageExample
41
45
  export_request: ExportRequest
42
46
  export_file: ExportFile
47
+ package_info: PackageInfo
43
48
  }
44
49
 
45
50
  export type DbClient = Kysely<KyselyDatabaseSchema>
@@ -72,7 +77,7 @@ export const getDb = async (): Promise<Kysely<KyselyDatabaseSchema>> => {
72
77
  create: true,
73
78
  }),
74
79
  })
75
- } catch (e) {}
80
+ } catch (e) { }
76
81
  }
77
82
 
78
83
  if (!dialect) {
@@ -82,7 +87,7 @@ export const getDb = async (): Promise<Kysely<KyselyDatabaseSchema>> => {
82
87
  dialect = new SqliteDialect({
83
88
  database: new BetterSqlite3.default(devServerDbPath),
84
89
  })
85
- } catch (e) {}
90
+ } catch (e) { }
86
91
  }
87
92
 
88
93
  if (!dialect) {
@@ -98,12 +103,15 @@ export const getDb = async (): Promise<Kysely<KyselyDatabaseSchema>> => {
98
103
  const schemaExistsResult = await sql`
99
104
  SELECT name
100
105
  FROM sqlite_master
101
- WHERE type='table' AND name='dev_package_example'
106
+ WHERE type='table' AND name IN ('dev_package_example', 'export_request', 'export_file', 'package_info')
102
107
  `.execute(db)
103
108
 
104
- if (schemaExistsResult.rows.length === 0) {
109
+ // Check if the number of existing tables matches the number of required tables
110
+ if (schemaExistsResult.rows.length < 4) {
105
111
  await createSchema(db)
106
112
  }
107
113
 
114
+ globalDb = db
115
+
108
116
  return db
109
- }
117
+ }
@@ -0,0 +1,5 @@
1
+ import { z } from "zod"
2
+
3
+ export const export_package_info = z.object({
4
+ name: z.string()
5
+ })
@@ -0,0 +1,22 @@
1
+
2
+ // import { WinterSpecRouteMap } from "@winterspec/types"
3
+
4
+ const routeMap = {
5
+ "/api/dev_package_examples/create": (await import('routes/api/dev_package_examples/create.ts')).default,
6
+ "/api/dev_package_examples/get": (await import('routes/api/dev_package_examples/get.ts')).default,
7
+ "/api/dev_package_examples/list": (await import('routes/api/dev_package_examples/list.ts')).default,
8
+ "/api/dev_package_examples/update": (await import('routes/api/dev_package_examples/update.ts')).default,
9
+ "/api/dev_server/reset": (await import('routes/api/dev_server/reset.ts')).default,
10
+ "/api/export_files/create": (await import('routes/api/export_files/create.ts')).default,
11
+ "/api/export_files/download": (await import('routes/api/export_files/download.ts')).default,
12
+ "/api/export_requests/create": (await import('routes/api/export_requests/create.ts')).default,
13
+ "/api/export_requests/get": (await import('routes/api/export_requests/get.ts')).default,
14
+ "/api/export_requests/list": (await import('routes/api/export_requests/list.ts')).default,
15
+ "/api/export_requests/update": (await import('routes/api/export_requests/update.ts')).default,
16
+ "/api/health": (await import('routes/api/health.ts')).default,
17
+ "/api/package_info/create": (await import('routes/api/package_info/create.ts')).default,
18
+ "/api/package_info/get": (await import('routes/api/package_info/get.ts')).default,
19
+ "/health": (await import('routes/health.ts')).default
20
+ }
21
+
22
+ export default routeMap
Binary file