Add support for package homepage sync#289
Conversation
🦋 Changeset detectedLatest commit: c99b6e6 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
WalkthroughA changeset entry marks a minor version release for template-files with homepage support. The repos.json configuration expands to inject homepage fields into package.json definitions for 14+ repositories. The template-files package.json definition is updated to use a homepage template parameter instead of a hardcoded GitHub URL. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (8)
repos.json (8)
3335-3363: 🧹 Nitpick | 🔵 TrivialDuplicate entries for
implications-trainerpackage.json.Lines 3335-3344 add
homepage, while Lines 3355-3363 exist without it for the same package.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@repos.json` around lines 3335 - 3363, There are duplicate entries for the same package.json template ("template-files/package.json/definition.package.json") that create conflicting props (one includes "homepage" and one does not); remove or consolidate the duplicate so only a single definition.package.json entry exists with the intended props (ensure the properties include "packageName": "implications-trainer", "repositoryName": "implications-trainer" and add "homepage" if required), updating the JSON array to eliminate the redundant object and keep a single authoritative entry for the package.
3487-3515: 🧹 Nitpick | 🔵 TrivialDuplicate entries for
nxjtpackage.json.Lines 3487-3496 add
homepage, while Lines 3507-3515 exist without it.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@repos.json` around lines 3487 - 3515, There are duplicate entries adding the same template "template-files/package.json/definition.package.json" to targetPath "package.json": one includes props {packageName, homepage, repositoryName} and the other repeats with only {packageName, repositoryName}; remove or consolidate the duplicate so only one entry remains for that template (merge the props to include homepage if needed), ensuring the unique keys "path": "template-files/package.json/definition.package.json" and "props" (packageName, homepage, repositoryName) are preserved and no duplicate targetPath "package.json" entries exist.
2917-2935: 🧹 Nitpick | 🔵 TrivialDuplicate entries for
starlight-subtle-top-level-itemsroot package.json.Same pattern of duplicate entries - one without
homepage(Lines 2917-2925) and one with (Lines 2926-2935).🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@repos.json` around lines 2917 - 2935, The repos.json contains two duplicate package entry objects for packageName "starlight-subtle-top-level-items-monorepo" / repositoryName "starlight-subtle-top-level-items"; remove or consolidate them so only a single object remains (keep the one that includes the homepage property "https://github.com/trueberryless-org/starlight-subtle-top-level-items" or merge the homepage into the remaining entry) to eliminate the duplicated root package.json definition.
1874-1892: 🧹 Nitpick | 🔵 TrivialDuplicate entries for
starlight-theme-rose-pineroot package.json.Lines 1874-1882 define
starlight-theme-rose-pine-monorepowithouthomepage, and Lines 1883-1892 add a duplicate entry with the samepackageNamebut includinghomepage. Same consolidation consideration applies as noted forstarlight-plugins-docs-components.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@repos.json` around lines 1874 - 1892, There are duplicate entries for the same packageName "starlight-theme-rose-pine-monorepo" that differ only by the presence of a "homepage" prop; remove the duplicate by merging the two objects into one so the single entry for targetPath "package.json" / special "package.json" includes the "homepage": "https://github.com/trueberryless-org/starlight-theme-rose-pine" property along with the existing "repositoryName" and "packageName" props.
3411-3439: 🧹 Nitpick | 🔵 TrivialDuplicate entries for
npmx-digestpackage.json.Lines 3411-3420 add
homepage, while Lines 3431-3439 exist without it.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@repos.json` around lines 3411 - 3439, The repos.json contains duplicate entries for the same template "template-files/package.json/definition.package.json" targeting "package.json" (both having "special": "package.json")—one includes a "homepage" prop and the other does not; remove the redundant entry or merge them so there is a single entry for packageName "npmx-digest" and repositoryName "npmx-digest" that also includes the "homepage" property (locate the duplicated blocks by the "path": "template-files/package.json/definition.package.json" and the "props": { "packageName": "npmx-digest" } to identify which to edit).
3216-3254: 🧹 Nitpick | 🔵 TrivialDuplicate entries for
release-image-generatorroot package.json.Lines 3216-3225 add
homepageforrelease-image-generator-monorepo, while Lines 3246-3254 have an entry without it forrelease-image-generatortargeting the same file.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@repos.json` around lines 3216 - 3254, There are duplicate template entries targeting the same package.json; consolidate them by removing the redundant record and merging the correct props into a single entry for the root package.json: locate the objects referencing "path": "template-files/package.json/definition.package.json" and "path": "template-files/package.json/package.manager.package.json" that both have "targetPath": "package.json", and ensure only one definition entry remains with props.packageName set to the intended package ("release-image-generator" or "release-image-generator-monorepo") and include the homepage and repositoryName only on the correct package's entry; delete or deduplicate any extra entries so there is a single canonical template entry per targetPath "package.json".
3028-3061: 🧹 Nitpick | 🔵 TrivialDuplicate entries for
recent-releasespackage.json.Entry at Lines 3028-3037 adds
homepage, while Lines 3053-3061 has the samepackageNamewithout it.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@repos.json` around lines 3028 - 3061, There are duplicate mapping objects for "template-files/package.json/definition.package.json" with props.packageName "recent-releases": one includes a "homepage" and the other does not; remove or consolidate the duplicate so only a single mapping for packageName "recent-releases" remains (keep the "homepage" property), i.e., merge the two JSON entries into one object (the one with "path": "template-files/package.json/definition.package.json" and "props": { "packageName": "recent-releases", "homepage": "...", "repositoryName": "recent-releases" }) and delete the redundant entry.
1564-1601: 🧹 Nitpick | 🔵 TrivialDuplicate entries for the same
targetPathmay cause confusion or unexpected behavior.For
starlight-plugins-docs-components, there are duplicate entries targeting bothpackage.json(Lines 1564-1572 and 1573-1582) andpackages/starlight-plugins-docs-components/package.json(Lines 1583-1591 and 1592-1601). The old entries lackhomepagewhile the new entries include it.If the template system merges props from multiple entries, this works but creates redundant configuration. If only the last entry wins, the old entries are dead code. Consider consolidating these into single entries with the
homepageprop added.♻️ Example consolidation for root package.json
{ "path": "template-files/package.json/definition.package.json", "targetPath": "package.json", "special": "package.json", "props": { - "packageName": "@trueberryless-org/starlight-plugins-docs-components-monorepo", - "repositoryName": "starlight-plugins-docs-components" - } - }, - { - "path": "template-files/package.json/definition.package.json", - "targetPath": "package.json", - "special": "package.json", - "props": { "packageName": "starlight-plugins-docs-components-monorepo", "homepage": "https://github.com/trueberryless-org/starlight-plugins-docs-components", "repositoryName": "starlight-plugins-docs-components" } },🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@repos.json` around lines 1564 - 1601, There are duplicate entries in repos.json for the same package definitions (entries with packageName values "@trueberryless-org/starlight-plugins-docs-components" and "starlight-plugins-docs-components") that differ only by the presence of a homepage prop; remove or consolidate the duplicates so only a single entry per packageName/special="package.json" remains and ensure the consolidated entry includes the homepage value (merge props such as packageName, repositoryName and homepage) to avoid redundant or dead configurations.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@repos.json`:
- Around line 3335-3363: There are duplicate entries for the same package.json
template ("template-files/package.json/definition.package.json") that create
conflicting props (one includes "homepage" and one does not); remove or
consolidate the duplicate so only a single definition.package.json entry exists
with the intended props (ensure the properties include "packageName":
"implications-trainer", "repositoryName": "implications-trainer" and add
"homepage" if required), updating the JSON array to eliminate the redundant
object and keep a single authoritative entry for the package.
- Around line 3487-3515: There are duplicate entries adding the same template
"template-files/package.json/definition.package.json" to targetPath
"package.json": one includes props {packageName, homepage, repositoryName} and
the other repeats with only {packageName, repositoryName}; remove or consolidate
the duplicate so only one entry remains for that template (merge the props to
include homepage if needed), ensuring the unique keys "path":
"template-files/package.json/definition.package.json" and "props" (packageName,
homepage, repositoryName) are preserved and no duplicate targetPath
"package.json" entries exist.
- Around line 2917-2935: The repos.json contains two duplicate package entry
objects for packageName "starlight-subtle-top-level-items-monorepo" /
repositoryName "starlight-subtle-top-level-items"; remove or consolidate them so
only a single object remains (keep the one that includes the homepage property
"https://github.com/trueberryless-org/starlight-subtle-top-level-items" or merge
the homepage into the remaining entry) to eliminate the duplicated root
package.json definition.
- Around line 1874-1892: There are duplicate entries for the same packageName
"starlight-theme-rose-pine-monorepo" that differ only by the presence of a
"homepage" prop; remove the duplicate by merging the two objects into one so the
single entry for targetPath "package.json" / special "package.json" includes the
"homepage": "https://github.com/trueberryless-org/starlight-theme-rose-pine"
property along with the existing "repositoryName" and "packageName" props.
- Around line 3411-3439: The repos.json contains duplicate entries for the same
template "template-files/package.json/definition.package.json" targeting
"package.json" (both having "special": "package.json")—one includes a "homepage"
prop and the other does not; remove the redundant entry or merge them so there
is a single entry for packageName "npmx-digest" and repositoryName "npmx-digest"
that also includes the "homepage" property (locate the duplicated blocks by the
"path": "template-files/package.json/definition.package.json" and the "props": {
"packageName": "npmx-digest" } to identify which to edit).
- Around line 3216-3254: There are duplicate template entries targeting the same
package.json; consolidate them by removing the redundant record and merging the
correct props into a single entry for the root package.json: locate the objects
referencing "path": "template-files/package.json/definition.package.json" and
"path": "template-files/package.json/package.manager.package.json" that both
have "targetPath": "package.json", and ensure only one definition entry remains
with props.packageName set to the intended package ("release-image-generator" or
"release-image-generator-monorepo") and include the homepage and repositoryName
only on the correct package's entry; delete or deduplicate any extra entries so
there is a single canonical template entry per targetPath "package.json".
- Around line 3028-3061: There are duplicate mapping objects for
"template-files/package.json/definition.package.json" with props.packageName
"recent-releases": one includes a "homepage" and the other does not; remove or
consolidate the duplicate so only a single mapping for packageName
"recent-releases" remains (keep the "homepage" property), i.e., merge the two
JSON entries into one object (the one with "path":
"template-files/package.json/definition.package.json" and "props": {
"packageName": "recent-releases", "homepage": "...", "repositoryName":
"recent-releases" }) and delete the redundant entry.
- Around line 1564-1601: There are duplicate entries in repos.json for the same
package definitions (entries with packageName values
"@trueberryless-org/starlight-plugins-docs-components" and
"starlight-plugins-docs-components") that differ only by the presence of a
homepage prop; remove or consolidate the duplicates so only a single entry per
packageName/special="package.json" remains and ensure the consolidated entry
includes the homepage value (merge props such as packageName, repositoryName and
homepage) to avoid redundant or dead configurations.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: ecb561cc-b172-4f03-ba8c-aa1beb3e0cb2
📒 Files selected for processing (3)
.changeset/tiny-cats-wait.mdrepos.jsontemplate-files/package.json/definition.package.json
Summary by CodeRabbit