typescript-runtime-type-benchmarks icon indicating copy to clipboard operation
typescript-runtime-type-benchmarks copied to clipboard

Add `caketype`

Open justinyaodu opened this issue 2 years ago • 3 comments

I used this commit as a template, and tested it locally with npm run start run zod caketype.

caketype requires TypeScript 4.7, but the tests seem to run with TypeScript 4.6, which was causing type errors. However, setting the type of the schema object to any suppresses these. I hope that's okay for the purposes of runtime benchmarking :sweat_smile:

Closes #1028.

justinyaodu avatar Feb 13 '23 20:02 justinyaodu

Thank you for your submission! There was a minor issue - we used pinned package versions. I've fixed it thru GitHub's suggestion mechanism.

moltar avatar Feb 13 '23 21:02 moltar

Hm, looks like build is failing with:

Error: node_modules/caketype/dist/caketype.d.ts(145,80): error TS1005: '?' expected.
Error: node_modules/caketype/dist/caketype.d.ts(183,36): error TS1139: Type parameter declaration expected.
Error: node_modules/caketype/dist/caketype.d.ts(183,43): error TS1005: ';' expected.
Error: node_modules/caketype/dist/caketype.d.ts(183,52): error TS1109: Expression expected.
Error: node_modules/caketype/dist/caketype.d.ts(183,60): error TS1434: Unexpected keyword or identifier.
Error: node_modules/caketype/dist/caketype.d.ts(183,69): error TS1434: Unexpected keyword or identifier.
Error: node_modules/caketype/dist/caketype.d.ts(183,80): error TS1434: Unexpected keyword or identifier.
Error: node_modules/caketype/dist/caketype.d.ts(184,5): error TS1128: Declaration or statement expected.
Error: node_modules/caketype/dist/caketype.d.ts(185,5): error TS1128: Declaration or statement expected.
Error: node_modules/caketype/dist/caketype.d.ts(185,44): error TS1005: '(' expected.
Error: node_modules/caketype/dist/caketype.d.ts(186,21): error TS1005: ',' expected.
Error: node_modules/caketype/dist/caketype.d.ts(207,13): error TS1005: ',' expected.
Error: node_modules/caketype/dist/caketype.d.ts(207,23): error TS1005: ';' expected.
Error: node_modules/caketype/dist/caketype.d.ts(226,18): error TS1005: ',' expected.
Error: node_modules/caketype/dist/caketype.d.ts(226,28): error TS1005: ';' expected.
Error: node_modules/caketype/dist/caketype.d.ts(274,16): error TS1005: ',' expected.
Error: node_modules/caketype/dist/caketype.d.ts(274,26): error TS1005: ';' expected.
Error: node_modules/caketype/dist/caketype.d.ts(274,48): error TS1005: '(' expected.
Error: node_modules/caketype/dist/caketype.d.ts(290,21): error TS1005: ',' expected.
Error: node_modules/caketype/dist/caketype.d.ts(290,31): error TS1005: ';' expected.
Error: node_modules/caketype/dist/caketype.d.ts(290,53): error TS1005: '(' expected.
Error: node_modules/caketype/dist/caketype.d.ts(318,13): error TS1005: ',' expected.
Error: node_modules/caketype/dist/caketype.d.ts(318,23): error TS1005: ';' expected.
Error: node_modules/caketype/dist/caketype.d.ts(318,25): error TS1434: Unexpected keyword or identifier.
Error: node_modules/caketype/dist/caketype.d.ts(318,31): error TS1228: A type predicate is only allowed in return type position for functions and methods.
Error: node_modules/caketype/dist/caketype.d.ts(334,18): error TS1005: ',' expected.
Error: node_modules/caketype/dist/caketype.d.ts(334,28): error TS1005: ';' expected.
Error: node_modules/caketype/dist/caketype.d.ts(334,30): error TS1434: Unexpected keyword or identifier.
Error: node_modules/caketype/dist/caketype.d.ts(334,36): error TS1228: A type predicate is only allowed in return type position for functions and methods.
Error: node_modules/caketype/dist/caketype.d.ts(335,24): error TS1005: '?' expected.
Error: node_modules/caketype/dist/caketype.d.ts(335,52): error TS1005: '?' expected.
Error: node_modules/caketype/dist/caketype.d.ts(335,64): error TS1005: ',' expected.
Error: node_modules/caketype/dist/caketype.d.ts(335,68): error TS1005: ';' expected.
Error: node_modules/caketype/dist/caketype.d.ts(335,99): error TS1005: '(' expected.
Error: node_modules/caketype/dist/caketype.d.ts(356,15): error TS1005: ';' expected.
Error: node_modules/caketype/dist/caketype.d.ts(357,5): error TS1434: Unexpected keyword or identifier.
Error: node_modules/caketype/dist/caketype.d.ts(357,33): error TS1005: ',' expected.
Error: node_modules/caketype/dist/caketype.d.ts(357,51): error TS1005: ',' expected.
Error: node_modules/caketype/dist/caketype.d.ts(357,78): error TS1005: ';' expected.
Error: node_modules/caketype/dist/caketype.d.ts(358,5): error TS1434: Unexpected keyword or identifier.
Error: node_modules/caketype/dist/caketype.d.ts(358,39): error TS1005: ',' expected.
Error: node_modules/caketype/dist/caketype.d.ts(358,70): error TS1005: ';' expected.
Error: node_modules/caketype/dist/caketype.d.ts(359,5): error TS1434: Unexpected keyword or identifier.
Error: node_modules/caketype/dist/caketype.d.ts(359,27): error TS1005: ',' expected.
Error: node_modules/caketype/dist/caketype.d.ts(359,43): error TS1005: ';' expected.
Error: node_modules/caketype/dist/caketype.d.ts(359,52): error TS1005: '(' expected.
Error: node_modules/caketype/dist/caketype.d.ts(367,5): error TS1128: Declaration or statement expected.
Error: node_modules/caketype/dist/caketype.d.ts(367,32): error TS1109: Expression expected.
Error: node_modules/caketype/dist/caketype.d.ts(1131,146): error TS1005: '?' expected.
Error: node_modules/caketype/dist/caketype.d.ts(1137,25): error TS1005: '?' expected.
Error: node_modules/caketype/dist/caketype.d.ts(1139,1): error TS1005: '?' expected.
Error: node_modules/caketype/dist/caketype.d.ts(1145,21): error TS1005: '?' expected.
Error: node_modules/caketype/dist/caketype.d.ts(1147,1): error TS1005: '?' expected.
Error: node_modules/caketype/dist/caketype.d.ts(1189,21): error TS1005: '?' expected.
Error: node_modules/caketype/dist/caketype.d.ts(1191,1): error TS1005: '?' expected.
Error: node_modules/caketype/dist/caketype.d.ts(1326,23): error TS1005: '?' expected.
Error: node_modules/caketype/dist/caketype.d.ts(1327,23): error TS1005: '?' expected.
Error: node_modules/caketype/dist/caketype.d.ts(1329,1): error TS1005: '?' expected.
Error: node_modules/caketype/dist/caketype.d.ts(1329,71): error TS1005: '?' expected.
Error: node_modules/caketype/dist/caketype.d.ts(1526,89): error TS1005: '?' expected.
Error: node_modules/caketype/dist/caketype.d.ts(1737,42): error TS1139: Type parameter declaration expected.
Error: node_modules/caketype/dist/caketype.d.ts(1737,47): error TS1005: ';' expected.
Error: node_modules/caketype/dist/caketype.d.ts(1737,58): error TS1005: ';' expected.
Error: node_modules/caketype/dist/caketype.d.ts(1737,60): error TS1128: Declaration or statement expected.
Error: node_modules/caketype/dist/caketype.d.ts(1739,5): error TS1005: ',' expected.
Error: node_modules/caketype/dist/caketype.d.ts(1740,5): error TS1005: ',' expected.

moltar avatar Feb 13 '23 21:02 moltar

Thanks for looking into this! I'm guessing those errors occur because caketype.d.ts uses TypeScript 4.7 syntax for variance annotations, which isn't supported in TypeScript 4.6.

If I configure VS Code to use the workspace TypeScript version and open node_modules/caketype/dist/caketype.d.ts, I get a lot of errors too. They don't seem to be the exact same errors you're getting, but either way, I think the root cause is the unsupported syntax.

I don't currently plan to support TypeScript 4.6 in caketype either. How do you think we should proceed? Sorry about that :sweat:

justinyaodu avatar Feb 13 '23 23:02 justinyaodu