Package type represents an immutable snapshot of components at a specific version. Packages follow semantic versioning and include all dependencies needed to render content.
Type Definition
Fields
| Field | Type | Description |
|---|---|---|
id | ID! | Unique identifier (changes with each version) |
projectId | ID! | Parent project ID |
version | String! | Semantic version (e.g., “1.0.0”) |
components | [Component!]! | Components included in this package |
assets | [Asset!]! | Assets bundled with the package |
dependencies | [PackageDependency!]! | External package dependencies |
compiled | String! | This package’s compiled components (JSON) |
resolved | ResolvedPackage! | Full package data with all dependencies |
resolvedRef | ResolvedPackageRef! | Package IDs for normalized caching |
createdAt | DateTime! | Publication timestamp |
Field Details
version
Packages use semantic versioning (semver):- Major (1.0.0 → 2.0.0): Breaking changes
- Minor (1.0.0 → 1.1.0): New features, backward compatible
- Patch (1.0.0 → 1.0.1): Bug fixes
compiled
JSON object mapping component names to their compiled code:resolved vs resolvedRef
Choose based on your use case:- resolved: Full package data inline (larger payload, simpler client)
- resolvedRef: IDs only for normalized caching (smaller payload, requires additional queries)
PackageDependency
| Field | Type | Description |
|---|---|---|
projectId | ID! | Dependent project ID |
version | String! | Required version |
Example Query
Full Package Data
With Caching References
Related Types
- Component - Components bundled in packages
- Resolved Package - Package resolution types
- Content - Content references packages via version
