@jakubmazanec/zod-utils 3.0.2-next.fac374fa → 3.0.2-unstable.2468857d

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.
package/build/main.js CHANGED
@@ -1,4 +1,11 @@
1
- "use strict";
2
- export * from "./types.js";
3
- export * from "./utils.js";
4
- //# sourceMappingURL=main.js.map
1
+ import { jsonSchema } from "./types/Json.js";
2
+ import { packageJsonSchema } from "./types/PackageJson.js";
3
+ import { tsconfigJsonSchema } from "./types/TsconfigJson.js";
4
+ import { is } from "./utils/is.js";
5
+ import { isPackageJson } from "./utils/isPackageJson.js";
6
+ import { isTsconfigJson } from "./utils/isTsconfigJson.js";
7
+ import { readFile } from "./utils/readFile.js";
8
+ import { readJson } from "./utils/readJson.js";
9
+ import { readPackageJson } from "./utils/readPackageJson.js";
10
+
11
+ export { is, isPackageJson, isTsconfigJson, jsonSchema, packageJsonSchema, readFile, readJson, readPackageJson, tsconfigJsonSchema };
@@ -1,7 +1,17 @@
1
- "use strict";
2
1
  import * as z from "zod";
3
- const literalSchema = z.union([z.string(), z.number(), z.boolean(), z.null()]);
4
- export const jsonSchema = z.lazy(
5
- () => z.union([literalSchema, z.array(jsonSchema), z.record(z.string(), jsonSchema)])
6
- );
7
- //# sourceMappingURL=Json.js.map
2
+
3
+ //#region source/types/Json.ts
4
+ const literalSchema = z.union([
5
+ z.string(),
6
+ z.number(),
7
+ z.boolean(),
8
+ z.null()
9
+ ]);
10
+ const jsonSchema = z.lazy(() => z.union([
11
+ literalSchema,
12
+ z.array(jsonSchema),
13
+ z.record(z.string(), jsonSchema)
14
+ ]));
15
+
16
+ //#endregion
17
+ export { jsonSchema };
@@ -1,243 +1,196 @@
1
- "use strict";
2
1
  import * as z from "zod";
3
- const packageJsonFundingSchema = z.union([
4
- z.object({
5
- type: z.union([
6
- z.enum([
7
- "corporation",
8
- "foundation",
9
- "github",
10
- "individual",
11
- "opencollective",
12
- "patreon"
13
- ]),
14
- z.string()
15
- ]).optional(),
16
- url: z.string()
17
- }).strict(),
18
- z.string()
19
- ]);
20
- const packageJsonPublishConfigSchema = z.intersection(
21
- z.object({
22
- access: z.enum(["public", "restricted"]).optional(),
23
- registry: z.string().optional(),
24
- tag: z.string().optional()
25
- }),
26
- z.record(z.string(), z.unknown())
27
- );
28
- const packageJsonPersonSchema = z.union([
29
- z.object({
30
- name: z.string(),
31
- email: z.string().optional(),
32
- url: z.string().optional()
33
- }).strict(),
34
- z.string()
35
- ]);
36
- const packageJsonBugsLocationSchema = z.union([
37
- z.object({
38
- email: z.string().optional(),
39
- url: z.string().optional()
40
- }).strict(),
41
- z.string()
42
- ]);
2
+
3
+ //#region source/types/PackageJson.ts
4
+ const packageJsonFundingSchema = z.union([z.object({
5
+ type: z.union([z.enum([
6
+ "corporation",
7
+ "foundation",
8
+ "github",
9
+ "individual",
10
+ "opencollective",
11
+ "patreon"
12
+ ]), z.string()]).optional(),
13
+ url: z.string()
14
+ }).strict(), z.string()]);
15
+ const packageJsonPublishConfigSchema = z.intersection(z.object({
16
+ access: z.enum(["public", "restricted"]).optional(),
17
+ registry: z.string().optional(),
18
+ tag: z.string().optional()
19
+ }), z.record(z.string(), z.unknown()));
20
+ const packageJsonPersonSchema = z.union([z.object({
21
+ name: z.string(),
22
+ email: z.string().optional(),
23
+ url: z.string().optional()
24
+ }).strict(), z.string()]);
25
+ const packageJsonBugsLocationSchema = z.union([z.object({
26
+ email: z.string().optional(),
27
+ url: z.string().optional()
28
+ }).strict(), z.string()]);
43
29
  const packageJsonDirectoryLocationsSchema = z.object({
44
- bin: z.string().optional(),
45
- doc: z.string().optional(),
46
- example: z.string().optional(),
47
- lib: z.string().optional(),
48
- man: z.string().optional(),
49
- v: z.string().optional()
30
+ bin: z.string().optional(),
31
+ doc: z.string().optional(),
32
+ example: z.string().optional(),
33
+ lib: z.string().optional(),
34
+ man: z.string().optional(),
35
+ v: z.string().optional()
50
36
  }).strict();
51
- const packageJsonScriptsSchema = z.intersection(
52
- z.record(z.string(), z.string()),
53
- z.object({
54
- prepublish: z.string().optional(),
55
- prepare: z.string().optional(),
56
- prepublishOnly: z.string().optional(),
57
- prepack: z.string().optional(),
58
- postpack: z.string().optional(),
59
- publish: z.string().optional(),
60
- postpublish: z.string().optional(),
61
- preinstall: z.string().optional(),
62
- install: z.string().optional(),
63
- postinstall: z.string().optional(),
64
- preuninstall: z.string().optional(),
65
- uninstall: z.string().optional(),
66
- postuninstall: z.string().optional(),
67
- preversion: z.string().optional(),
68
- version: z.string().optional(),
69
- postversion: z.string().optional(),
70
- pretest: z.string().optional(),
71
- test: z.string().optional(),
72
- posttest: z.string().optional(),
73
- prestop: z.string().optional(),
74
- stop: z.string().optional(),
75
- poststop: z.string().optional(),
76
- prestart: z.string().optional(),
77
- start: z.string().optional(),
78
- poststart: z.string().optional(),
79
- prerestart: z.string().optional(),
80
- restart: z.string().optional(),
81
- postrestart: z.string().optional()
82
- })
83
- );
37
+ const packageJsonScriptsSchema = z.intersection(z.record(z.string(), z.string()), z.object({
38
+ prepublish: z.string().optional(),
39
+ prepare: z.string().optional(),
40
+ prepublishOnly: z.string().optional(),
41
+ prepack: z.string().optional(),
42
+ postpack: z.string().optional(),
43
+ publish: z.string().optional(),
44
+ postpublish: z.string().optional(),
45
+ preinstall: z.string().optional(),
46
+ install: z.string().optional(),
47
+ postinstall: z.string().optional(),
48
+ preuninstall: z.string().optional(),
49
+ uninstall: z.string().optional(),
50
+ postuninstall: z.string().optional(),
51
+ preversion: z.string().optional(),
52
+ version: z.string().optional(),
53
+ postversion: z.string().optional(),
54
+ pretest: z.string().optional(),
55
+ test: z.string().optional(),
56
+ posttest: z.string().optional(),
57
+ prestop: z.string().optional(),
58
+ stop: z.string().optional(),
59
+ poststop: z.string().optional(),
60
+ prestart: z.string().optional(),
61
+ start: z.string().optional(),
62
+ poststart: z.string().optional(),
63
+ prerestart: z.string().optional(),
64
+ restart: z.string().optional(),
65
+ postrestart: z.string().optional()
66
+ }));
84
67
  const packageJsonDependenciesSchema = z.record(z.string(), z.string());
85
- const packageJsonExportConditionSchema = z.union([
86
- z.enum([
87
- "browser",
88
- "default",
89
- "deno",
90
- "development",
91
- "electron",
92
- "import",
93
- "node",
94
- "production",
95
- "react-native",
96
- "require"
97
- ]),
98
- z.string()
99
- ]);
100
- const packageJsonExportsSchema = z.lazy(
101
- () => z.union([
102
- z.string().array(),
103
- z.string(),
104
- z.object({
105
- browser: z.union([packageJsonExportsSchema, z.null()]).optional(),
106
- default: z.union([packageJsonExportsSchema, z.null()]).optional(),
107
- deno: z.union([packageJsonExportsSchema, z.null()]).optional(),
108
- development: z.union([packageJsonExportsSchema, z.null()]).optional(),
109
- electron: z.union([packageJsonExportsSchema, z.null()]).optional(),
110
- import: z.union([packageJsonExportsSchema, z.null()]).optional(),
111
- node: z.union([packageJsonExportsSchema, z.null()]).optional(),
112
- production: z.union([packageJsonExportsSchema, z.null()]).optional(),
113
- "react-native": z.union([packageJsonExportsSchema, z.null()]).optional(),
114
- require: z.union([packageJsonExportsSchema, z.null()]).optional()
115
- }),
116
- z.record(z.string(), z.union([packageJsonExportsSchema, z.null()]))
117
- ])
118
- );
68
+ z.union([z.enum([
69
+ "browser",
70
+ "default",
71
+ "deno",
72
+ "development",
73
+ "electron",
74
+ "import",
75
+ "node",
76
+ "production",
77
+ "react-native",
78
+ "require"
79
+ ]), z.string()]);
80
+ const packageJsonExportsSchema = z.lazy(() => z.union([
81
+ z.string().array(),
82
+ z.string(),
83
+ z.object({
84
+ browser: z.union([packageJsonExportsSchema, z.null()]).optional(),
85
+ default: z.union([packageJsonExportsSchema, z.null()]).optional(),
86
+ deno: z.union([packageJsonExportsSchema, z.null()]).optional(),
87
+ development: z.union([packageJsonExportsSchema, z.null()]).optional(),
88
+ electron: z.union([packageJsonExportsSchema, z.null()]).optional(),
89
+ import: z.union([packageJsonExportsSchema, z.null()]).optional(),
90
+ node: z.union([packageJsonExportsSchema, z.null()]).optional(),
91
+ production: z.union([packageJsonExportsSchema, z.null()]).optional(),
92
+ "react-native": z.union([packageJsonExportsSchema, z.null()]).optional(),
93
+ require: z.union([packageJsonExportsSchema, z.null()]).optional()
94
+ }),
95
+ z.record(z.string(), z.union([packageJsonExportsSchema, z.null()]))
96
+ ]));
119
97
  const packageJsonBundledDependenciesSchema = z.union([z.string().array(), z.boolean()]).optional();
120
- export const packageJsonSchema = z.object({
121
- name: z.string().optional(),
122
- version: z.string().optional(),
123
- description: z.string().optional(),
124
- keywords: z.string().array().optional(),
125
- homepage: z.string().optional(),
126
- bugs: packageJsonBugsLocationSchema.optional(),
127
- license: z.string().optional(),
128
- author: packageJsonPersonSchema.optional(),
129
- contributors: packageJsonPersonSchema.array().optional(),
130
- maintainers: packageJsonPersonSchema.array().optional(),
131
- files: z.string().array().optional(),
132
- type: z.union([z.literal("commonjs"), z.literal("module")]).optional(),
133
- main: z.string().optional(),
134
- exports: packageJsonExportsSchema.optional(),
135
- bin: z.union([z.record(z.string(), z.string()), z.string()]).optional(),
136
- man: z.union([z.string().array(), z.string()]).optional(),
137
- directories: packageJsonDirectoryLocationsSchema.optional(),
138
- repository: z.union([
139
- z.object({
140
- type: z.string(),
141
- url: z.string(),
142
- directory: z.string().optional()
143
- }).strict(),
144
- z.string()
145
- ]).optional(),
146
- scripts: packageJsonScriptsSchema.optional(),
147
- config: z.record(z.string(), z.unknown()).optional(),
148
- dependencies: packageJsonDependenciesSchema.optional(),
149
- devDependencies: packageJsonDependenciesSchema.optional(),
150
- optionalDependencies: packageJsonDependenciesSchema.optional(),
151
- peerDependencies: packageJsonDependenciesSchema.optional(),
152
- peerDependenciesMeta: z.record(
153
- z.string(),
154
- z.object({
155
- optional: z.boolean()
156
- })
157
- ).optional(),
158
- bundledDependencies: packageJsonBundledDependenciesSchema,
159
- bundleDependencies: packageJsonBundledDependenciesSchema,
160
- overrides: z.record(
161
- z.string(),
162
- z.union([
163
- z.string(),
164
- z.record(z.string(), z.union([z.string(), z.record(z.string(), z.unknown())]))
165
- ])
166
- ).optional(),
167
- funding: z.union([packageJsonFundingSchema.array(), packageJsonFundingSchema]).optional(),
168
- module: z.string().optional(),
169
- esnext: z.union([z.string(), z.record(z.string(), z.string())]).optional(),
170
- browser: z.union([z.string(), z.record(z.string(), z.union([z.string(), z.literal(false)]))]).optional(),
171
- sideEffects: z.union([z.string().array(), z.boolean()]).optional(),
172
- engines: z.intersection(
173
- z.object({
174
- node: z.string().optional(),
175
- npm: z.string().optional()
176
- }),
177
- z.record(z.string(), z.string())
178
- ).optional(),
179
- os: z.union([
180
- z.enum([
181
- "!aix",
182
- "!darwin",
183
- "!freebsd",
184
- "!linux",
185
- "!openbsd",
186
- "!sunos",
187
- "!win32",
188
- "aix",
189
- "darwin",
190
- "freebsd",
191
- "linux",
192
- "openbsd",
193
- "sunos",
194
- "win32"
195
- ]),
196
- z.string()
197
- ]).array().optional(),
198
- cpu: z.union([
199
- z.enum([
200
- "!arm",
201
- "!arm64",
202
- "!ia32",
203
- "!mips",
204
- "!mipsel",
205
- "!ppc",
206
- "!ppc64",
207
- "!s390",
208
- "!s390x",
209
- "!x32",
210
- "!x64",
211
- "arm",
212
- "arm64",
213
- "ia32",
214
- "mips",
215
- "mipsel",
216
- "ppc",
217
- "ppc64",
218
- "s390",
219
- "s390x",
220
- "x32",
221
- "x64"
222
- ]),
223
- z.string()
224
- ]).array().optional(),
225
- private: z.boolean().optional(),
226
- publishConfig: packageJsonPublishConfigSchema.optional(),
227
- preferGlobal: z.boolean().optional(),
228
- workspaces: z.union([
229
- z.string().array(),
230
- z.object({
231
- packages: z.string().array().optional(),
232
- nohoist: z.string().array().optional()
233
- }).strict()
234
- ]).optional(),
235
- flat: z.boolean().optional(),
236
- resolutions: packageJsonDependenciesSchema.optional(),
237
- types: z.string().optional(),
238
- typings: z.string().optional(),
239
- // TODO: move following to separate schema
240
- packageManager: z.string().optional(),
241
- source: z.string().optional()
98
+ const packageJsonSchema = z.object({
99
+ name: z.string().optional(),
100
+ version: z.string().optional(),
101
+ description: z.string().optional(),
102
+ keywords: z.string().array().optional(),
103
+ homepage: z.string().optional(),
104
+ bugs: packageJsonBugsLocationSchema.optional(),
105
+ license: z.string().optional(),
106
+ author: packageJsonPersonSchema.optional(),
107
+ contributors: packageJsonPersonSchema.array().optional(),
108
+ maintainers: packageJsonPersonSchema.array().optional(),
109
+ files: z.string().array().optional(),
110
+ type: z.union([z.literal("commonjs"), z.literal("module")]).optional(),
111
+ main: z.string().optional(),
112
+ exports: packageJsonExportsSchema.optional(),
113
+ bin: z.union([z.record(z.string(), z.string()), z.string()]).optional(),
114
+ man: z.union([z.string().array(), z.string()]).optional(),
115
+ directories: packageJsonDirectoryLocationsSchema.optional(),
116
+ repository: z.union([z.object({
117
+ type: z.string(),
118
+ url: z.string(),
119
+ directory: z.string().optional()
120
+ }).strict(), z.string()]).optional(),
121
+ scripts: packageJsonScriptsSchema.optional(),
122
+ config: z.record(z.string(), z.unknown()).optional(),
123
+ dependencies: packageJsonDependenciesSchema.optional(),
124
+ devDependencies: packageJsonDependenciesSchema.optional(),
125
+ optionalDependencies: packageJsonDependenciesSchema.optional(),
126
+ peerDependencies: packageJsonDependenciesSchema.optional(),
127
+ peerDependenciesMeta: z.record(z.string(), z.object({ optional: z.boolean() })).optional(),
128
+ bundledDependencies: packageJsonBundledDependenciesSchema,
129
+ bundleDependencies: packageJsonBundledDependenciesSchema,
130
+ overrides: z.record(z.string(), z.union([z.string(), z.record(z.string(), z.union([z.string(), z.record(z.string(), z.unknown())]))])).optional(),
131
+ funding: z.union([packageJsonFundingSchema.array(), packageJsonFundingSchema]).optional(),
132
+ module: z.string().optional(),
133
+ esnext: z.union([z.string(), z.record(z.string(), z.string())]).optional(),
134
+ browser: z.union([z.string(), z.record(z.string(), z.union([z.string(), z.literal(false)]))]).optional(),
135
+ sideEffects: z.union([z.string().array(), z.boolean()]).optional(),
136
+ engines: z.intersection(z.object({
137
+ node: z.string().optional(),
138
+ npm: z.string().optional()
139
+ }), z.record(z.string(), z.string())).optional(),
140
+ os: z.union([z.enum([
141
+ "!aix",
142
+ "!darwin",
143
+ "!freebsd",
144
+ "!linux",
145
+ "!openbsd",
146
+ "!sunos",
147
+ "!win32",
148
+ "aix",
149
+ "darwin",
150
+ "freebsd",
151
+ "linux",
152
+ "openbsd",
153
+ "sunos",
154
+ "win32"
155
+ ]), z.string()]).array().optional(),
156
+ cpu: z.union([z.enum([
157
+ "!arm",
158
+ "!arm64",
159
+ "!ia32",
160
+ "!mips",
161
+ "!mipsel",
162
+ "!ppc",
163
+ "!ppc64",
164
+ "!s390",
165
+ "!s390x",
166
+ "!x32",
167
+ "!x64",
168
+ "arm",
169
+ "arm64",
170
+ "ia32",
171
+ "mips",
172
+ "mipsel",
173
+ "ppc",
174
+ "ppc64",
175
+ "s390",
176
+ "s390x",
177
+ "x32",
178
+ "x64"
179
+ ]), z.string()]).array().optional(),
180
+ private: z.boolean().optional(),
181
+ publishConfig: packageJsonPublishConfigSchema.optional(),
182
+ preferGlobal: z.boolean().optional(),
183
+ workspaces: z.union([z.string().array(), z.object({
184
+ packages: z.string().array().optional(),
185
+ nohoist: z.string().array().optional()
186
+ }).strict()]).optional(),
187
+ flat: z.boolean().optional(),
188
+ resolutions: packageJsonDependenciesSchema.optional(),
189
+ types: z.string().optional(),
190
+ typings: z.string().optional(),
191
+ packageManager: z.string().optional(),
192
+ source: z.string().optional()
242
193
  });
243
- //# sourceMappingURL=PackageJson.js.map
194
+
195
+ //#endregion
196
+ export { packageJsonSchema };