Skip to content

chore: add package metadata to all public packages#2530

Merged
ymc9 merged 2 commits intodevfrom
chore/package-metadata
Mar 30, 2026
Merged

chore: add package metadata to all public packages#2530
ymc9 merged 2 commits intodevfrom
chore/package-metadata

Conversation

@ymc9
Copy link
Copy Markdown
Member

@ymc9 ymc9 commented Mar 30, 2026

Summary

  • Add displayName, repository, license, author (with email), homepage, and funding fields to all 15 non-private package.json files
  • Standardize author to { name: "ZenStack Team", email: "contact@zenstack.dev" } across all packages
  • Reorder metadata fields to top of each package.json for consistency

Test plan

  • Verify pnpm install still resolves correctly
  • Spot-check a few package.json files for correct field values

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Enhanced package metadata across the repository: added display names, structured author (name/email), homepage and repository links, funding info, and explicit license fields for root and package manifests to improve discoverability.
    • Reordered manifest fields in several packages (version positions adjusted) without changing package version values or runtime scripts/dependencies.

Add displayName, repository, license, author (with email), homepage, and
funding fields to all non-private package.json files for better npm
registry presentation and discoverability.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@claude
Copy link
Copy Markdown
Contributor

claude bot commented Mar 30, 2026

Claude finished @ymc9's task —— View job


PR Review: Package Metadata Standardization

Review Checklist

  • Read and analyze modified package.json files
  • Check metadata field consistency
  • Verify field values and formatting
  • Assess security and privacy implications
  • Review adherence to npm best practices
  • Provide comprehensive feedback

✅ Overall Assessment

This PR successfully standardizes package metadata across all 15 public packages. The changes are well-structured and consistent, following npm best practices.

📋 Detailed Review

Code Quality & Best Practices

Excellent field ordering: Metadata fields are correctly placed at the top of each package.json, following conventional ordering:

  • name, displayName, description, version, type
  • author, homepage, repository, license
  • Scripts, dependencies, etc.

Consistent metadata structure: All packages use identical field formats:

  • author as object with name and email properties ✅
  • repository with proper type: "git" and GitHub URL ✅
  • Standardized homepage and funding URLs ✅

Field Value Verification

Author information:

  • Consistent across all packages: "ZenStack Team" <contact@zenstack.dev>
  • Professional team identity vs individual maintainer ✅

URLs validated:

  • Homepage: https://zenstack.dev
  • Repository: https://github.com/zenstackhq/zenstack
  • Funding: https://github.com/sponsors/zenstackhq

Display names: Appropriate and descriptive for each package:

  • @zenstackhq/orm → "ZenStack ORM" ✅
  • @zenstackhq/tanstack-query → "ZenStack TanStack Query Integration" ✅

Security & Privacy 🔒

No security concerns identified:

  • All URLs point to legitimate zenstack.dev and github.com domains
  • Email address is appropriate business contact
  • No sensitive information exposed
  • Funding URL follows GitHub's standard sponsor pattern

Performance Considerations

Minimal impact:

  • Metadata fields don't affect runtime performance
  • Package resolution remains unchanged
  • Bundle sizes unaffected (metadata not included in distributions)

Potential Issues ⚠️

Minor considerations:

  1. Publisher field inconsistency: packages/cli/package.json:3 has a publisher field that other packages don't have. This might be intentional for CLI distribution but should be verified.

  2. Missing funding from root package: The root package.json includes the funding field, which is correct for a workspace root.

Test Coverage 🧪

The PR includes a reasonable test plan:

  • ✅ Verify pnpm install still works (dependency resolution)
  • ✅ Spot-check package.json field values

Recommendation: Consider adding a simple automation test to verify metadata consistency across packages in the future.

npm Best Practices Compliance 📦

All changes follow npm documentation standards:

  • ✅ Field names are official package.json fields
  • ✅ Author format follows npm conventions
  • ✅ Repository field includes required type property
  • ✅ License field uses valid SPDX identifier ("MIT")
  • ✅ Funding follows GitHub Sponsors URL format

🎯 Recommendations

  1. Consider documenting the metadata standards in a contributing guide for future packages
  2. Verify if the publisher field in CLI package is intentional or should be removed for consistency
  3. Excellent work on the systematic approach and thorough field standardization

✅ Approval Recommendation

This PR is ready for merge. The changes are:

  • ✅ Well-implemented and consistent
  • ✅ Follow npm best practices
  • ✅ Pose no security or performance risks
  • ✅ Improve package discoverability and professionalism

The package metadata standardization will enhance the developer experience and make ZenStack packages more discoverable in the npm ecosystem.


@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 30, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: e6f3cd15-259a-41ce-b747-5e6faeb48787

📥 Commits

Reviewing files that changed from the base of the PR and between da1d0e4 and f2c78e6.

📒 Files selected for processing (1)
  • packages/cli/package.json

📝 Walkthrough

Walkthrough

Standardized package.json metadata across multiple packages: added displayName, structured author (name/email), homepage, repository, funding, and normalized license placement; version values unchanged, only reordered.

Changes

Cohort / File(s) Summary
Root & Workspace
package.json
Added displayName, structured author, homepage, repository, license (MIT), and funding; version repositioned without value change.
Auth Adapter
packages/auth-adapters/better-auth/package.json
Added displayName, structured author, homepage, repository, license (MIT), and funding; version reordered.
CLI & Clients
packages/cli/package.json, packages/clients/client-helpers/package.json, packages/clients/tanstack-query/package.json
Removed publisher where present; added displayName, structured author (name/email), homepage, repository, and funding; license normalized.
Core Packages
packages/common-helpers/package.json, packages/create-zenstack/package.json, packages/language/package.json, packages/orm/package.json
Added displayName, structured author, homepage, repository, license (MIT), and funding; minor field reorderings.
Plugins & Schema
packages/plugins/policy/package.json, packages/schema/package.json
Added displayName, structured author, homepage, repository, license (MIT), and funding; schema description revised.
SDK, Server & Tools
packages/sdk/package.json, packages/server/package.json, packages/testtools/package.json, packages/zod/package.json
Added displayName, structured author, homepage, repository, license (MIT), and funding; descriptions refined in some packages; type preserved where present.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Poem

🐰 Metadata hops in neat array,

displayName, author, home to stay.
Repo and funding join the dance,
Versions unchanged — a tidy stance.
Hooray for fields that now behave! 🎉

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely summarizes the main change—adding package metadata to public packages—which aligns with the comprehensive metadata updates across 15 package.json files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/package-metadata

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@claude
Copy link
Copy Markdown
Contributor

claude bot commented Mar 30, 2026

Claude finished @ymc9's task —— View job


PR Review: Package Metadata Standardization

Review Checklist

  • Read and analyze modified package.json files
  • Check metadata field consistency
  • Verify field values and formatting
  • Assess security and privacy implications
  • Review adherence to npm best practices
  • Provide comprehensive feedback

✅ Overall Assessment

This PR successfully standardizes package metadata across all 15 public packages. The changes are well-structured and consistent, following npm best practices.

📋 Detailed Review

Code Quality & Best Practices

Excellent field ordering: Metadata fields are correctly placed at the top of each package.json, following conventional ordering:

  • name, displayName, description, version, type
  • author, homepage, repository, license
  • Scripts, dependencies, etc.

Consistent metadata structure: All packages use identical field formats:

  • author as object with name and email properties ✅
  • repository with proper type: "git" and GitHub URL ✅
  • Standardized homepage and funding URLs ✅

Field Value Verification

Author information:

  • Consistent across all packages: "ZenStack Team" <contact@zenstack.dev>
  • Professional team identity vs individual maintainer ✅

URLs validated:

  • Homepage: https://zenstack.dev
  • Repository: https://github.com/zenstackhq/zenstack
  • Funding: https://github.com/sponsors/zenstackhq

Display names: Appropriate and descriptive for each package:

  • @zenstackhq/orm → "ZenStack ORM" ✅
  • @zenstackhq/tanstack-query → "ZenStack TanStack Query Integration" ✅

Security & Privacy 🔒

No security concerns identified:

  • All URLs point to legitimate zenstack.dev and github.com domains
  • Email address is appropriate business contact
  • No sensitive information exposed
  • Funding URL follows GitHub's standard sponsor pattern

Performance Considerations

Minimal impact:

  • Metadata fields don't affect runtime performance
  • Package resolution remains unchanged
  • Bundle sizes unaffected (metadata not included in distributions)

npm Best Practices Compliance 📦

All changes follow npm documentation standards:

  • ✅ Field names are official package.json fields
  • ✅ Author format follows npm conventions
  • ✅ Repository field includes required type property
  • ✅ License field uses valid SPDX identifier ("MIT")
  • ✅ Funding follows GitHub Sponsors URL format

🎯 Recommendations

  1. Consider documenting the metadata standards in a contributing guide for future packages
  2. Excellent work on the systematic approach and thorough field standardization

✅ Approval Recommendation

This PR is ready for merge. The changes are:

  • ✅ Well-implemented and consistent
  • ✅ Follow npm best practices
  • ✅ Pose no security or performance risks
  • ✅ Improve package discoverability and professionalism

The package metadata standardization will enhance the developer experience and make ZenStack packages more discoverable in the npm ecosystem.


@ymc9 ymc9 merged commit 85d8b6b into dev Mar 30, 2026
6 of 7 checks passed
@ymc9 ymc9 deleted the chore/package-metadata branch March 30, 2026 20:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant