{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":789836769,"defaultBranch":"main","name":"tinyexec","ownerLogin":"tinylibs","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-04-21T17:28:02.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/96288308?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1724608195.0","currentOid":""},"activityList":{"items":[{"before":"63543cb9f788af1b723713fa36ffccbc8d7accf8","after":null,"ref":"refs/heads/nze","pushedAt":"2024-08-25T17:49:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"}},{"before":"64154fe09fc17d488cc05d7f2d99bb352c81f7c3","after":"f11e42bf5a25b1af9ff84215bb1693da6537d433","ref":"refs/heads/main","pushedAt":"2024-08-25T17:49:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"feat: add `throwOnError` to throw errors on non-zero exits (#34)\n\nIntroduces a new `throwOnError` option which will cause tinyexec to\r\nthrow any time a non-zero exit code is encountered.\r\n\r\nIf the exit code is `null`, we will not throw since it means something\r\nwent very wrong anyway (the process is still running and shouldn't be,\r\nsince we saw the `close` event by then).\r\n\r\nIf the exit code is greater than `0`, we will throw a\r\n`NonZeroExitError` which has an `exitCode` property.\r\n\r\nFor example:\r\n\r\n```ts\r\ntry {\r\n await x('foo', [], {throwOnError: true});\r\n} catch (err) {\r\n if (err instanceof NonZeroExitCode) {\r\n err.exitCode; // the exit code\r\n err.result; // the tinyexec process\r\n err.result.killed; // getters on tinyexec process\r\n }\r\n}\r\n```","shortMessageHtmlLink":"feat: add throwOnError to throw errors on non-zero exits (#34)"}},{"before":"703c3ce249fbec882bca932bbb32259b32fc8760","after":"63543cb9f788af1b723713fa36ffccbc8d7accf8","ref":"refs/heads/nze","pushedAt":"2024-08-25T17:03:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"feat: add `throwOnError` to throw errors on non-zero exits\n\nIntroduces a new `throwOnError` option which will cause tinyexec to\nthrow any time a non-zero exit code is encountered.\n\nIf the exit code is `null`, we will not throw since it means something\nwent very wrong anyway (the process is still running and shouldn't be,\nsince we saw the `close` event by then).\n\nIf the exit code is greater than `0`, we will throw a\n`NonZeroExitError` which has an `exitCode` property.\n\nFor example:\n\n```ts\ntry {\n await x('foo', [], {throwOnError: true});\n} catch (err) {\n if (err instanceof NonZeroExitCode) {\n err.exitCode; // the exit code\n err.result; // the tinyexec process\n err.result.killed; // getters on tinyexec process\n }\n}\n```","shortMessageHtmlLink":"feat: add throwOnError to throw errors on non-zero exits"}},{"before":"d1cc244c43d891f6f4708f65411881996824b4d1","after":"703c3ce249fbec882bca932bbb32259b32fc8760","ref":"refs/heads/nze","pushedAt":"2024-08-25T16:56:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"feat: add `throwOnError` to throw errors on non-zero exits\n\nIntroduces a new `throwOnError` option which will cause tinyexec to\nthrow any time a non-zero exit code is encountered.\n\nIf the exit code is `null`, we will not throw since it means something\nwent very wrong anyway (the process is still running and shouldn't be,\nsince we saw the `close` event by then).\n\nIf the exit code is greater than `0`, we will throw a\n`NonZeroExitError` which has an `exitCode` property.\n\nFor example:\n\n```ts\ntry {\n await x('foo', [], {throwOnError: true});\n} catch (err) {\n if (err instanceof NonZeroExitCode) {\n err.exitCode; // the exit code\n err.result; // the tinyexec process\n err.result.killed; // getters on tinyexec process\n }\n}\n```","shortMessageHtmlLink":"feat: add throwOnError to throw errors on non-zero exits"}},{"before":"1c0da5c1a757e4357e88ef74d72ec858b6c91916","after":"d1cc244c43d891f6f4708f65411881996824b4d1","ref":"refs/heads/nze","pushedAt":"2024-08-25T16:53:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"feat: add `throwOnError` to throw errors on non-zero exits\n\nIntroduces a new `throwOnError` option which will cause tinyexec to\nthrow any time a non-zero exit code is encountered.\n\nIf the exit code is `null`, we will not throw since it means something\nwent very wrong anyway (the process is still running and shouldn't be,\nsince we saw the `close` event by then).\n\nIf the exit code is greater than `0`, we will throw a\n`NonZeroExitError` which has an `exitCode` property.\n\nFor example:\n\n```ts\ntry {\n await x('foo', [], {throwOnError: true});\n} catch (err) {\n if (err instanceof NonZeroExitCode) {\n err.exitCode; // the exit code\n err.result; // the tinyexec process\n err.result.killed; // getters on tinyexec process\n }\n}\n```","shortMessageHtmlLink":"feat: add throwOnError to throw errors on non-zero exits"}},{"before":"94dc887f7b5cb8896d7c5c666316af0b5c4f8c79","after":"1c0da5c1a757e4357e88ef74d72ec858b6c91916","ref":"refs/heads/nze","pushedAt":"2024-08-22T10:36:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"feat: throw on non-zero exit\n\nThis is a breaking change which causes the process to throw when a\nnon-zero exit code is encountered.\n\nIf the exit code is `null`, we will not throw since it means something\nwent very wrong anyway (the process is still running and shouldn't be,\nsince we saw the `close` event by then).\n\nIf the exit code is greater than `0`, we will throw a\n`NonZeroExitError` which has an `exitCode` property.\n\nFor example:\n\n```ts\ntry {\n await x('foo');\n} catch (err) {\n if (err instanceof NonZeroExitCode) {\n err.exitCode; // the exit code\n err.result; // the tinyexec process\n err.result.killed; // getters on tinyexec process\n }\n}\n```","shortMessageHtmlLink":"feat: throw on non-zero exit"}},{"before":"11449ee356b63c6bb9c25cf2fafaeb3854ce6cf0","after":"94dc887f7b5cb8896d7c5c666316af0b5c4f8c79","ref":"refs/heads/nze","pushedAt":"2024-08-22T10:32:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"feat: throw on non-zero exit\n\nThis is a breaking change which causes the process to throw when a\nnon-zero exit code is encountered.\n\nIf the exit code is `null`, we will not throw since it means something\nwent very wrong anyway (the process is still running and shouldn't be,\nsince we saw the `close` event by then).\n\nIf the exit code is greater than `0`, we will throw a\n`NonZeroExitError` which has an `exitCode` property.\n\nFor example:\n\n```ts\ntry {\n await x('foo');\n} catch (err) {\n if (err instanceof NonZeroExitCode) {\n err.exitCode; // the exit code\n err.result; // the tinyexec process\n err.result.killed; // getters on tinyexec process\n }\n}\n```","shortMessageHtmlLink":"feat: throw on non-zero exit"}},{"before":null,"after":"11449ee356b63c6bb9c25cf2fafaeb3854ce6cf0","ref":"refs/heads/nze","pushedAt":"2024-08-22T08:48:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"feat: throw on non-zero exit\n\nThis is a breaking change which causes the process to throw when a\nnon-zero exit code is encountered.\n\nIf the exit code is `null`, we will not throw since it means something\nwent very wrong anyway (the process is still running and shouldn't be,\nsince we saw the `close` event by then).\n\nIf the exit code is greater than `0`, we will throw a\n`NonZeroExitError` which has an `exitCode` property.\n\nFor example:\n\n```ts\ntry {\n await x('foo');\n} catch (err) {\n if (err instanceof NonZeroExitCode) {\n err.exitCode; // the exit code\n err.result; // the tinyexec process\n err.result.killed; // getters on tinyexec process\n }\n}\n```","shortMessageHtmlLink":"feat: throw on non-zero exit"}},{"before":"b8454ac16733ef9b1cb4a94fa446ca7e898521ea","after":null,"ref":"refs/heads/cwol","pushedAt":"2024-08-19T23:05:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"}},{"before":"66fd9f7da7d94c73efd56423dfbc1abda2906308","after":"64154fe09fc17d488cc05d7f2d99bb352c81f7c3","ref":"refs/heads/main","pushedAt":"2024-08-19T23:05:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"docs: add comparison section (#31)","shortMessageHtmlLink":"docs: add comparison section (#31)"}},{"before":"b55d6768c625b8aace9cfbbc8ec3a02c3a5e5fd2","after":"b8454ac16733ef9b1cb4a94fa446ca7e898521ea","ref":"refs/heads/cwol","pushedAt":"2024-08-19T17:27:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"docs: update wording around benefits\n\nCo-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>","shortMessageHtmlLink":"docs: update wording around benefits"}},{"before":null,"after":"b55d6768c625b8aace9cfbbc8ec3a02c3a5e5fd2","ref":"refs/heads/cwol","pushedAt":"2024-08-19T10:28:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"docs: add comparison section","shortMessageHtmlLink":"docs: add comparison section"}},{"before":"9bbc2b46287644b2473489cc57d8b6df6da163b8","after":"66fd9f7da7d94c73efd56423dfbc1abda2906308","ref":"refs/heads/main","pushedAt":"2024-08-16T14:00:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"fix: do not include timeout by default (#30)","shortMessageHtmlLink":"fix: do not include timeout by default (#30)"}},{"before":"483ac9b23d5707cbdca6f53cb4962add3b8d9fde","after":null,"ref":"refs/heads/update-lf","pushedAt":"2024-08-08T14:19:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"}},{"before":"9f3ed89a1658de64e39e205381a5ece10fa72382","after":"9bbc2b46287644b2473489cc57d8b6df6da163b8","ref":"refs/heads/main","pushedAt":"2024-08-08T14:19:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"chore: update lockfile version (#26)\n\nThis got forgotten since we didn't run an `npm i` in previous PRs.","shortMessageHtmlLink":"chore: update lockfile version (#26)"}},{"before":null,"after":"483ac9b23d5707cbdca6f53cb4962add3b8d9fde","ref":"refs/heads/update-lf","pushedAt":"2024-08-08T14:17:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"chore: update lockfile version\n\nThis got forgotten since we didn't run an `npm i` in previous PRs.","shortMessageHtmlLink":"chore: update lockfile version"}},{"before":"1e7dad20b7e2380fa125d2980bc6dc4a1bdd9e79","after":"9f3ed89a1658de64e39e205381a5ece10fa72382","ref":"refs/heads/main","pushedAt":"2024-08-08T14:15:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"fix: prevent esm build global require pollution (#24)","shortMessageHtmlLink":"fix: prevent esm build global require pollution (#24)"}},{"before":null,"after":"febd4bf25db09cc7e9c3186cb4503344156f5423","ref":"refs/heads/cs-gone","pushedAt":"2024-08-08T14:06:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"feat: fork cross-spawn to fix esbuild chaos\n\nesbuild isn't great at bundling for node. it currently produces invalid\ncode by leaving require calls in the esm output, which is far from\ngreat.\n\nTo resolve this, this moves cross-spawn into the repo and converts it to\nESM while dropping any logic we weren't making use of.","shortMessageHtmlLink":"feat: fork cross-spawn to fix esbuild chaos"}},{"before":"13aa623493a84649f6cd06c1fd77e9b772340847","after":null,"ref":"refs/heads/import-usage","pushedAt":"2024-08-07T19:06:50.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"}},{"before":"ea20f57acb179cf1a4de3367ef0d734630c0d1bc","after":"1e7dad20b7e2380fa125d2980bc6dc4a1bdd9e79","ref":"refs/heads/main","pushedAt":"2024-08-07T19:06:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"docs: add imports to usage (#22)","shortMessageHtmlLink":"docs: add imports to usage (#22)"}},{"before":null,"after":"13aa623493a84649f6cd06c1fd77e9b772340847","ref":"refs/heads/import-usage","pushedAt":"2024-08-07T19:05:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"docs: add imports to usage","shortMessageHtmlLink":"docs: add imports to usage"}},{"before":"900e12768ef62f1da4ddfac9012f850311f36953","after":null,"ref":"refs/heads/esbuild-nonsense","pushedAt":"2024-08-07T18:55:20.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"}},{"before":"9bd1f9f9337ddb92ca6473edf641bc50574dfa34","after":"ea20f57acb179cf1a4de3367ef0d734630c0d1bc","ref":"refs/heads/main","pushedAt":"2024-08-07T18:55:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"fix: inject a require function to the esm build (#21)\n\nSurprisingly, esbuild apparently outputs ESM bundles with `require`\r\ncalls still in them (which is invalid).\r\n\r\nUntil esbuild sorts this out, we have no option but to inject a\r\n`createRequire` call and hope for the best.","shortMessageHtmlLink":"fix: inject a require function to the esm build (#21)"}},{"before":"2c5c571ef21cf5e2be30606553552618fc7e54b1","after":"900e12768ef62f1da4ddfac9012f850311f36953","ref":"refs/heads/esbuild-nonsense","pushedAt":"2024-08-07T18:53:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"fix: inject a require function to the esm build\n\nSurprisingly, esbuild apparently outputs ESM bundles with `require`\ncalls still in them (which is invalid).\n\nUntil esbuild sorts this out, we have no option but to inject a\n`createRequire` call and hope for the best.","shortMessageHtmlLink":"fix: inject a require function to the esm build"}},{"before":"c4864767a8a864098241d5872c9c8c53948f5c9b","after":"2c5c571ef21cf5e2be30606553552618fc7e54b1","ref":"refs/heads/esbuild-nonsense","pushedAt":"2024-08-07T18:44:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"fix: inject a require function to the esm build\n\nSurprisingly, esbuild apparently outputs ESM bundles with `require`\ncalls still in them (which is invalid).\n\nUntil esbuild sorts this out, we have no option but to inject a\n`createRequire` call and hope for the best.","shortMessageHtmlLink":"fix: inject a require function to the esm build"}},{"before":null,"after":"c4864767a8a864098241d5872c9c8c53948f5c9b","ref":"refs/heads/esbuild-nonsense","pushedAt":"2024-08-07T18:36:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"fix: inject a require function to the esm build\n\nSurprisingly, esbuild apparently outputs ESM bundles with `require`\ncalls still in them (which is invalid).\n\nUntil esbuild sorts this out, we have no option but to inject a\n`createRequire` call and hope for the best.","shortMessageHtmlLink":"fix: inject a require function to the esm build"}},{"before":"f08c80cec429f5fb1fe0daa5db95d1f61457e898","after":null,"ref":"refs/heads/switcheroo","pushedAt":"2024-07-02T21:26:39.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"}},{"before":"614666fbe03e1352b6d510dedd64cbd0ddfbbe8c","after":"9bd1f9f9337ddb92ca6473edf641bc50574dfa34","ref":"refs/heads/main","pushedAt":"2024-07-02T21:26:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"chore: switch the exports around (#16)\n\nSwitches the types to be first in the list so some tools will resolve it\r\ncorrectly.\r\n\r\nNote this shouldn't really matter for TS itself since it will correctly\r\ninfer the types.","shortMessageHtmlLink":"chore: switch the exports around (#16)"}},{"before":null,"after":"f08c80cec429f5fb1fe0daa5db95d1f61457e898","ref":"refs/heads/switcheroo","pushedAt":"2024-07-02T21:25:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"},"commit":{"message":"chore: switch the exports around\n\nSwitches the types to be first in the list so some tools will resolve it\ncorrectly.\n\nNote this shouldn't really matter for TS itself since it will correctly\ninfer the types.","shortMessageHtmlLink":"chore: switch the exports around"}},{"before":"ddfa5006e9e4193d868f62f6d58622071392c5eb","after":null,"ref":"refs/heads/fix-main","pushedAt":"2024-07-02T20:30:57.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"43081j","name":"James Garbutt","path":"/43081j","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5677153?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEo50gNAA","startCursor":null,"endCursor":null}},"title":"Activity ยท tinylibs/tinyexec"}