Types β
Projex exports TypeScript types for all data structures. Import types from the main entry point.
Available Types β
Core Types β
| Type | Description |
|---|---|
| ProjexProject | Normalized project object |
| ProjexProjectInput | Project input configuration |
| ProjectType | Project type union |
| ProjectStatus | Project status union |
Stats Types β
| Type | Description |
|---|---|
| ProjectStats | Combined stats interface |
| GitHubStats | GitHub-specific stats |
| NpmStats | npm-specific stats |
| ProductHuntStats | Product Hunt-specific stats |
| YouTubeStats | YouTube-specific stats |
| GumroadStats | Gumroad-specific stats |
| LemonSqueezyStats | Lemon Squeezy-specific stats |
| DevToStats | Dev.to-specific stats |
| NormalizedStat | Normalized stat for display |
Data Types β
| Type | Description |
|---|---|
| ProjectLinks | Project link URLs |
| ProjectStruggle | Challenge or learning from the project |
| ProjectTimelineEntry | Timeline milestone entry |
| ProjectPost | Blog post or article reference |
| ProjectCommit | GitHub commit data |
| ProjectCommitAuthor | Commit author information |
Fetched Data Types β
| Type | Description |
|---|---|
| GitHubRepoData | GitHub API response |
| FetchReposResult | Result object for fetchGitHubRepos |
| FetchReposError | Error type for fetchGitHubRepos |
| NpmPackageData | npm API response |
| ProductHuntPostData | Product Hunt API response |
| YouTubeChannelData | YouTube API response |
| GumroadProductData | Gumroad API response |
| LemonSqueezyStoreData | Lemon Squeezy API response |
| DevToUserData | Dev.to API response |
| DevToArticleData | Dev.to article data |
Utility Types β
| Type | Description |
|---|---|
| ProjexProjectInputCompat | Compatibility type for flexible/partial project input |
| SortValue | Allowed sort values for sortProjects |
| ProjexProjectInputZod | Zod schema type for project validation |
| FuseOptions | Fuse.js configuration options |
Schema Types β
| Type | Description |
|---|---|
| projexProjectInputSchema | Zod validation schema for ProjexProjectInput |
| PersonSchema | Schema.org Person JSON-LD |
| SoftwareApplicationSchema | Schema.org SoftwareApplication JSON-LD |
| GeneratePersonSchemaOptions | Options for generatePersonSchema |
| GeneratePortfolioMetadataOptions | Options for generatePortfolioMetadata |
Import β
tsx
import type {
ProjexProject,
ProjexProjectInput,
ProjectType,
ProjectStatus
} from '@manningworks/projex'Type Relationships β
ProjexProjectInput ββnormalise()ββ> ProjexProject
β β
βββ GitHubProjectInput βββ stats: ProjectStats
βββ NpmProjectInput βββ links: ProjectLinks
βββ ProductHuntProjectInput βββ struggles: ProjectStruggle[]
βββ YouTubeProjectInput βββ timeline: ProjectTimelineEntry[]
βββ GumroadProjectInput βββ posts: ProjectPost[]
βββ LemonSqueezyProjectInput
βββ DevToProjectInput
βββ HybridProjectInput
βββ ManualProjectInput