mirror of
https://github.com/djdevin/recflare.git
synced 2026-09-09 07:01:27 -07:00
Initial commit
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
import { z } from 'zod'
|
||||
|
||||
/**
|
||||
* Represents a pakcage.json file
|
||||
*/
|
||||
export const PackageJson = z.object({
|
||||
name: z.string().optional(),
|
||||
version: z.string().optional(),
|
||||
description: z.string().optional(),
|
||||
type: z.enum(['module', 'commonjs']).optional(),
|
||||
module: z.string().optional(),
|
||||
main: z.string().optional(),
|
||||
types: z.string().optional(),
|
||||
scripts: z.record(z.string(), z.string()).optional(),
|
||||
dependencies: z.record(z.string(), z.string()).optional(),
|
||||
devDependencies: z.record(z.string(), z.string()).optional(),
|
||||
peerDependencies: z.record(z.string(), z.string()).optional(),
|
||||
optionalDependencies: z.record(z.string(), z.string()).optional(),
|
||||
packageManager: z.string().optional(),
|
||||
engines: z
|
||||
.object({
|
||||
node: z.string().optional(),
|
||||
npm: z.string().optional(),
|
||||
pnpm: z.string().optional(),
|
||||
})
|
||||
.optional(),
|
||||
repository: z
|
||||
.union([
|
||||
z.string(),
|
||||
z.object({
|
||||
type: z.string(),
|
||||
url: z.string(),
|
||||
}),
|
||||
])
|
||||
.optional(),
|
||||
keywords: z.array(z.string()).optional(),
|
||||
author: z
|
||||
.union([
|
||||
z.string(),
|
||||
z.object({
|
||||
name: z.string(),
|
||||
email: z.string().optional(),
|
||||
url: z.string().optional(),
|
||||
}),
|
||||
])
|
||||
.optional(),
|
||||
license: z.string().optional(),
|
||||
bugs: z
|
||||
.union([
|
||||
z.string(),
|
||||
z.object({
|
||||
url: z.string().optional(),
|
||||
email: z.string().optional(),
|
||||
}),
|
||||
])
|
||||
.optional(),
|
||||
homepage: z.string().optional(),
|
||||
private: z.boolean().optional(),
|
||||
publishConfig: z.record(z.string(), z.unknown()).optional(),
|
||||
workspaces: z.array(z.string()).optional(),
|
||||
})
|
||||
|
||||
export type PackageJson = z.infer<typeof PackageJson>
|
||||
Reference in New Issue
Block a user