@hegeldev/hegel 0.1.0
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/LICENSE +21 -0
- package/README.md +59 -0
- package/dist/binary.d.ts +27 -0
- package/dist/binary.d.ts.map +1 -0
- package/dist/binary.js +50 -0
- package/dist/binary.js.map +1 -0
- package/dist/collections.d.ts +114 -0
- package/dist/collections.d.ts.map +1 -0
- package/dist/collections.js +313 -0
- package/dist/collections.js.map +1 -0
- package/dist/combinators.d.ts +34 -0
- package/dist/combinators.d.ts.map +1 -0
- package/dist/combinators.js +152 -0
- package/dist/combinators.js.map +1 -0
- package/dist/conformance.d.ts +31 -0
- package/dist/conformance.d.ts.map +1 -0
- package/dist/conformance.js +60 -0
- package/dist/conformance.js.map +1 -0
- package/dist/connection.d.ts +82 -0
- package/dist/connection.d.ts.map +1 -0
- package/dist/connection.js +231 -0
- package/dist/connection.js.map +1 -0
- package/dist/crc32.d.ts +13 -0
- package/dist/crc32.d.ts.map +1 -0
- package/dist/crc32.js +30 -0
- package/dist/crc32.js.map +1 -0
- package/dist/derive.d.ts +225 -0
- package/dist/derive.d.ts.map +1 -0
- package/dist/derive.js +296 -0
- package/dist/derive.js.map +1 -0
- package/dist/embedded.d.ts +38 -0
- package/dist/embedded.d.ts.map +1 -0
- package/dist/embedded.js +237 -0
- package/dist/embedded.js.map +1 -0
- package/dist/floats.d.ts +57 -0
- package/dist/floats.d.ts.map +1 -0
- package/dist/floats.js +100 -0
- package/dist/floats.js.map +1 -0
- package/dist/formats.d.ts +62 -0
- package/dist/formats.d.ts.map +1 -0
- package/dist/formats.js +164 -0
- package/dist/formats.js.map +1 -0
- package/dist/generator.d.ts +80 -0
- package/dist/generator.d.ts.map +1 -0
- package/dist/generator.js +128 -0
- package/dist/generator.js.map +1 -0
- package/dist/generators/collections.d.ts +20 -0
- package/dist/generators/collections.d.ts.map +1 -0
- package/dist/generators/collections.js +209 -0
- package/dist/generators/collections.js.map +1 -0
- package/dist/generators/combinators.d.ts +15 -0
- package/dist/generators/combinators.d.ts.map +1 -0
- package/dist/generators/combinators.js +143 -0
- package/dist/generators/combinators.js.map +1 -0
- package/dist/generators/compose.d.ts +27 -0
- package/dist/generators/compose.d.ts.map +1 -0
- package/dist/generators/compose.js +82 -0
- package/dist/generators/compose.js.map +1 -0
- package/dist/generators/core.d.ts +53 -0
- package/dist/generators/core.d.ts.map +1 -0
- package/dist/generators/core.js +134 -0
- package/dist/generators/core.js.map +1 -0
- package/dist/generators/index.d.ts +18 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +15 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/numeric.d.ts +40 -0
- package/dist/generators/numeric.d.ts.map +1 -0
- package/dist/generators/numeric.js +128 -0
- package/dist/generators/numeric.js.map +1 -0
- package/dist/generators/primitives.d.ts +138 -0
- package/dist/generators/primitives.d.ts.map +1 -0
- package/dist/generators/primitives.js +240 -0
- package/dist/generators/primitives.js.map +1 -0
- package/dist/generators/strings.d.ts +73 -0
- package/dist/generators/strings.d.ts.map +1 -0
- package/dist/generators/strings.js +215 -0
- package/dist/generators/strings.js.map +1 -0
- package/dist/generators/tuples.d.ts +11 -0
- package/dist/generators/tuples.d.ts.map +1 -0
- package/dist/generators/tuples.js +43 -0
- package/dist/generators/tuples.js.map +1 -0
- package/dist/generators.d.ts +408 -0
- package/dist/generators.d.ts.map +1 -0
- package/dist/generators.js +898 -0
- package/dist/generators.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/install.d.ts +6 -0
- package/dist/install.d.ts.map +1 -0
- package/dist/install.js +91 -0
- package/dist/install.js.map +1 -0
- package/dist/integers.d.ts +37 -0
- package/dist/integers.d.ts.map +1 -0
- package/dist/integers.js +63 -0
- package/dist/integers.js.map +1 -0
- package/dist/labels.d.ts +21 -0
- package/dist/labels.d.ts.map +1 -0
- package/dist/labels.js +20 -0
- package/dist/labels.js.map +1 -0
- package/dist/objects.d.ts +39 -0
- package/dist/objects.d.ts.map +1 -0
- package/dist/objects.js +98 -0
- package/dist/objects.js.map +1 -0
- package/dist/primitives.d.ts +14 -0
- package/dist/primitives.d.ts.map +1 -0
- package/dist/primitives.js +51 -0
- package/dist/primitives.js.map +1 -0
- package/dist/protocol.d.ts +25 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +77 -0
- package/dist/protocol.js.map +1 -0
- package/dist/runner.d.ts +115 -0
- package/dist/runner.d.ts.map +1 -0
- package/dist/runner.js +455 -0
- package/dist/runner.js.map +1 -0
- package/dist/session.d.ts +19 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +157 -0
- package/dist/session.js.map +1 -0
- package/dist/spans.d.ts +23 -0
- package/dist/spans.d.ts.map +1 -0
- package/dist/spans.js +51 -0
- package/dist/spans.js.map +1 -0
- package/dist/strings.d.ts +67 -0
- package/dist/strings.d.ts.map +1 -0
- package/dist/strings.js +107 -0
- package/dist/strings.js.map +1 -0
- package/dist/testCase.d.ts +118 -0
- package/dist/testCase.d.ts.map +1 -0
- package/dist/testCase.js +186 -0
- package/dist/testCase.js.map +1 -0
- package/dist/uv-install.sh +2226 -0
- package/dist/uv.d.ts +20 -0
- package/dist/uv.d.ts.map +1 -0
- package/dist/uv.js +103 -0
- package/dist/uv.js.map +1 -0
- package/dist/wtf8.d.ts +16 -0
- package/dist/wtf8.d.ts.map +1 -0
- package/dist/wtf8.js +52 -0
- package/dist/wtf8.js.map +1 -0
- package/package.json +60 -0
package/dist/uv.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Locates or installs a `uv` binary for spawning the hegel-core server.
|
|
3
|
+
*
|
|
4
|
+
* Lookup order:
|
|
5
|
+
* 1. `uv` found on `PATH`
|
|
6
|
+
* 2. Cached binary at `~/.cache/hegel/uv` (or `$XDG_CACHE_HOME/hegel/uv`)
|
|
7
|
+
* 3. Installs uv to that cache directory using the embedded installer script.
|
|
8
|
+
*
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
*/
|
|
11
|
+
export declare function cacheDirFrom(xdgCacheHome: string | null, homeDir: string | null): string;
|
|
12
|
+
export declare function findInPath(name: string): string | null;
|
|
13
|
+
export declare function installUvWithSh(cache: string, sh: string): void;
|
|
14
|
+
export declare function findUvImpl(uvInPath: string | null, cache: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* Returns the path to a `uv` binary, installing it to the user cache
|
|
17
|
+
* directory if it is not already available.
|
|
18
|
+
*/
|
|
19
|
+
export declare function findUv(): string;
|
|
20
|
+
//# sourceMappingURL=uv.d.ts.map
|
package/dist/uv.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uv.d.ts","sourceRoot":"","sources":["../src/uv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAeH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAQxF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAetD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAsB/D;AAcD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAczE;AAED;;;GAGG;AACH,wBAAgB,MAAM,IAAI,MAAM,CAK/B"}
|
package/dist/uv.js
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Locates or installs a `uv` binary for spawning the hegel-core server.
|
|
3
|
+
*
|
|
4
|
+
* Lookup order:
|
|
5
|
+
* 1. `uv` found on `PATH`
|
|
6
|
+
* 2. Cached binary at `~/.cache/hegel/uv` (or `$XDG_CACHE_HOME/hegel/uv`)
|
|
7
|
+
* 3. Installs uv to that cache directory using the embedded installer script.
|
|
8
|
+
*
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
*/
|
|
11
|
+
import { spawnSync } from "node:child_process";
|
|
12
|
+
import * as fs from "node:fs";
|
|
13
|
+
import * as os from "node:os";
|
|
14
|
+
import * as path from "node:path";
|
|
15
|
+
import { fileURLToPath } from "node:url";
|
|
16
|
+
/* v8 ignore next */
|
|
17
|
+
const UV_BINARY_NAME = process.platform === "win32" ? "uv.exe" : "uv";
|
|
18
|
+
function installScriptPath() {
|
|
19
|
+
return fileURLToPath(new URL("./uv-install.sh", import.meta.url));
|
|
20
|
+
}
|
|
21
|
+
export function cacheDirFrom(xdgCacheHome, homeDir) {
|
|
22
|
+
if (xdgCacheHome !== null) {
|
|
23
|
+
return path.join(xdgCacheHome, "hegel");
|
|
24
|
+
}
|
|
25
|
+
if (homeDir === null) {
|
|
26
|
+
throw new Error("Could not determine home directory");
|
|
27
|
+
}
|
|
28
|
+
return path.join(homeDir, ".cache", "hegel");
|
|
29
|
+
}
|
|
30
|
+
export function findInPath(name) {
|
|
31
|
+
const pathVar = process.env.PATH;
|
|
32
|
+
if (pathVar === undefined)
|
|
33
|
+
return null;
|
|
34
|
+
for (const dir of pathVar.split(path.delimiter)) {
|
|
35
|
+
if (dir === "")
|
|
36
|
+
continue;
|
|
37
|
+
const candidate = path.join(dir, name);
|
|
38
|
+
try {
|
|
39
|
+
if (fs.statSync(candidate).isFile()) {
|
|
40
|
+
return candidate;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
// not found or not accessible
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
export function installUvWithSh(cache, sh) {
|
|
50
|
+
fs.mkdirSync(cache, { recursive: true });
|
|
51
|
+
const script = fs.readFileSync(installScriptPath(), "utf-8");
|
|
52
|
+
const result = spawnSync(sh, [], {
|
|
53
|
+
input: script,
|
|
54
|
+
env: { ...process.env, UV_UNMANAGED_INSTALL: cache },
|
|
55
|
+
stdio: ["pipe", "inherit", "inherit"],
|
|
56
|
+
});
|
|
57
|
+
if (result.error !== undefined) {
|
|
58
|
+
throw new Error(`Failed to run uv installer: ${result.error.message}. ` +
|
|
59
|
+
`Install uv manually: https://docs.astral.sh/uv/getting-started/installation/`);
|
|
60
|
+
}
|
|
61
|
+
/* v8 ignore start */
|
|
62
|
+
if (result.status !== 0) {
|
|
63
|
+
throw new Error("uv installer failed. " +
|
|
64
|
+
"Install uv manually: https://docs.astral.sh/uv/getting-started/installation/");
|
|
65
|
+
}
|
|
66
|
+
/* v8 ignore stop */
|
|
67
|
+
}
|
|
68
|
+
function installUvTo(cache) {
|
|
69
|
+
/* v8 ignore start */
|
|
70
|
+
if (process.platform === "win32") {
|
|
71
|
+
throw new Error("uv is required but was not found on PATH. " +
|
|
72
|
+
"Install uv: https://docs.astral.sh/uv/getting-started/installation/");
|
|
73
|
+
}
|
|
74
|
+
/* v8 ignore stop */
|
|
75
|
+
installUvWithSh(cache, "sh");
|
|
76
|
+
}
|
|
77
|
+
export function findUvImpl(uvInPath, cache) {
|
|
78
|
+
if (uvInPath !== null) {
|
|
79
|
+
return uvInPath;
|
|
80
|
+
}
|
|
81
|
+
const cached = path.join(cache, UV_BINARY_NAME);
|
|
82
|
+
try {
|
|
83
|
+
if (fs.statSync(cached).isFile()) {
|
|
84
|
+
return cached;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
// not cached yet
|
|
89
|
+
}
|
|
90
|
+
installUvTo(cache);
|
|
91
|
+
return cached;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Returns the path to a `uv` binary, installing it to the user cache
|
|
95
|
+
* directory if it is not already available.
|
|
96
|
+
*/
|
|
97
|
+
export function findUv() {
|
|
98
|
+
const uvInPath = findInPath(UV_BINARY_NAME);
|
|
99
|
+
const home = os.homedir();
|
|
100
|
+
const cache = cacheDirFrom(process.env.XDG_CACHE_HOME ?? null, home === "" ? null : home);
|
|
101
|
+
return findUvImpl(uvInPath, cache);
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=uv.js.map
|
package/dist/uv.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uv.js","sourceRoot":"","sources":["../src/uv.ts"],"names":[],"mappings":"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"}
|
package/dist/wtf8.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WTF-8 decoder that preserves lone surrogates.
|
|
3
|
+
*
|
|
4
|
+
* WTF-8 is like UTF-8 but allows encoding of surrogate codepoints
|
|
5
|
+
* (U+D800-U+DFFF). Node's `Buffer.toString("utf-8")` replaces these with
|
|
6
|
+
* U+FFFD, but JS strings are UTF-16 and can represent lone surrogates natively.
|
|
7
|
+
*
|
|
8
|
+
* Based on the test vectors from {@link https://github.com/mathiasbynens/wtf-8}.
|
|
9
|
+
*
|
|
10
|
+
* @packageDocumentation
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Decode a WTF-8 encoded buffer into a JS string, preserving lone surrogates.
|
|
14
|
+
*/
|
|
15
|
+
export declare function wtf8ToString(buf: Buffer): string;
|
|
16
|
+
//# sourceMappingURL=wtf8.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wtf8.d.ts","sourceRoot":"","sources":["../src/wtf8.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgChD"}
|
package/dist/wtf8.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WTF-8 decoder that preserves lone surrogates.
|
|
3
|
+
*
|
|
4
|
+
* WTF-8 is like UTF-8 but allows encoding of surrogate codepoints
|
|
5
|
+
* (U+D800-U+DFFF). Node's `Buffer.toString("utf-8")` replaces these with
|
|
6
|
+
* U+FFFD, but JS strings are UTF-16 and can represent lone surrogates natively.
|
|
7
|
+
*
|
|
8
|
+
* Based on the test vectors from {@link https://github.com/mathiasbynens/wtf-8}.
|
|
9
|
+
*
|
|
10
|
+
* @packageDocumentation
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Decode a WTF-8 encoded buffer into a JS string, preserving lone surrogates.
|
|
14
|
+
*/
|
|
15
|
+
export function wtf8ToString(buf) {
|
|
16
|
+
const codeUnits = [];
|
|
17
|
+
let i = 0;
|
|
18
|
+
while (i < buf.length) {
|
|
19
|
+
const b = buf[i];
|
|
20
|
+
let cp;
|
|
21
|
+
if (b < 0x80) {
|
|
22
|
+
cp = b;
|
|
23
|
+
i += 1;
|
|
24
|
+
}
|
|
25
|
+
else if (b < 0xe0) {
|
|
26
|
+
cp = ((b & 0x1f) << 6) | (buf[i + 1] & 0x3f);
|
|
27
|
+
i += 2;
|
|
28
|
+
}
|
|
29
|
+
else if (b < 0xf0) {
|
|
30
|
+
cp = ((b & 0x0f) << 12) | ((buf[i + 1] & 0x3f) << 6) | (buf[i + 2] & 0x3f);
|
|
31
|
+
i += 3;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
cp =
|
|
35
|
+
((b & 0x07) << 18) |
|
|
36
|
+
((buf[i + 1] & 0x3f) << 12) |
|
|
37
|
+
((buf[i + 2] & 0x3f) << 6) |
|
|
38
|
+
(buf[i + 3] & 0x3f);
|
|
39
|
+
i += 4;
|
|
40
|
+
}
|
|
41
|
+
if (cp >= 0x10000) {
|
|
42
|
+
cp -= 0x10000;
|
|
43
|
+
codeUnits.push(0xd800 + (cp >> 10));
|
|
44
|
+
codeUnits.push(0xdc00 + (cp & 0x3ff));
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
codeUnits.push(cp);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return String.fromCharCode(...codeUnits);
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=wtf8.js.map
|
package/dist/wtf8.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wtf8.js","sourceRoot":"","sources":["../src/wtf8.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,EAAU,CAAC;QACf,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACb,EAAE,GAAG,CAAC,CAAC;YACP,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;aAAM,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACpB,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAC7C,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;aAAM,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACpB,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3E,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;aAAM,CAAC;YACN,EAAE;gBACA,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAClB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC3B,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC1B,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACtB,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;QACD,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC;YAClB,EAAE,IAAI,OAAO,CAAC;YACd,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACpC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC;AAC3C,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hegeldev/hegel",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Property-based testing for TypeScript",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"publishConfig": {
|
|
7
|
+
"access": "public"
|
|
8
|
+
},
|
|
9
|
+
"main": "dist/index.js",
|
|
10
|
+
"types": "dist/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"import": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./generators": {
|
|
17
|
+
"types": "./dist/generators/index.d.ts",
|
|
18
|
+
"import": "./dist/generators/index.js"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"dist"
|
|
23
|
+
],
|
|
24
|
+
"scripts": {
|
|
25
|
+
"build": "tsc && cp src/uv-install.sh dist/uv-install.sh",
|
|
26
|
+
"test": "vitest run --coverage",
|
|
27
|
+
"lint": "prettier --check . && eslint . && tsc --noEmit",
|
|
28
|
+
"format": "prettier --write .",
|
|
29
|
+
"docs": "typedoc"
|
|
30
|
+
},
|
|
31
|
+
"keywords": [
|
|
32
|
+
"hegel",
|
|
33
|
+
"property-based-testing",
|
|
34
|
+
"hypothesis"
|
|
35
|
+
],
|
|
36
|
+
"author": "David R. MacIver <david.maciver@antithesis.com>",
|
|
37
|
+
"license": "MIT",
|
|
38
|
+
"engines": {
|
|
39
|
+
"node": ">=16.0.0"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@eslint/js": "^10.0.1",
|
|
43
|
+
"@types/node": "^16.18.0",
|
|
44
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
45
|
+
"eslint": "^10.0.2",
|
|
46
|
+
"prettier": "^3.8.1",
|
|
47
|
+
"tsx": "^4.19.3",
|
|
48
|
+
"typedoc": "^0.28.17",
|
|
49
|
+
"typescript": "^5.9.3",
|
|
50
|
+
"typescript-eslint": "^8.56.1",
|
|
51
|
+
"vitest": "^4.0.18"
|
|
52
|
+
},
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"cbor-x": "^1.6.0"
|
|
55
|
+
},
|
|
56
|
+
"//overrides": "fix vitest peerOptional declaring @types/node >=20, which is incompatible with us",
|
|
57
|
+
"overrides": {
|
|
58
|
+
"@types/node": "$@types/node"
|
|
59
|
+
}
|
|
60
|
+
}
|