{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":710027697,"defaultBranch":"main","name":"tempeh","ownerLogin":"Gyanreyer","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-10-25T21:31:01.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/11037713?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1698269585.0","currentOid":""},"activityList":{"items":[{"before":"1224a5ce7e3ea513f3dfac2be77502b067fb0e80","after":"6298339d455f8ed622e487c3c58eb4eb71e88efe","ref":"refs/heads/main","pushedAt":"2024-05-08T14:03:45.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Update template parser to stream nodes to response as they are parsed","shortMessageHtmlLink":"Update template parser to stream nodes to response as they are parsed"}},{"before":"0838174959a0b0ea31a5beac91827acbecaca757","after":"1224a5ce7e3ea513f3dfac2be77502b067fb0e80","ref":"refs/heads/main","pushedAt":"2024-04-23T17:05:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Refactor template parsing to use a lexer to stream the input file instead of reading it all at once.\n\nThis simplifies the parsing process to be a lot easier to follow and should hopefully improve performance under heavy load conditions.","shortMessageHtmlLink":"Refactor template parsing to use a lexer to stream the input file ins…"}},{"before":"22a1a15f58b5618bfa2f5f2e8b63c2273a4bf5cd","after":"0838174959a0b0ea31a5beac91827acbecaca757","ref":"refs/heads/main","pushedAt":"2024-04-01T21:49:50.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Fun experimental streaming stuff\n\n- Add unorderedPrimiseIterator for streaming the results from an array of promises\n- Add fetchStreamedHTMLResponse to enable htmx-style behavior for streamed html fragments","shortMessageHtmlLink":"Fun experimental streaming stuff"}},{"before":"78f0edf51db1e8753d779ab6e116dc0cf42a3811","after":"22a1a15f58b5618bfa2f5f2e8b63c2273a4bf5cd","ref":"refs/heads/main","pushedAt":"2024-01-23T22:34:50.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Refactor node render string generation to support new parser format\n\nTODO: properly hook it up to the compiler, add missing features","shortMessageHtmlLink":"Refactor node render string generation to support new parser format"}},{"before":"ff0dd056e460a1da9b98d26fe96ea174248f498c","after":"78f0edf51db1e8753d779ab6e116dc0cf42a3811","ref":"refs/heads/main","pushedAt":"2024-01-01T21:18:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Further simplification/cleanup for template parsing","shortMessageHtmlLink":"Further simplification/cleanup for template parsing"}},{"before":"f6711c90f0f72cb4912d3fd859923d686adca163","after":"ff0dd056e460a1da9b98d26fe96ea174248f498c","ref":"refs/heads/main","pushedAt":"2023-12-23T17:29:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Refactor template parser to be more focused on just parsing; further processing will be left to JS for better extensibility","shortMessageHtmlLink":"Refactor template parser to be more focused on just parsing; further …"}},{"before":"f8b3c62add6e0d5677be896a54bb2debcde25a51","after":"f6711c90f0f72cb4912d3fd859923d686adca163","ref":"refs/heads/main","pushedAt":"2023-12-08T21:27:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Get compilation close to working again; still some work to do here","shortMessageHtmlLink":"Get compilation close to working again; still some work to do here"}},{"before":"86774f2e4d14ab7d8ab39751cd0057956481080f","after":"f8b3c62add6e0d5677be896a54bb2debcde25a51","ref":"refs/heads/main","pushedAt":"2023-12-01T05:29:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Add some basic analysis of whether a render attribute expression is async and/or references the props object","shortMessageHtmlLink":"Add some basic analysis of whether a render attribute expression is a…"}},{"before":"3da3f589660e62b631a6d8dfea9c5e4341f9d4e1","after":"86774f2e4d14ab7d8ab39751cd0057956481080f","ref":"refs/heads/main","pushedAt":"2023-11-30T04:15:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Get tests fully passing with the new template parser!","shortMessageHtmlLink":"Get tests fully passing with the new template parser!"}},{"before":"45940d3ec255770091e8de1efe305ba6bcadee31","after":"3da3f589660e62b631a6d8dfea9c5e4341f9d4e1","ref":"refs/heads/main","pushedAt":"2023-11-30T01:28:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Make the template parser server properly available to the compiler\n\nTODO: update the typings for the parsed template data results and get the compiler working","shortMessageHtmlLink":"Make the template parser server properly available to the compiler"}},{"before":"887a0e7a3fd0993bf7f2ea10e673cfe8cb126151","after":"45940d3ec255770091e8de1efe305ba6bcadee31","ref":"refs/heads/main","pushedAt":"2023-11-29T23:19:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Refactor template parser as a server process, massively improve parsing implementation\n\nTODO: Get tests passing fully, integrate these changes into the compiler","shortMessageHtmlLink":"Refactor template parser as a server process, massively improve parsi…"}},{"before":"dfd542f75b66ae7711317a34cab8c7f8a1cb6092","after":"887a0e7a3fd0993bf7f2ea10e673cfe8cb126151","ref":"refs/heads/main","pushedAt":"2023-11-27T05:35:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Refactor template parser as a server\n\nNow, we can simply spin up a single server process and make requests to it to parse template files\n\nTODO: get tests fully passing, get these latest changes integrated and working in the compiler","shortMessageHtmlLink":"Refactor template parser as a server"}},{"before":"fd30ce8402f198e8eb563a5bb424191658b88320","after":"dfd542f75b66ae7711317a34cab8c7f8a1cb6092","ref":"refs/heads/main","pushedAt":"2023-11-25T04:30:46.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Get script and style bucket gathering working in template parser\n\nTODO: refactor template parser to be a server, try to make the code less of a mess","shortMessageHtmlLink":"Get script and style bucket gathering working in template parser"}},{"before":"e1b5fdb4c5969667cb9216bd3dde2f8d6d1f0e56","after":"fd30ce8402f198e8eb563a5bb424191658b88320","ref":"refs/heads/main","pushedAt":"2023-11-20T02:24:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Get inline component parsing working in the go template parser","shortMessageHtmlLink":"Get inline component parsing working in the go template parser"}},{"before":"dd911652f1e18ed6c4c8e01928bc1679130d7f90","after":"e1b5fdb4c5969667cb9216bd3dde2f8d6d1f0e56","ref":"refs/heads/main","pushedAt":"2023-11-19T21:30:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Change \"xml parser\" to \"template parser\", begin shift to give it more parsing power up front","shortMessageHtmlLink":"Change \"xml parser\" to \"template parser\", begin shift to give it more…"}},{"before":"c59847c59bb049f3903da63ee77c87270fbb1454","after":"dd911652f1e18ed6c4c8e01928bc1679130d7f90","ref":"refs/heads/main","pushedAt":"2023-11-18T02:18:42.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Move CSS asset gathering + processing along\n\nTODO: figure out how asset buckets work. Probably going to write them to files?","shortMessageHtmlLink":"Move CSS asset gathering + processing along"}},{"before":"06e670d52e434e5ee117f95f559ed95e57e767ed","after":"c59847c59bb049f3903da63ee77c87270fbb1454","ref":"refs/heads/main","pushedAt":"2023-11-12T04:51:21.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Only make render functions async if necessary","shortMessageHtmlLink":"Only make render functions async if necessary"}},{"before":"791b15b06146b84d87286e81dbe5ece43b43a0b6","after":"06e670d52e434e5ee117f95f559ed95e57e767ed","ref":"refs/heads/main","pushedAt":"2023-11-11T16:30:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Add unit test for parseXML","shortMessageHtmlLink":"Add unit test for parseXML"}},{"before":"5841b1a9a22804e3e774b5658f10a399eb6260db","after":"791b15b06146b84d87286e81dbe5ece43b43a0b6","ref":"refs/heads/main","pushedAt":"2023-11-11T05:21:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Fix issue with jsdoc optional property regex","shortMessageHtmlLink":"Fix issue with jsdoc optional property regex"}},{"before":"59db7fff5d916b837e3cf2d79ddde42203eae50e","after":"5841b1a9a22804e3e774b5658f10a399eb6260db","ref":"refs/heads/main","pushedAt":"2023-11-11T04:59:34.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Get jsdoc default value parsing working!","shortMessageHtmlLink":"Get jsdoc default value parsing working!"}},{"before":"2ebbc30f904bd482fdf3cc356072ce8d4cd1e1cb","after":"59db7fff5d916b837e3cf2d79ddde42203eae50e","ref":"refs/heads/main","pushedAt":"2023-11-10T22:28:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Minor (micro) optimizations and cleanup","shortMessageHtmlLink":"Minor (micro) optimizations and cleanup"}},{"before":"c02fa902e1d1b73842157da0bcfe16347f5d1b57","after":"2ebbc30f904bd482fdf3cc356072ce8d4cd1e1cb","ref":"refs/heads/main","pushedAt":"2023-11-10T02:33:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Add util to parse jsdoc\n\nTODO: use this util to parse the render function's jsdoc to determine how to fill in default prop values","shortMessageHtmlLink":"Add util to parse jsdoc"}},{"before":"084de6ecc6a14c286d68c65a4b40502de3f0e7ec","after":"c02fa902e1d1b73842157da0bcfe16347f5d1b57","ref":"refs/heads/main","pushedAt":"2023-11-10T02:00:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Fill in missing parts of render function jsdoc\n\nTODO: respect default values defined in jsdoc","shortMessageHtmlLink":"Fill in missing parts of render function jsdoc"}},{"before":"076437a8932962c4a8e66bced7eee02671504beb","after":"084de6ecc6a14c286d68c65a4b40502de3f0e7ec","ref":"refs/heads/main","pushedAt":"2023-11-08T23:46:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Convert XML parser to Go for speed 🏎️","shortMessageHtmlLink":"Convert XML parser to Go for speed 🏎️"}},{"before":"6de975f372168d07af935d287d66a049a720ca12","after":"076437a8932962c4a8e66bced7eee02671504beb","ref":"refs/heads/main","pushedAt":"2023-11-07T23:38:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Replace fast-xml-parser with a custom XML parser","shortMessageHtmlLink":"Replace fast-xml-parser with a custom XML parser"}},{"before":"817f3b1046d9c6f67577b7240108531592e2ff13","after":"6de975f372168d07af935d287d66a049a720ca12","ref":"refs/heads/main","pushedAt":"2023-11-06T23:13:27.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Fix attribute escaping, add setup for inlined template components (still need to verify that it works correctly)","shortMessageHtmlLink":"Fix attribute escaping, add setup for inlined template components (st…"}},{"before":"fcb9e5dc898e5c745fc8e2c5e5ba7b5efd3a97aa","after":"817f3b1046d9c6f67577b7240108531592e2ff13","ref":"refs/heads/main","pushedAt":"2023-11-05T04:39:51.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Get basic component compilation actually working pretty well!\n\nUp next:\n- CSS processing\n- JS processing\n- Component imports","shortMessageHtmlLink":"Get basic component compilation actually working pretty well!"}},{"before":"f28920f7bb764f7281b121a335ae014c9a8e631b","after":"fcb9e5dc898e5c745fc8e2c5e5ba7b5efd3a97aa","ref":"refs/heads/main","pushedAt":"2023-11-03T03:23:11.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"WIP: incorporate fast-xml-parser, get template compilation pretty close to working","shortMessageHtmlLink":"WIP: incorporate fast-xml-parser, get template compilation pretty clo…"}},{"before":"8bc2cd692a5b736fa3706241a7a2d3f10dd1e001","after":"f28920f7bb764f7281b121a335ae014c9a8e631b","ref":"refs/heads/main","pushedAt":"2023-10-27T18:30:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Add MD render util, rough function for parsing an HTML tag string into an object","shortMessageHtmlLink":"Add MD render util, rough function for parsing an HTML tag string int…"}},{"before":"fd3d3b6923c6dab2cf5ee3d87285b806e92f6606","after":"8bc2cd692a5b736fa3706241a7a2d3f10dd1e001","ref":"refs/heads/main","pushedAt":"2023-10-26T13:20:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gyanreyer","name":"Ryan","path":"/Gyanreyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11037713?s=80&v=4"},"commit":{"message":"Delete rust build junk\n\nI experimented with Rust early in this project but decided to focus on writing an MVP in JS for productivity","shortMessageHtmlLink":"Delete rust build junk"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAERLKBDAA","startCursor":null,"endCursor":null}},"title":"Activity · Gyanreyer/tempeh"}