-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
103 lines (103 loc) · 4.67 KB
/
package.json
File metadata and controls
103 lines (103 loc) · 4.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
{
"name": "tjs",
"version": "7.0.0",
"description": "The world's fastest and most accurate JSON Schema validator, with magical typescript inference",
"author": "Sam Beran <sberan@gmail.com>",
"repository": {
"type": "git",
"url": "git+https://github.com/sberan/tjs.git"
},
"homepage": "https://github.com/sberan/tjs#readme",
"bugs": {
"url": "https://github.com/sberan/tjs/issues"
},
"type": "module",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.js"
}
},
"files": [
"dist"
],
"scripts": {
"build": "tsc",
"test": "npm run test:types && npm run test:runtime",
"test:types": "eslint tests/types/",
"test:runtime": "vitest run tests/runtime/ tests/suite/compliance.test.ts",
"test:suite:keyword": "vitest run tests/suite/keyword.test.ts",
"lint": "eslint src/ tests/",
"lint:fix": "eslint src/ tests/ --fix",
"format": "prettier --write .",
"format:check": "prettier --check .",
"prepare": "husky",
"bench": "tsx benchmarks/bench.ts",
"bench:all": "npm run bench:tjs && npm run bench:ajv && npm run bench:zod && npm run bench:joi && npm run bench:jsonschema && npm run bench:is-my-json-valid && npm run bench:z-schema && npm run bench:djv && npm run bench:jsen && npm run bench:schemasafe && npm run bench:summary",
"bench:summary": "tsx benchmarks/generate-summary.ts && tsx benchmarks/update-readme.ts && tsx benchmarks/update-svg.ts && npm run bench:reports",
"bench:reports": "tsx benchmarks/generate-report.ts ajv -o benchmarks/results/BENCHMARK_AJV.md && tsx benchmarks/generate-report.ts zod -o benchmarks/results/BENCHMARK_ZOD.md && tsx benchmarks/generate-report.ts joi -o benchmarks/results/BENCHMARK_JOI.md && tsx benchmarks/generate-report.ts jsonschema -o benchmarks/results/BENCHMARK_JSONSCHEMA.md && tsx benchmarks/generate-report.ts is-my-json-valid -o benchmarks/results/BENCHMARK_IS_MY_JSON_VALID.md && tsx benchmarks/generate-report.ts z-schema -o benchmarks/results/BENCHMARK_Z_SCHEMA.md && tsx benchmarks/generate-report.ts djv -o benchmarks/results/BENCHMARK_DJV.md && tsx benchmarks/generate-report.ts jsen -o benchmarks/results/BENCHMARK_JSEN.md && tsx benchmarks/generate-report.ts schemasafe -o benchmarks/results/BENCHMARK_SCHEMASAFE.md",
"bench:tjs": "tsx benchmarks/bench.ts -v tjs --json benchmarks/results/tjs.json",
"bench:ajv": "tsx benchmarks/bench.ts -v ajv --json benchmarks/results/ajv.json",
"bench:zod": "tsx benchmarks/bench.ts -v zod --json benchmarks/results/zod.json",
"bench:joi": "tsx benchmarks/bench.ts -v joi --json benchmarks/results/joi.json",
"bench:jsonschema": "tsx benchmarks/bench.ts -v jsonschema --json benchmarks/results/jsonschema.json",
"bench:is-my-json-valid": "tsx benchmarks/bench.ts -v is-my-json-valid --json benchmarks/results/is-my-json-valid.json",
"bench:z-schema": "tsx benchmarks/bench.ts -v z-schema --json benchmarks/results/z-schema.json",
"bench:djv": "tsx benchmarks/bench.ts -v djv --json benchmarks/results/djv.json",
"bench:jsen": "tsx benchmarks/bench.ts -v jsen --json benchmarks/results/jsen.json",
"bench:schemasafe": "tsx benchmarks/bench.ts -v schemasafe --json benchmarks/results/schemasafe.json",
"docs": "npx serve docs -p 3000",
"docs:build": "esbuild dist/index.js --bundle --format=esm --platform=browser --outfile=docs/tjs.bundle.js && mkdir -p docs/dist && cp dist/types.d.ts dist/infer.d.ts docs/dist/"
},
"keywords": [
"json-schema",
"typescript",
"validation",
"type-inference"
],
"license": "MIT",
"engines": {
"node": ">=18"
},
"devDependencies": {
"@exodus/schemasafe": "^1.3.0",
"@hyperjump/json-schema": "^1.17.2",
"@typescript-eslint/eslint-plugin": "^8.50.1",
"@typescript-eslint/parser": "^8.50.1",
"ajv": "^8.17.1",
"ajv-draft-04": "^1.0.0",
"ajv-formats": "^3.0.1",
"ajv-formats-draft2019": "^1.6.1",
"ajv-keywords": "^5.1.0",
"djv": "^2.1.4",
"enjoi": "^9.0.1",
"esbuild": "^0.27.2",
"eslint": "^9.39.2",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-expect-type": "^0.6.2",
"eslint-plugin-prettier": "^5.5.4",
"husky": "^9.1.7",
"is-my-json-valid": "^2.20.6",
"joi": "^17.13.3",
"jsen": "^0.6.6",
"json-schema-to-zod": "^2.7.0",
"jsonschema": "^1.5.0",
"lint-staged": "^16.2.7",
"mitata": "^1.0.34",
"prettier": "^3.7.4",
"tsx": "^4.21.0",
"typescript": "^5.7.2",
"vitest": "^2.1.8",
"z-schema": "^6.0.2",
"zod": "^4.3.4"
},
"lint-staged": {
"*.{ts,js}": [
"eslint --fix",
"prettier --write"
],
"*.json": "prettier --write"
}
}