{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":702036638,"defaultBranch":"main","name":"ninjutsu-build","ownerLogin":"elliotgoodrich","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-10-08T10:10:10.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/569556?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1721366602.0","currentOid":""},"activityList":{"items":[{"before":"66f5060f511f0420a3923fc48d1fe062e95dd9f7","after":null,"ref":"refs/heads/add-plugin-guide","pushedAt":"2024-07-19T05:23:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"}},{"before":"19f6057d859cb1d577236712572d2c2b47eff8e1","after":"4883d4b8ffe9eb3564bc34030bf93b309b784395","ref":"refs/heads/main","pushedAt":"2024-07-19T05:23:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Add a guide on how to write a plugin\n\nWalk through a plugin for a theoretical CLI called `samurai`.\n\nThis should be followed up with additional guides on creating formatting\nand linting rules as these require plugins returning values with\nattached dependencies.","shortMessageHtmlLink":"Add a guide on how to write a plugin"}},{"before":"6bbaa04a388e877f45d3313928e2debbd2bf1dba","after":"66f5060f511f0420a3923fc48d1fe062e95dd9f7","ref":"refs/heads/add-plugin-guide","pushedAt":"2024-07-19T05:21:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Add a guide on how to write a plugin\n\nWalk through a plugin for a theoretical CLI called `samurai`.\n\nThis should be followed up with additional guides on creating formatting\nand linting rules as these require plugins returning values with\nattached dependencies.","shortMessageHtmlLink":"Add a guide on how to write a plugin"}},{"before":null,"after":"6bbaa04a388e877f45d3313928e2debbd2bf1dba","ref":"refs/heads/add-plugin-guide","pushedAt":"2024-07-19T05:19:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Add a guide on how to write a plugin\n\nWalk through a plugin for a theoretical CLI called `samurai`.\n\nThis should be followed up with additional guides on creating formatting\nand linting rules as these require plugins returning values with\nattached dependencies.","shortMessageHtmlLink":"Add a guide on how to write a plugin"}},{"before":"f7d7baa94c42f8cf2a910b1afdf554028f5aa1f8","after":null,"ref":"refs/heads/rewrap-guide","pushedAt":"2024-07-19T05:17:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"}},{"before":"e4d0e6cdff39c94a2164412247e4ea2ffbdc0088","after":"19f6057d859cb1d577236712572d2c2b47eff8e1","ref":"refs/heads/main","pushedAt":"2024-07-19T05:17:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Wrap lines in all guides","shortMessageHtmlLink":"Wrap lines in all guides"}},{"before":null,"after":"f7d7baa94c42f8cf2a910b1afdf554028f5aa1f8","ref":"refs/heads/rewrap-guide","pushedAt":"2024-07-19T05:14:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Wrap lines in all guides","shortMessageHtmlLink":"Wrap lines in all guides"}},{"before":"20f25245ff179c27960f556b070d17c090e4feaf","after":null,"ref":"refs/heads/fixup-dependencies","pushedAt":"2024-07-18T07:02:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"}},{"before":"894e20b94559c2d2b759b6c588563b207812f725","after":"e4d0e6cdff39c94a2164412247e4ea2ffbdc0088","ref":"refs/heads/main","pushedAt":"2024-07-18T07:02:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Attempt to finalize dependencies with rationale\n\nThis commit documents and implements the \"Dependency Collapsing\" rules\nthat we use inside `NinjaBuilder.rule` in order to deal with\n\"Attached Dependencies\" inside `in`, `[implicitDeps]`,\n`[orderOnlyDeps]`, and `[validations]`. See\n\"./guides/Ninjutsu Build Extras.md\" for a full explanation.\n\nThis commit effectively makes `[implicitDeps]` take an `Input`,\nallows `[validations]` to return an `Input`, and removes\n`[implicitOut]` declarations from make plugins as it doesn't make sense\nto allow developers to declare that a known rule produces an extra file\nif we know that rule doesn't.","shortMessageHtmlLink":"Attempt to finalize dependencies with rationale"}},{"before":"21313a90ef58f1c566ff9d9a0dadae31f1749bac","after":"20f25245ff179c27960f556b070d17c090e4feaf","ref":"refs/heads/fixup-dependencies","pushedAt":"2024-07-18T05:54:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Attempt to finalize dependencies with rationale\n\nThis commit documents and implements the \"Dependency Collapsing\" rules\nthat we use inside `NinjaBuilder.rule` in order to deal with\n\"Attached Dependencies\" inside `in`, `[implicitDeps]`,\n`[orderOnlyDeps]`, and `[validations]`. See\n\"./guides/Ninjutsu Build Extras.md\" for a full explanation.\n\nThis commit effectively makes `[implicitDeps]` take an `Input`,\nallows `[validations]` to return an `Input`, and removes\n`[implicitOut]` declarations from make plugins as it doesn't make sense\nto allow developers to declare that a known rule produces an extra file\nif we know that rule doesn't.","shortMessageHtmlLink":"Attempt to finalize dependencies with rationale"}},{"before":null,"after":"21313a90ef58f1c566ff9d9a0dadae31f1749bac","ref":"refs/heads/fixup-dependencies","pushedAt":"2024-07-18T05:48:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Attempt to finalize dependencies with rationale\n\nThis commit documents and implements the \"Dependency Collapsing\" rules\nthat we use inside `NinjaBuilder.rule` in order to deal with\n\"Attached Dependencies\" inside `in`, `[implicitDeps]`,\n`[orderOnlyDeps]`, and `[validations]`. See\n\"./guides/Ninjutsu Build Extras.md\" for a full explanation.\n\nThis commit effectively makes `[implicitDeps]` take an `Input`,\nallows `[validations]` to return an `Input`, and removes\n`[implicitOut]` declarations from make plugins as it doesn't make sense\nto allow developers to declare that a known rule produces an extra file\nif we know that rule doesn't.","shortMessageHtmlLink":"Attempt to finalize dependencies with rationale"}},{"before":"dcb89c408281384467771b14a16b353963216c91","after":null,"ref":"refs/heads/meta-resolve-test","pushedAt":"2024-07-14T12:41:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"}},{"before":"f4f79326d022e8d59b406fd08510e980c3f1b769","after":null,"ref":"refs/heads/add-tsc","pushedAt":"2024-07-14T12:41:03.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"}},{"before":"59e60dababa6c0716ed26e396e9af6cc4fbd3c4a","after":null,"ref":"refs/heads/hook-test","pushedAt":"2024-07-14T12:40:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"}},{"before":"59f82dc187b212610fb633868121f302415b0906","after":null,"ref":"refs/heads/ci-test","pushedAt":"2024-07-14T12:40:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"}},{"before":"6fc9d5574222d80868448aae1bc51aabba2aea49","after":null,"ref":"refs/heads/comment-configure-script","pushedAt":"2024-07-10T05:38:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"}},{"before":"2808a063ab84f7c7b25373d973daa326d65f6084","after":"894e20b94559c2d2b759b6c588563b207812f725","ref":"refs/heads/main","pushedAt":"2024-07-10T05:38:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Comment and tidy configure script\n\nAdd more comments to the configure script and reduce any code that can\nbe removed without causing confusion.","shortMessageHtmlLink":"Comment and tidy configure script"}},{"before":"14671d58d34ec09d060ad944f60da285386c6dc2","after":"6fc9d5574222d80868448aae1bc51aabba2aea49","ref":"refs/heads/comment-configure-script","pushedAt":"2024-07-10T05:36:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Comment and tidy configure script\n\nAdd more comments to the configure script and reduce any code that can\nbe removed without causing confusion.","shortMessageHtmlLink":"Comment and tidy configure script"}},{"before":null,"after":"14671d58d34ec09d060ad944f60da285386c6dc2","ref":"refs/heads/comment-configure-script","pushedAt":"2024-07-10T05:25:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Comment and tidy configure script\n\nAdd more comments to the configure script and reduce any code that can\nbe removed without causing confusion.","shortMessageHtmlLink":"Comment and tidy configure script"}},{"before":"aaed4909140b76c8b578576c57f89da513b5a2e6","after":null,"ref":"refs/heads/expose-getEntryPointsFromConfig","pushedAt":"2024-07-08T05:43:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"}},{"before":"91c8dd27b4cb4c3527113da8ac779b1c587685b7","after":"2808a063ab84f7c7b25373d973daa326d65f6084","ref":"refs/heads/main","pushedAt":"2024-07-08T05:43:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Add `@ninjutsu-build/tsc.getEntryPointsFromConfig`\n\nExpose a function to return all TypeScript entry points as described by\na `tsconfig.json` file. For all projects using a `tsconfig.json` file,\nthey will most likely have to use `getEntryPointsFromConfig` to get the\nentry points in the configuration script if these entry points need to\nbe run later on and the users don't want to hardcode it.","shortMessageHtmlLink":"Add @ninjutsu-build/tsc.getEntryPointsFromConfig"}},{"before":null,"after":"aaed4909140b76c8b578576c57f89da513b5a2e6","ref":"refs/heads/expose-getEntryPointsFromConfig","pushedAt":"2024-07-08T05:39:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Add `@ninjutsu-build/tsc.getEntryPointsFromConfig`\n\nExpose a function to return all TypeScript entry points as described by\na `tsconfig.json` file. For all projects using a `tsconfig.json` file,\nthey will most likely have to use `getEntryPointsFromConfig` to get the\nentry points in the configuration script if these entry points need to\nbe run later on and the users don't want to hardcode it.","shortMessageHtmlLink":"Add @ninjutsu-build/tsc.getEntryPointsFromConfig"}},{"before":"ba25c0b0c9925f696304db7187eb447f45a98d56","after":null,"ref":"refs/heads/remove-cruft-configure","pushedAt":"2024-07-07T14:49:14.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"}},{"before":"b0a16059f8fd9d0ec33adf35125f44400cd8ad03","after":"91c8dd27b4cb4c3527113da8ac779b1c587685b7","ref":"refs/heads/main","pushedAt":"2024-07-07T14:49:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Remove cruft from configure script\n\nContinue the effort to remove things from the configure script that\nshould be handled by default in the plugins. In this case it is,\n\n 1. `phony` supports extracting `orderOnlyDeps` from the input so we\n can depend on formatted files\n 2. all plugins now support passing `orderOnlyDeps` when creating\n rules, which we use to replace our `inject` function\n 3. the `biome` plugin takes a `configPath` so we no longer need to\n wrap the function and inject it ourselves\n\nUpgrade to the latest biome as part of this, which also requires fixing\na few small linting errors.","shortMessageHtmlLink":"Remove cruft from configure script"}},{"before":"a8b862590cc519cf5d9cf3b14c16a039ba55b30b","after":"ba25c0b0c9925f696304db7187eb447f45a98d56","ref":"refs/heads/remove-cruft-configure","pushedAt":"2024-07-07T14:47:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Remove cruft from configure script\n\nContinue the effort to remove things from the configure script that\nshould be handled by default in the plugins. In this case it is,\n\n 1. `phony` supports extracting `orderOnlyDeps` from the input so we\n can depend on formatted files\n 2. all plugins now support passing `orderOnlyDeps` when creating\n rules, which we use to replace our `inject` function\n 3. the `biome` plugin takes a `configPath` so we no longer need to\n wrap the function and inject it ourselves\n\nUpgrade to the latest biome as part of this, which also requires fixing\na few small linting errors.","shortMessageHtmlLink":"Remove cruft from configure script"}},{"before":"f98f9a9f28cbad0482be80de37c0de1e79eca6bd","after":null,"ref":"refs/heads/npm-ci-to-generator","pushedAt":"2024-07-07T14:44:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"}},{"before":"d0af42d9d96cdf903618a85b821359337588c546","after":"b0a16059f8fd9d0ec33adf35125f44400cd8ad03","ref":"refs/heads/main","pushedAt":"2024-07-07T14:44:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Make npm rules generators\n\nPass `generator: 1` for both `npm` rules we create in `configure.mjs` as\nthis will mean that we don't delete the `.package-lock.json` file when\nrunning `ninja -t clean`, which would cause us to have to redownload all\npackages.","shortMessageHtmlLink":"Make npm rules generators"}},{"before":null,"after":"f98f9a9f28cbad0482be80de37c0de1e79eca6bd","ref":"refs/heads/npm-ci-to-generator","pushedAt":"2024-07-07T13:19:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Make npm rules generators\n\nPass `generator: 1` for both `npm` rules we create in `configure.mjs` as\nthis will mean that we don't delete the `.package-lock.json` file when\nrunning `ninja -t clean`, which would cause us to have to redownload all\npackages.","shortMessageHtmlLink":"Make npm rules generators"}},{"before":"1fdd7ed4be473999d99b1ca8e29ea1e0fd0b990c","after":"a8b862590cc519cf5d9cf3b14c16a039ba55b30b","ref":"refs/heads/remove-cruft-configure","pushedAt":"2024-07-07T13:17:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Remove cruft from configure script\n\nContinue the effort to remove things from the configure script that\nshould be handled by default in the plugins. In this case it is,\n\n 1. `phony` supports extracting `orderOnlyDeps` from the input so we\n can depend on formatted files\n 2. all plugins now support passing `orderOnlyDeps` when creating\n rules, which we use to replace our `inject` function\n 3. the `biome` plugin takes a `configPath` so we no longer need to\n wrap the function and inject it ourselves\n\nUpgrade to the latest biome as part of this, which also requires fixing\na few small linting errors.","shortMessageHtmlLink":"Remove cruft from configure script"}},{"before":"14c9c145e029450c2a611bd392116b2363ce7de8","after":"1fdd7ed4be473999d99b1ca8e29ea1e0fd0b990c","ref":"refs/heads/remove-cruft-configure","pushedAt":"2024-07-07T13:13:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elliotgoodrich","name":"Elliot Goodrich","path":"/elliotgoodrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/569556?s=80&v=4"},"commit":{"message":"Remove cruft from configure script\n\nContinue the effort to remove things from the configure script that\nshould be handled by default in the plugins. In this case it is,\n\n 1. `phony` supports extracting `orderOnlyDeps` from the input so we\n can depend on formatted files\n 2. all plugins now support passing `orderOnlyDeps` when creating\n rules, which we use to replace our `inject` function\n 3. the `biome` plugin takes a `configPath` so we no longer need to\n wrap the function and inject it ourselves\n\nUpgrade to the latest biome as part of this, which also requires fixing\na few small linting errors.","shortMessageHtmlLink":"Remove cruft from configure script"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0xOVQwNToyMzoyMi4wMDAwMDBazwAAAASDkmR2","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0xOVQwNToyMzoyMi4wMDAwMDBazwAAAASDkmR2","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0wN1QxMzoxMzo0NC4wMDAwMDBazwAAAAR43CHh"}},"title":"Activity ยท elliotgoodrich/ninjutsu-build"}