@jakubmazanec/zod-utils 1.0.0-9029e49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/LICENSE.md +840 -0
  2. package/README.md +38 -0
  3. package/dist/main.d.ts +2 -0
  4. package/dist/main.js +4 -0
  5. package/dist/main.js.map +1 -0
  6. package/dist/types/Json.d.ts +8 -0
  7. package/dist/types/Json.js +14 -0
  8. package/dist/types/Json.js.map +1 -0
  9. package/dist/types/PackageJson.d.ts +517 -0
  10. package/dist/types/PackageJson.js +292 -0
  11. package/dist/types/PackageJson.js.map +1 -0
  12. package/dist/types/TsconfigJson.d.ts +609 -0
  13. package/dist/types/TsconfigJson.js +338 -0
  14. package/dist/types/TsconfigJson.js.map +1 -0
  15. package/dist/types.d.ts +3 -0
  16. package/dist/types.js +5 -0
  17. package/dist/types.js.map +1 -0
  18. package/dist/utils/is.d.ts +2 -0
  19. package/dist/utils/is.js +5 -0
  20. package/dist/utils/is.js.map +1 -0
  21. package/dist/utils/isPackageJson.d.ts +2 -0
  22. package/dist/utils/isPackageJson.js +6 -0
  23. package/dist/utils/isPackageJson.js.map +1 -0
  24. package/dist/utils/isTsconfigJson.d.ts +2 -0
  25. package/dist/utils/isTsconfigJson.js +6 -0
  26. package/dist/utils/isTsconfigJson.js.map +1 -0
  27. package/dist/utils/readFile.d.ts +11 -0
  28. package/dist/utils/readFile.js +16 -0
  29. package/dist/utils/readFile.js.map +1 -0
  30. package/dist/utils/readJson.d.ts +10 -0
  31. package/dist/utils/readJson.js +7 -0
  32. package/dist/utils/readJson.js.map +1 -0
  33. package/dist/utils/readPackageJson.d.ts +11 -0
  34. package/dist/utils/readPackageJson.js +7 -0
  35. package/dist/utils/readPackageJson.js.map +1 -0
  36. package/dist/utils/zodIssuesToString.d.ts +2 -0
  37. package/dist/utils/zodIssuesToString.js +30 -0
  38. package/dist/utils/zodIssuesToString.js.map +1 -0
  39. package/dist/utils.d.ts +7 -0
  40. package/dist/utils.js +9 -0
  41. package/dist/utils.js.map +1 -0
  42. package/package.json +43 -0
  43. package/src/main.ts +2 -0
  44. package/src/types/Json.ts +11 -0
  45. package/src/types/PackageJson.ts +294 -0
  46. package/src/types/TsconfigJson.ts +346 -0
  47. package/src/types.ts +3 -0
  48. package/src/utils/is.ts +5 -0
  49. package/src/utils/isPackageJson.ts +5 -0
  50. package/src/utils/isTsconfigJson.ts +5 -0
  51. package/src/utils/readFile.ts +40 -0
  52. package/src/utils/readJson.ts +31 -0
  53. package/src/utils/readPackageJson.ts +26 -0
  54. package/src/utils/zodIssuesToString.ts +52 -0
  55. package/src/utils.ts +7 -0
@@ -0,0 +1,292 @@
1
+ import * as z from 'zod';
2
+ const packageJsonFundingSchema = z.union([
3
+ z.object({
4
+ type: z.union([
5
+ z.enum([
6
+ 'corporation',
7
+ 'foundation',
8
+ 'github',
9
+ 'individual',
10
+ 'opencollective',
11
+ 'patreon'
12
+ ]),
13
+ z.string()
14
+ ]).optional(),
15
+ url: z.string()
16
+ }).strict(),
17
+ z.string()
18
+ ]);
19
+ const packageJsonPublishConfigSchema = z.intersection(z.object({
20
+ access: z.enum([
21
+ 'public',
22
+ 'restricted'
23
+ ]).optional(),
24
+ registry: z.string().optional(),
25
+ tag: z.string().optional()
26
+ }), z.record(z.unknown()));
27
+ const packageJsonPersonSchema = z.union([
28
+ z.object({
29
+ name: z.string(),
30
+ email: z.string().optional(),
31
+ url: z.string().optional()
32
+ }).strict(),
33
+ z.string()
34
+ ]);
35
+ const packageJsonBugsLocationSchema = z.union([
36
+ z.object({
37
+ email: z.string().optional(),
38
+ url: z.string().optional()
39
+ }).strict(),
40
+ z.string()
41
+ ]);
42
+ const packageJsonDirectoryLocationsSchema = z.object({
43
+ bin: z.string().optional(),
44
+ doc: z.string().optional(),
45
+ example: z.string().optional(),
46
+ lib: z.string().optional(),
47
+ man: z.string().optional(),
48
+ v: z.string().optional()
49
+ }).strict();
50
+ const packageJsonScriptsSchema = z.intersection(z.record(z.string()), z.object({
51
+ prepublish: z.string().optional(),
52
+ prepare: z.string().optional(),
53
+ prepublishOnly: z.string().optional(),
54
+ prepack: z.string().optional(),
55
+ postpack: z.string().optional(),
56
+ publish: z.string().optional(),
57
+ postpublish: z.string().optional(),
58
+ preinstall: z.string().optional(),
59
+ install: z.string().optional(),
60
+ postinstall: z.string().optional(),
61
+ preuninstall: z.string().optional(),
62
+ uninstall: z.string().optional(),
63
+ postuninstall: z.string().optional(),
64
+ preversion: z.string().optional(),
65
+ version: z.string().optional(),
66
+ postversion: z.string().optional(),
67
+ pretest: z.string().optional(),
68
+ test: z.string().optional(),
69
+ posttest: z.string().optional(),
70
+ prestop: z.string().optional(),
71
+ stop: z.string().optional(),
72
+ poststop: z.string().optional(),
73
+ prestart: z.string().optional(),
74
+ start: z.string().optional(),
75
+ poststart: z.string().optional(),
76
+ prerestart: z.string().optional(),
77
+ restart: z.string().optional(),
78
+ postrestart: z.string().optional()
79
+ }));
80
+ const packageJsonDependenciesSchema = z.record(z.string());
81
+ const packageJsonExportConditionSchema = z.union([
82
+ z.enum([
83
+ 'browser',
84
+ 'default',
85
+ 'deno',
86
+ 'development',
87
+ 'electron',
88
+ 'import',
89
+ 'node',
90
+ 'production',
91
+ 'react-native',
92
+ 'require'
93
+ ]),
94
+ z.string()
95
+ ]);
96
+ const packageJsonExportsSchema = z.lazy(()=>z.union([
97
+ z.string().array(),
98
+ z.string(),
99
+ z.object({
100
+ browser: z.union([
101
+ packageJsonExportsSchema,
102
+ z.null()
103
+ ]).optional(),
104
+ default: z.union([
105
+ packageJsonExportsSchema,
106
+ z.null()
107
+ ]).optional(),
108
+ deno: z.union([
109
+ packageJsonExportsSchema,
110
+ z.null()
111
+ ]).optional(),
112
+ development: z.union([
113
+ packageJsonExportsSchema,
114
+ z.null()
115
+ ]).optional(),
116
+ electron: z.union([
117
+ packageJsonExportsSchema,
118
+ z.null()
119
+ ]).optional(),
120
+ import: z.union([
121
+ packageJsonExportsSchema,
122
+ z.null()
123
+ ]).optional(),
124
+ node: z.union([
125
+ packageJsonExportsSchema,
126
+ z.null()
127
+ ]).optional(),
128
+ production: z.union([
129
+ packageJsonExportsSchema,
130
+ z.null()
131
+ ]).optional(),
132
+ 'react-native': z.union([
133
+ packageJsonExportsSchema,
134
+ z.null()
135
+ ]).optional(),
136
+ require: z.union([
137
+ packageJsonExportsSchema,
138
+ z.null()
139
+ ]).optional()
140
+ }),
141
+ z.record(z.union([
142
+ packageJsonExportsSchema,
143
+ z.null()
144
+ ]))
145
+ ]));
146
+ const packageJsonBundledDependenciesSchema = z.union([
147
+ z.string().array(),
148
+ z.boolean()
149
+ ]).optional();
150
+ export const packageJsonSchema = z.object({
151
+ name: z.string().optional(),
152
+ version: z.string().optional(),
153
+ description: z.string().optional(),
154
+ keywords: z.string().array().optional(),
155
+ homepage: z.string().optional(),
156
+ bugs: packageJsonBugsLocationSchema.optional(),
157
+ license: z.string().optional(),
158
+ author: packageJsonPersonSchema.optional(),
159
+ contributors: packageJsonPersonSchema.array().optional(),
160
+ maintainers: packageJsonPersonSchema.array().optional(),
161
+ files: z.string().array().optional(),
162
+ type: z.union([
163
+ z.literal('commonjs'),
164
+ z.literal('module')
165
+ ]).optional(),
166
+ main: z.string().optional(),
167
+ exports: packageJsonExportsSchema.optional(),
168
+ bin: z.union([
169
+ z.record(z.string()),
170
+ z.string()
171
+ ]).optional(),
172
+ man: z.union([
173
+ z.string().array(),
174
+ z.string()
175
+ ]).optional(),
176
+ directories: packageJsonDirectoryLocationsSchema.optional(),
177
+ repository: z.union([
178
+ z.object({
179
+ type: z.string(),
180
+ url: z.string(),
181
+ directory: z.string().optional()
182
+ }).strict(),
183
+ z.string()
184
+ ]).optional(),
185
+ scripts: packageJsonScriptsSchema.optional(),
186
+ config: z.record(z.unknown()).optional(),
187
+ dependencies: packageJsonDependenciesSchema.optional(),
188
+ devDependencies: packageJsonDependenciesSchema.optional(),
189
+ optionalDependencies: packageJsonDependenciesSchema.optional(),
190
+ peerDependencies: packageJsonDependenciesSchema.optional(),
191
+ peerDependenciesMeta: z.record(z.object({
192
+ optional: z.boolean()
193
+ })).optional(),
194
+ bundledDependencies: packageJsonBundledDependenciesSchema,
195
+ bundleDependencies: packageJsonBundledDependenciesSchema,
196
+ overrides: z.record(z.union([
197
+ z.string(),
198
+ z.record(z.union([
199
+ z.string(),
200
+ z.record(z.unknown())
201
+ ]))
202
+ ])).optional(),
203
+ funding: z.union([
204
+ packageJsonFundingSchema.array(),
205
+ packageJsonFundingSchema
206
+ ]).optional(),
207
+ module: z.string().optional(),
208
+ esnext: z.union([
209
+ z.string(),
210
+ z.record(z.string())
211
+ ]).optional(),
212
+ browser: z.union([
213
+ z.string(),
214
+ z.record(z.union([
215
+ z.string(),
216
+ z.literal(false)
217
+ ]))
218
+ ]).optional(),
219
+ sideEffects: z.union([
220
+ z.string().array(),
221
+ z.boolean()
222
+ ]).optional(),
223
+ engines: z.intersection(z.object({
224
+ node: z.string().optional(),
225
+ npm: z.string().optional()
226
+ }), z.record(z.string())).optional(),
227
+ os: z.union([
228
+ z.enum([
229
+ '!aix',
230
+ '!darwin',
231
+ '!freebsd',
232
+ '!linux',
233
+ '!openbsd',
234
+ '!sunos',
235
+ '!win32',
236
+ 'aix',
237
+ 'darwin',
238
+ 'freebsd',
239
+ 'linux',
240
+ 'openbsd',
241
+ 'sunos',
242
+ 'win32'
243
+ ]),
244
+ z.string()
245
+ ]).array().optional(),
246
+ cpu: z.union([
247
+ z.enum([
248
+ '!arm',
249
+ '!arm64',
250
+ '!ia32',
251
+ '!mips',
252
+ '!mipsel',
253
+ '!ppc',
254
+ '!ppc64',
255
+ '!s390',
256
+ '!s390x',
257
+ '!x32',
258
+ '!x64',
259
+ 'arm',
260
+ 'arm64',
261
+ 'ia32',
262
+ 'mips',
263
+ 'mipsel',
264
+ 'ppc',
265
+ 'ppc64',
266
+ 's390',
267
+ 's390x',
268
+ 'x32',
269
+ 'x64'
270
+ ]),
271
+ z.string()
272
+ ]).array().optional(),
273
+ private: z.boolean().optional(),
274
+ publishConfig: packageJsonPublishConfigSchema.optional(),
275
+ preferGlobal: z.boolean().optional(),
276
+ workspaces: z.union([
277
+ z.string().array(),
278
+ z.object({
279
+ packages: z.string().array().optional(),
280
+ nohoist: z.string().array().optional()
281
+ }).strict()
282
+ ]).optional(),
283
+ flat: z.boolean().optional(),
284
+ resolutions: packageJsonDependenciesSchema.optional(),
285
+ types: z.string().optional(),
286
+ typings: z.string().optional(),
287
+ // TODO: move following to separate schema
288
+ packageManager: z.string().optional(),
289
+ source: z.string().optional()
290
+ });
291
+
292
+ //# sourceMappingURL=PackageJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types/PackageJson.ts"],"sourcesContent":["import * as z from 'zod';\n\nconst packageJsonFundingSchema = z.union([\n z\n .object({\n type: z\n .union([\n z.enum([\n 'corporation',\n 'foundation',\n 'github',\n 'individual',\n 'opencollective',\n 'patreon',\n ]),\n z.string(),\n ])\n .optional(),\n url: z.string(),\n })\n .strict(),\n z.string(),\n]);\n\nconst packageJsonPublishConfigSchema = z.intersection(\n z.object({\n access: z.enum(['public', 'restricted']).optional(),\n registry: z.string().optional(),\n tag: z.string().optional(),\n }),\n z.record(z.unknown()),\n);\n\nconst packageJsonPersonSchema = z.union([\n z\n .object({\n name: z.string(),\n email: z.string().optional(),\n url: z.string().optional(),\n })\n .strict(),\n z.string(),\n]);\n\nconst packageJsonBugsLocationSchema = z.union([\n z\n .object({\n email: z.string().optional(),\n url: z.string().optional(),\n })\n .strict(),\n z.string(),\n]);\n\nconst packageJsonDirectoryLocationsSchema = z\n .object({\n bin: z.string().optional(),\n doc: z.string().optional(),\n example: z.string().optional(),\n lib: z.string().optional(),\n man: z.string().optional(),\n v: z.string().optional(),\n })\n .strict();\n\nconst packageJsonScriptsSchema = z.intersection(\n z.record(z.string()),\n z.object({\n prepublish: z.string().optional(),\n prepare: z.string().optional(),\n prepublishOnly: z.string().optional(),\n prepack: z.string().optional(),\n postpack: z.string().optional(),\n publish: z.string().optional(),\n postpublish: z.string().optional(),\n preinstall: z.string().optional(),\n install: z.string().optional(),\n postinstall: z.string().optional(),\n preuninstall: z.string().optional(),\n uninstall: z.string().optional(),\n postuninstall: z.string().optional(),\n preversion: z.string().optional(),\n version: z.string().optional(),\n postversion: z.string().optional(),\n pretest: z.string().optional(),\n test: z.string().optional(),\n posttest: z.string().optional(),\n prestop: z.string().optional(),\n stop: z.string().optional(),\n poststop: z.string().optional(),\n prestart: z.string().optional(),\n start: z.string().optional(),\n poststart: z.string().optional(),\n prerestart: z.string().optional(),\n restart: z.string().optional(),\n postrestart: z.string().optional(),\n }),\n);\n\nconst packageJsonDependenciesSchema = z.record(z.string());\n\nconst packageJsonExportConditionSchema = z.union([\n z.enum([\n 'browser',\n 'default',\n 'deno',\n 'development',\n 'electron',\n 'import',\n 'node',\n 'production',\n 'react-native',\n 'require',\n ]),\n z.string(),\n]);\n\ntype PackageJsonExportCondition = z.infer<typeof packageJsonExportConditionSchema>;\n\nconst packageJsonExportsSchema: z.ZodSchema<PackageJsonExports> = z.lazy(() =>\n z.union([\n z.string().array(),\n z.string(),\n z.object({\n browser: z.union([packageJsonExportsSchema, z.null()]).optional(),\n default: z.union([packageJsonExportsSchema, z.null()]).optional(),\n deno: z.union([packageJsonExportsSchema, z.null()]).optional(),\n development: z.union([packageJsonExportsSchema, z.null()]).optional(),\n electron: z.union([packageJsonExportsSchema, z.null()]).optional(),\n import: z.union([packageJsonExportsSchema, z.null()]).optional(),\n node: z.union([packageJsonExportsSchema, z.null()]).optional(),\n production: z.union([packageJsonExportsSchema, z.null()]).optional(),\n 'react-native': z.union([packageJsonExportsSchema, z.null()]).optional(),\n require: z.union([packageJsonExportsSchema, z.null()]).optional(),\n }),\n z.record(z.union([packageJsonExportsSchema, z.null()])),\n ]),\n);\n\nconst packageJsonBundledDependenciesSchema = z.union([z.string().array(), z.boolean()]).optional();\n\ntype PackageJsonExports =\n | string[]\n | string\n | {\n [key in PackageJsonExportCondition]?: PackageJsonExports | null;\n }\n | {[key: string]: PackageJsonExports | null | undefined};\n\nexport const packageJsonSchema = z.object({\n name: z.string().optional(),\n version: z.string().optional(),\n description: z.string().optional(),\n keywords: z.string().array().optional(),\n homepage: z.string().optional(),\n bugs: packageJsonBugsLocationSchema.optional(),\n license: z.string().optional(),\n author: packageJsonPersonSchema.optional(),\n contributors: packageJsonPersonSchema.array().optional(),\n maintainers: packageJsonPersonSchema.array().optional(),\n files: z.string().array().optional(),\n type: z.union([z.literal('commonjs'), z.literal('module')]).optional(),\n main: z.string().optional(),\n exports: packageJsonExportsSchema.optional(),\n bin: z.union([z.record(z.string()), z.string()]).optional(),\n man: z.union([z.string().array(), z.string()]).optional(),\n directories: packageJsonDirectoryLocationsSchema.optional(),\n repository: z\n .union([\n z\n .object({\n type: z.string(),\n url: z.string(),\n directory: z.string().optional(),\n })\n .strict(),\n z.string(),\n ])\n .optional(),\n scripts: packageJsonScriptsSchema.optional(),\n config: z.record(z.unknown()).optional(),\n dependencies: packageJsonDependenciesSchema.optional(),\n devDependencies: packageJsonDependenciesSchema.optional(),\n optionalDependencies: packageJsonDependenciesSchema.optional(),\n peerDependencies: packageJsonDependenciesSchema.optional(),\n peerDependenciesMeta: z\n .record(\n z.object({\n optional: z.boolean(),\n }),\n )\n .optional(),\n bundledDependencies: packageJsonBundledDependenciesSchema,\n bundleDependencies: packageJsonBundledDependenciesSchema,\n overrides: z\n .record(z.union([z.string(), z.record(z.union([z.string(), z.record(z.unknown())]))]))\n .optional(),\n\n funding: z.union([packageJsonFundingSchema.array(), packageJsonFundingSchema]).optional(),\n\n module: z.string().optional(),\n esnext: z.union([z.string(), z.record(z.string())]).optional(),\n browser: z.union([z.string(), z.record(z.union([z.string(), z.literal(false)]))]).optional(),\n sideEffects: z.union([z.string().array(), z.boolean()]).optional(),\n\n engines: z\n .intersection(\n z.object({\n node: z.string().optional(),\n npm: z.string().optional(),\n }),\n z.record(z.string()),\n )\n .optional(),\n\n os: z\n .union([\n z.enum([\n '!aix',\n '!darwin',\n '!freebsd',\n '!linux',\n '!openbsd',\n '!sunos',\n '!win32',\n 'aix',\n 'darwin',\n 'freebsd',\n 'linux',\n 'openbsd',\n 'sunos',\n 'win32',\n ]),\n z.string(),\n ])\n .array()\n .optional(),\n cpu: z\n .union([\n z.enum([\n '!arm',\n '!arm64',\n '!ia32',\n '!mips',\n '!mipsel',\n '!ppc',\n '!ppc64',\n '!s390',\n '!s390x',\n '!x32',\n '!x64',\n 'arm',\n 'arm64',\n 'ia32',\n 'mips',\n 'mipsel',\n 'ppc',\n 'ppc64',\n 's390',\n 's390x',\n 'x32',\n 'x64',\n ]),\n z.string(),\n ])\n .array()\n .optional(),\n private: z.boolean().optional(),\n publishConfig: packageJsonPublishConfigSchema.optional(),\n preferGlobal: z.boolean().optional(),\n\n workspaces: z\n .union([\n z.string().array(),\n z\n .object({\n packages: z.string().array().optional(),\n nohoist: z.string().array().optional(),\n })\n .strict(),\n ])\n .optional(),\n flat: z.boolean().optional(),\n resolutions: packageJsonDependenciesSchema.optional(),\n\n types: z.string().optional(),\n typings: z.string().optional(),\n\n // TODO: move following to separate schema\n packageManager: z.string().optional(),\n source: z.string().optional(),\n});\n\nexport type PackageJson = z.infer<typeof packageJsonSchema>;\n"],"names":["z","packageJsonFundingSchema","union","object","type","enum","string","optional","url","strict","packageJsonPublishConfigSchema","intersection","access","registry","tag","record","unknown","packageJsonPersonSchema","name","email","packageJsonBugsLocationSchema","packageJsonDirectoryLocationsSchema","bin","doc","example","lib","man","v","packageJsonScriptsSchema","prepublish","prepare","prepublishOnly","prepack","postpack","publish","postpublish","preinstall","install","postinstall","preuninstall","uninstall","postuninstall","preversion","version","postversion","pretest","test","posttest","prestop","stop","poststop","prestart","start","poststart","prerestart","restart","postrestart","packageJsonDependenciesSchema","packageJsonExportConditionSchema","packageJsonExportsSchema","lazy","array","browser","null","default","deno","development","electron","import","node","production","require","packageJsonBundledDependenciesSchema","boolean","packageJsonSchema","description","keywords","homepage","bugs","license","author","contributors","maintainers","files","literal","main","exports","directories","repository","directory","scripts","config","dependencies","devDependencies","optionalDependencies","peerDependencies","peerDependenciesMeta","bundledDependencies","bundleDependencies","overrides","funding","module","esnext","sideEffects","engines","npm","os","cpu","private","publishConfig","preferGlobal","workspaces","packages","nohoist","flat","resolutions","types","typings","packageManager","source"],"mappings":"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"}