Skip to content

Commit a1b8c8d

Browse files
committed
feat: add benchmarking for source adapter builder and update related scripts
1 parent 802f854 commit a1b8c8d

10 files changed

Lines changed: 44 additions & 10 deletions

File tree

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@
1717
"generate:json-schemas": "pnpm --filter \"@mojis/json-schemas\" run write-schemas",
1818
"lint": "turbo run lint",
1919
"test": "vitest run",
20-
"test:watch": "ATTEST_skipTypes=1 vitest",
20+
"test:watch": "vitest",
2121
"test:ui": "vitest --ui",
22+
"bench:types": "turbo run bench:types",
2223
"typecheck": "turbo run typecheck"
2324
},
2425
"devDependencies": {
@@ -32,6 +33,7 @@
3233
"@ark/attest": "catalog:monorepo",
3334
"turbo": "catalog:monorepo",
3435
"typescript": "catalog:dev",
35-
"vitest": "catalog:dev"
36+
"vitest": "catalog:dev",
37+
"tsx": "catalog:monorepo"
3638
}
3739
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { bench } from "@ark/attest";
2+
import { type } from "arktype";
3+
import { createSourceAdapter } from "../../src/builders/source-builder/builder";
4+
5+
bench("source adapter builder", () => {
6+
createSourceAdapter({
7+
type: "metadata",
8+
transformerOutputSchema: type({
9+
hello: "string",
10+
world: "string",
11+
}),
12+
fallback: {
13+
hello: "hello",
14+
world: "world",
15+
},
16+
persistence: {
17+
schemas: {},
18+
},
19+
});
20+
}).types([19921, "instantiations"]);
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import "./builders/source-builder.ts-bench.ts";

packages/adapters/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@
3333
"dev": "tsdown --watch",
3434
"clean": "git clean -xdf dist node_modules",
3535
"lint": "eslint .",
36-
"typecheck": "tsc --noEmit"
36+
"typecheck": "tsc --noEmit",
37+
"bench:types": "tsx ./.ts-benchmarks/index.ts"
3738
},
3839
"dependencies": {
3940
"@mojis/internal-utils": "workspace:*",

packages/adapters/tsconfig.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
{
22
"extends": "../../tsconfig.base.json",
3-
"include": ["src/**/*", "*.ts", "test"]
3+
"include": [
4+
"src/**/*",
5+
"*.ts",
6+
"test",
7+
".ts-benchmarks/**/*"
8+
]
49
}

pnpm-lock.yaml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pnpm-workspace.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ catalogs:
1010
"@vitest/coverage-v8": ^3.0.9
1111
"@vitest/ui": ^3.0.9
1212
"@ark/attest": ^0.46.0
13+
tsx: ^4.19.3
1314

1415
prod:
1516
farver: ^0.4.2

test/global-setup/attest.ts

Lines changed: 0 additions & 5 deletions
This file was deleted.

turbo.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@
3939
},
4040
"test:watch": {
4141
"cache": false
42+
},
43+
"bench:types": {
44+
"dependsOn": ["^topo"],
45+
"cache": false
4246
}
4347
}
4448
}

vitest.config.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ export default defineConfig({
3131
},
3232
setupFiles: [
3333
"./test/global-setup/msw.ts",
34-
"./test/global-setup/attest.ts",
3534
],
3635
onConsoleLog(log, type) {
3736
if (type === "stderr") {

0 commit comments

Comments
 (0)