@seasketch/geoprocessing
Version:
Geoprocessing and reporting framework for SeaSketch 2.0
43 lines • 1.45 kB
JavaScript
import { z } from "zod";
/**
* Schema for npm package.json metadata, as found in the wild
*/
export const packageSchema = z.object({
name: z.string(),
version: z.string(),
description: z.string(),
author: z.string(),
license: z.string(),
homepage: z.string().optional(),
bugs: z.record(z.string()).optional(),
repository: z.record(z.string()).optional(),
dependencies: z.record(z.string()).optional(),
devDependencies: z.record(z.string()).optional(),
scripts: z.record(z.string()).optional(),
private: z.boolean().optional(),
type: z.string().optional(),
keywords: z.array(z.string()).optional(),
repositoryUrl: z.string().optional(),
});
/**
* Stricter schema for npm package.json metadata, with most fields guaranteed present
*/
export const loadedPackageSchema = z.object({
name: z.string(),
version: z.string(),
description: z.string(),
author: z.string(),
license: z.string(),
homepage: z.string().optional(),
bugs: z.record(z.string()).optional(),
repository: z.record(z.string()).optional(),
dependencies: z.record(z.string()),
devDependencies: z.record(z.string()).optional(),
scripts: z.record(z.string()),
private: z.boolean(),
type: z.string().optional(),
keywords: z.array(z.string()),
repositoryUrl: z.string().optional(),
"lint-staged": z.record(z.string()).optional(),
});
//# sourceMappingURL=package.js.map