@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.
- package/LICENSE.md +840 -0
- package/README.md +38 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.js +4 -0
- package/dist/main.js.map +1 -0
- package/dist/types/Json.d.ts +8 -0
- package/dist/types/Json.js +14 -0
- package/dist/types/Json.js.map +1 -0
- package/dist/types/PackageJson.d.ts +517 -0
- package/dist/types/PackageJson.js +292 -0
- package/dist/types/PackageJson.js.map +1 -0
- package/dist/types/TsconfigJson.d.ts +609 -0
- package/dist/types/TsconfigJson.js +338 -0
- package/dist/types/TsconfigJson.js.map +1 -0
- package/dist/types.d.ts +3 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/is.d.ts +2 -0
- package/dist/utils/is.js +5 -0
- package/dist/utils/is.js.map +1 -0
- package/dist/utils/isPackageJson.d.ts +2 -0
- package/dist/utils/isPackageJson.js +6 -0
- package/dist/utils/isPackageJson.js.map +1 -0
- package/dist/utils/isTsconfigJson.d.ts +2 -0
- package/dist/utils/isTsconfigJson.js +6 -0
- package/dist/utils/isTsconfigJson.js.map +1 -0
- package/dist/utils/readFile.d.ts +11 -0
- package/dist/utils/readFile.js +16 -0
- package/dist/utils/readFile.js.map +1 -0
- package/dist/utils/readJson.d.ts +10 -0
- package/dist/utils/readJson.js +7 -0
- package/dist/utils/readJson.js.map +1 -0
- package/dist/utils/readPackageJson.d.ts +11 -0
- package/dist/utils/readPackageJson.js +7 -0
- package/dist/utils/readPackageJson.js.map +1 -0
- package/dist/utils/zodIssuesToString.d.ts +2 -0
- package/dist/utils/zodIssuesToString.js +30 -0
- package/dist/utils/zodIssuesToString.js.map +1 -0
- package/dist/utils.d.ts +7 -0
- package/dist/utils.js +9 -0
- package/dist/utils.js.map +1 -0
- package/package.json +43 -0
- package/src/main.ts +2 -0
- package/src/types/Json.ts +11 -0
- package/src/types/PackageJson.ts +294 -0
- package/src/types/TsconfigJson.ts +346 -0
- package/src/types.ts +3 -0
- package/src/utils/is.ts +5 -0
- package/src/utils/isPackageJson.ts +5 -0
- package/src/utils/isTsconfigJson.ts +5 -0
- package/src/utils/readFile.ts +40 -0
- package/src/utils/readJson.ts +31 -0
- package/src/utils/readPackageJson.ts +26 -0
- package/src/utils/zodIssuesToString.ts +52 -0
- package/src/utils.ts +7 -0
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
let jsxSchema = z.enum([
|
|
3
|
+
'preserve',
|
|
4
|
+
'react',
|
|
5
|
+
'react-jsx',
|
|
6
|
+
'react-jsxdev',
|
|
7
|
+
'react-native'
|
|
8
|
+
]);
|
|
9
|
+
let moduleSchema = z.enum([
|
|
10
|
+
'CommonJS',
|
|
11
|
+
'AMD',
|
|
12
|
+
'System',
|
|
13
|
+
'UMD',
|
|
14
|
+
'ES6',
|
|
15
|
+
'ES2015',
|
|
16
|
+
'ES2020',
|
|
17
|
+
'ESNext',
|
|
18
|
+
'None',
|
|
19
|
+
'commonjs',
|
|
20
|
+
'amd',
|
|
21
|
+
'system',
|
|
22
|
+
'umd',
|
|
23
|
+
'es6',
|
|
24
|
+
'es2015',
|
|
25
|
+
'es2020',
|
|
26
|
+
'esnext',
|
|
27
|
+
'none'
|
|
28
|
+
]);
|
|
29
|
+
let newLineSchema = z.enum([
|
|
30
|
+
'CRLF',
|
|
31
|
+
'LF',
|
|
32
|
+
'crlf',
|
|
33
|
+
'lf'
|
|
34
|
+
]);
|
|
35
|
+
let targetSchema = z.enum([
|
|
36
|
+
'ES3',
|
|
37
|
+
'ES5',
|
|
38
|
+
'ES6',
|
|
39
|
+
'ES2015',
|
|
40
|
+
'ES2016',
|
|
41
|
+
'ES2017',
|
|
42
|
+
'ES2018',
|
|
43
|
+
'ES2019',
|
|
44
|
+
'ES2020',
|
|
45
|
+
'ES2021',
|
|
46
|
+
'ESNext',
|
|
47
|
+
'es3',
|
|
48
|
+
'es5',
|
|
49
|
+
'es6',
|
|
50
|
+
'es2015',
|
|
51
|
+
'es2016',
|
|
52
|
+
'es2017',
|
|
53
|
+
'es2018',
|
|
54
|
+
'es2019',
|
|
55
|
+
'es2020',
|
|
56
|
+
'es2021',
|
|
57
|
+
'esnext'
|
|
58
|
+
]);
|
|
59
|
+
let libSchema = z.enum([
|
|
60
|
+
'ES5',
|
|
61
|
+
'ES6',
|
|
62
|
+
'ES7',
|
|
63
|
+
'ES2015',
|
|
64
|
+
'ES2015.Collection',
|
|
65
|
+
'ES2015.Core',
|
|
66
|
+
'ES2015.Generator',
|
|
67
|
+
'ES2015.Iterable',
|
|
68
|
+
'ES2015.Promise',
|
|
69
|
+
'ES2015.Proxy',
|
|
70
|
+
'ES2015.Reflect',
|
|
71
|
+
'ES2015.Symbol.WellKnown',
|
|
72
|
+
'ES2015.Symbol',
|
|
73
|
+
'ES2016',
|
|
74
|
+
'ES2016.Array.Include',
|
|
75
|
+
'ES2017',
|
|
76
|
+
'ES2017.Intl',
|
|
77
|
+
'ES2017.Object',
|
|
78
|
+
'ES2017.SharedMemory',
|
|
79
|
+
'ES2017.String',
|
|
80
|
+
'ES2017.TypedArrays',
|
|
81
|
+
'ES2018',
|
|
82
|
+
'ES2018.AsyncGenerator',
|
|
83
|
+
'ES2018.AsyncIterable',
|
|
84
|
+
'ES2018.Intl',
|
|
85
|
+
'ES2018.Promise',
|
|
86
|
+
'ES2018.Regexp',
|
|
87
|
+
'ES2019',
|
|
88
|
+
'ES2019.Array',
|
|
89
|
+
'ES2019.Object',
|
|
90
|
+
'ES2019.String',
|
|
91
|
+
'ES2019.Symbol',
|
|
92
|
+
'ES2020',
|
|
93
|
+
'ES2020.BigInt',
|
|
94
|
+
'ES2020.Promise',
|
|
95
|
+
'ES2020.String',
|
|
96
|
+
'ES2020.Symbol.WellKnown',
|
|
97
|
+
'ES2020.SharedMemory',
|
|
98
|
+
'ES2020.Intl',
|
|
99
|
+
'ES2021',
|
|
100
|
+
'ES2021.Promise',
|
|
101
|
+
'ES2021.String',
|
|
102
|
+
'ES2021.WeakRef',
|
|
103
|
+
'ESNext',
|
|
104
|
+
'ESNext.Array',
|
|
105
|
+
'ESNext.AsyncIterable',
|
|
106
|
+
'ESNext.BigInt',
|
|
107
|
+
'ESNext.Intl',
|
|
108
|
+
'ESNext.Promise',
|
|
109
|
+
'ESNext.String',
|
|
110
|
+
'ESNext.Symbol',
|
|
111
|
+
'ESNext.WeakRef',
|
|
112
|
+
'DOM',
|
|
113
|
+
'DOM.Iterable',
|
|
114
|
+
'ScriptHost',
|
|
115
|
+
'WebWorker',
|
|
116
|
+
'WebWorker.ImportScripts',
|
|
117
|
+
'WebWorker.Iterable',
|
|
118
|
+
'es5',
|
|
119
|
+
'es6',
|
|
120
|
+
'es7',
|
|
121
|
+
'es2015',
|
|
122
|
+
'es2015.collection',
|
|
123
|
+
'es2015.core',
|
|
124
|
+
'es2015.generator',
|
|
125
|
+
'es2015.iterable',
|
|
126
|
+
'es2015.promise',
|
|
127
|
+
'es2015.proxy',
|
|
128
|
+
'es2015.reflect',
|
|
129
|
+
'es2015.symbol.wellknown',
|
|
130
|
+
'es2015.symbol',
|
|
131
|
+
'es2016',
|
|
132
|
+
'es2016.array.include',
|
|
133
|
+
'es2017',
|
|
134
|
+
'es2017.intl',
|
|
135
|
+
'es2017.object',
|
|
136
|
+
'es2017.sharedmemory',
|
|
137
|
+
'es2017.string',
|
|
138
|
+
'es2017.typedarrays',
|
|
139
|
+
'es2018',
|
|
140
|
+
'es2018.asyncgenerator',
|
|
141
|
+
'es2018.asynciterable',
|
|
142
|
+
'es2018.intl',
|
|
143
|
+
'es2018.promise',
|
|
144
|
+
'es2018.regexp',
|
|
145
|
+
'es2019',
|
|
146
|
+
'es2019.array',
|
|
147
|
+
'es2019.object',
|
|
148
|
+
'es2019.string',
|
|
149
|
+
'es2019.symbol',
|
|
150
|
+
'es2020',
|
|
151
|
+
'es2020.bigint',
|
|
152
|
+
'es2020.promise',
|
|
153
|
+
'es2020.string',
|
|
154
|
+
'es2020.symbol.wellknown',
|
|
155
|
+
'es2020.sharedmemory',
|
|
156
|
+
'es2020.intl',
|
|
157
|
+
'es2021',
|
|
158
|
+
'es2021.promise',
|
|
159
|
+
'es2021.string',
|
|
160
|
+
'es2021.weakref',
|
|
161
|
+
'esnext',
|
|
162
|
+
'esnext.array',
|
|
163
|
+
'esnext.asynciterable',
|
|
164
|
+
'esnext.bigint',
|
|
165
|
+
'esnext.intl',
|
|
166
|
+
'esnext.promise',
|
|
167
|
+
'esnext.string',
|
|
168
|
+
'esnext.symbol',
|
|
169
|
+
'esnext.weakref',
|
|
170
|
+
'dom',
|
|
171
|
+
'dom.iterable',
|
|
172
|
+
'scripthost',
|
|
173
|
+
'webworker',
|
|
174
|
+
'webworker.importscripts',
|
|
175
|
+
'webworker.iterable'
|
|
176
|
+
]);
|
|
177
|
+
let pluginSchema = z.object({
|
|
178
|
+
name: z.string().optional()
|
|
179
|
+
}).strict().and(z.record(z.unknown()));
|
|
180
|
+
let importsNotUsedAsValuesSchema = z.enum([
|
|
181
|
+
'remove',
|
|
182
|
+
'preserve',
|
|
183
|
+
'error'
|
|
184
|
+
]);
|
|
185
|
+
let fallbackPollingSchema = z.enum([
|
|
186
|
+
'fixedPollingInterval',
|
|
187
|
+
'priorityPollingInterval',
|
|
188
|
+
'dynamicPriorityPolling',
|
|
189
|
+
'fixedInterval',
|
|
190
|
+
'priorityInterval',
|
|
191
|
+
'dynamicPriority',
|
|
192
|
+
'fixedChunkSize'
|
|
193
|
+
]);
|
|
194
|
+
let watchDirectory = z.enum([
|
|
195
|
+
'useFsEvents',
|
|
196
|
+
'fixedPollingInterval',
|
|
197
|
+
'dynamicPriorityPolling',
|
|
198
|
+
'fixedChunkSizePolling'
|
|
199
|
+
]);
|
|
200
|
+
let watchFileSchema = z.enum([
|
|
201
|
+
'fixedPollingInterval',
|
|
202
|
+
'priorityPollingInterval',
|
|
203
|
+
'dynamicPriorityPolling',
|
|
204
|
+
'useFsEvents',
|
|
205
|
+
'useFsEventsOnParentDirectory',
|
|
206
|
+
'fixedChunkSizePolling'
|
|
207
|
+
]);
|
|
208
|
+
let compilerOptionsSchema = z.object({
|
|
209
|
+
allowJs: z.boolean().optional(),
|
|
210
|
+
allowSyntheticDefaultImports: z.boolean().optional(),
|
|
211
|
+
allowUmdGlobalAccess: z.boolean().optional(),
|
|
212
|
+
allowUnreachableCode: z.boolean().optional(),
|
|
213
|
+
allowUnusedLabels: z.boolean().optional(),
|
|
214
|
+
alwaysStrict: z.boolean().optional(),
|
|
215
|
+
assumeChangesOnlyAffectDirectDependencies: z.boolean().optional(),
|
|
216
|
+
baseUrl: z.string().optional(),
|
|
217
|
+
charset: z.string().optional(),
|
|
218
|
+
checkJs: z.boolean().optional(),
|
|
219
|
+
composite: z.boolean().optional(),
|
|
220
|
+
declaration: z.boolean().optional(),
|
|
221
|
+
declarationDir: z.string().optional(),
|
|
222
|
+
declarationMap: z.boolean().optional(),
|
|
223
|
+
diagnostics: z.boolean().optional(),
|
|
224
|
+
disableReferencedProjectLoad: z.boolean().optional(),
|
|
225
|
+
disableSizeLimit: z.boolean().optional(),
|
|
226
|
+
disableSolutionSearching: z.boolean().optional(),
|
|
227
|
+
disableSourceOfProjectReferenceRedirect: z.boolean().optional(),
|
|
228
|
+
downlevelIteration: z.boolean().optional(),
|
|
229
|
+
emitBOM: z.boolean().optional(),
|
|
230
|
+
emitDeclarationOnly: z.boolean().optional(),
|
|
231
|
+
emitDecoratorMetadata: z.boolean().optional(),
|
|
232
|
+
esModuleInterop: z.boolean().optional(),
|
|
233
|
+
exactOptionalPropertyTypes: z.boolean().optional(),
|
|
234
|
+
experimentalDecorators: z.boolean().optional(),
|
|
235
|
+
explainFiles: z.boolean().optional(),
|
|
236
|
+
extendedDiagnostics: z.boolean().optional(),
|
|
237
|
+
fallbackPolling: fallbackPollingSchema.optional(),
|
|
238
|
+
forceConsistentCasingInFileNames: z.boolean().optional(),
|
|
239
|
+
generateCpuProfile: z.string().optional(),
|
|
240
|
+
importHelpers: z.boolean().optional(),
|
|
241
|
+
importsNotUsedAsValues: importsNotUsedAsValuesSchema.optional(),
|
|
242
|
+
incremental: z.boolean().optional(),
|
|
243
|
+
inlineSourceMap: z.boolean().optional(),
|
|
244
|
+
inlineSources: z.boolean().optional(),
|
|
245
|
+
isolatedModules: z.boolean().optional(),
|
|
246
|
+
jsx: jsxSchema.optional(),
|
|
247
|
+
jsxFactory: z.string().optional(),
|
|
248
|
+
jsxFragmentFactory: z.string().optional(),
|
|
249
|
+
jsxImportSource: z.string().optional(),
|
|
250
|
+
keyofStringsOnly: z.boolean().optional(),
|
|
251
|
+
lib: libSchema.array().optional(),
|
|
252
|
+
listEmittedFiles: z.boolean().optional(),
|
|
253
|
+
listFiles: z.boolean().optional(),
|
|
254
|
+
listFilesOnly: z.boolean().optional(),
|
|
255
|
+
mapRoot: z.string().optional(),
|
|
256
|
+
maxNodeModuleJsDepth: z.number().optional(),
|
|
257
|
+
module: moduleSchema.optional(),
|
|
258
|
+
moduleResolution: z.enum([
|
|
259
|
+
'classic',
|
|
260
|
+
'node'
|
|
261
|
+
]).optional(),
|
|
262
|
+
newLine: newLineSchema.optional(),
|
|
263
|
+
noEmit: z.boolean().optional(),
|
|
264
|
+
noEmitHelpers: z.boolean().optional(),
|
|
265
|
+
noEmitOnError: z.boolean().optional(),
|
|
266
|
+
noErrorTruncation: z.boolean().optional(),
|
|
267
|
+
noFallthroughCasesInSwitch: z.boolean().optional(),
|
|
268
|
+
noImplicitAny: z.boolean().optional(),
|
|
269
|
+
noImplicitOverride: z.boolean().optional(),
|
|
270
|
+
noImplicitReturns: z.boolean().optional(),
|
|
271
|
+
noImplicitThis: z.boolean().optional(),
|
|
272
|
+
noImplicitUseStrict: z.boolean().optional(),
|
|
273
|
+
noLib: z.boolean().optional(),
|
|
274
|
+
noPropertyAccessFromIndexSignature: z.boolean().optional(),
|
|
275
|
+
noResolve: z.boolean().optional(),
|
|
276
|
+
noStrictGenericChecks: z.boolean().optional(),
|
|
277
|
+
noUncheckedIndexedAccess: z.boolean().optional(),
|
|
278
|
+
noUnusedLocals: z.boolean().optional(),
|
|
279
|
+
noUnusedParameters: z.boolean().optional(),
|
|
280
|
+
outDir: z.string().optional(),
|
|
281
|
+
outFile: z.string().optional(),
|
|
282
|
+
paths: z.record(z.string().array()).optional(),
|
|
283
|
+
plugins: pluginSchema.array().optional(),
|
|
284
|
+
preserveConstEnums: z.boolean().optional(),
|
|
285
|
+
preserveSymlinks: z.boolean().optional(),
|
|
286
|
+
preserveWatchOutput: z.boolean().optional(),
|
|
287
|
+
pretty: z.boolean().optional(),
|
|
288
|
+
reactNamespace: z.string().optional(),
|
|
289
|
+
removeComments: z.boolean().optional(),
|
|
290
|
+
resolveJsonModule: z.boolean().optional(),
|
|
291
|
+
rootDir: z.string().optional(),
|
|
292
|
+
rootDirs: z.string().array().optional(),
|
|
293
|
+
skipDefaultLibCheck: z.boolean().optional(),
|
|
294
|
+
skipLibCheck: z.boolean().optional(),
|
|
295
|
+
sourceMap: z.boolean().optional(),
|
|
296
|
+
sourceRoot: z.string().optional(),
|
|
297
|
+
strict: z.boolean().optional(),
|
|
298
|
+
strictBindCallApply: z.boolean().optional(),
|
|
299
|
+
strictFunctionTypes: z.boolean().optional(),
|
|
300
|
+
strictNullChecks: z.boolean().optional(),
|
|
301
|
+
strictPropertyInitialization: z.boolean().optional(),
|
|
302
|
+
stripInternal: z.boolean().optional(),
|
|
303
|
+
suppressExcessPropertyErrors: z.boolean().optional(),
|
|
304
|
+
suppressImplicitAnyIndexErrors: z.boolean().optional(),
|
|
305
|
+
target: targetSchema.optional(),
|
|
306
|
+
traceResolution: z.boolean().optional(),
|
|
307
|
+
tsBuildInfoFile: z.string().optional(),
|
|
308
|
+
typeRoots: z.string().array().optional(),
|
|
309
|
+
types: z.string().array().optional(),
|
|
310
|
+
useDefineForClassFields: z.boolean().optional(),
|
|
311
|
+
useUnknownInCatchVariables: z.boolean().optional(),
|
|
312
|
+
watch: z.boolean().optional(),
|
|
313
|
+
watchDirectory: watchDirectory.optional(),
|
|
314
|
+
watchFile: watchFileSchema.optional()
|
|
315
|
+
}).strict();
|
|
316
|
+
let typeAcquisitionSchema = z.object({
|
|
317
|
+
enable: z.boolean().optional(),
|
|
318
|
+
include: z.string().array().optional(),
|
|
319
|
+
exclude: z.string().array().optional()
|
|
320
|
+
}).strict();
|
|
321
|
+
let referencesSchema = z.object({
|
|
322
|
+
path: z.string(),
|
|
323
|
+
originalPath: z.string().optional(),
|
|
324
|
+
prepend: z.boolean().optional(),
|
|
325
|
+
circular: z.boolean().optional()
|
|
326
|
+
}).strict();
|
|
327
|
+
export const tsconfigJsonSchema = z.object({
|
|
328
|
+
compileOnSave: z.boolean().optional(),
|
|
329
|
+
compilerOptions: compilerOptionsSchema.optional(),
|
|
330
|
+
exclude: z.string().array().optional(),
|
|
331
|
+
extends: z.string().optional(),
|
|
332
|
+
files: z.string().array().optional(),
|
|
333
|
+
include: z.string().array().optional(),
|
|
334
|
+
references: referencesSchema.array().optional(),
|
|
335
|
+
typeAcquisition: typeAcquisitionSchema.optional()
|
|
336
|
+
}).strict();
|
|
337
|
+
|
|
338
|
+
//# sourceMappingURL=TsconfigJson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/types/TsconfigJson.ts"],"sourcesContent":["import * as z from 'zod';\n\nlet jsxSchema = z.enum(['preserve', 'react', 'react-jsx', 'react-jsxdev', 'react-native']);\n\nlet moduleSchema = z.enum([\n 'CommonJS',\n 'AMD',\n 'System',\n 'UMD',\n 'ES6',\n 'ES2015',\n 'ES2020',\n 'ESNext',\n 'None',\n 'commonjs',\n 'amd',\n 'system',\n 'umd',\n 'es6',\n 'es2015',\n 'es2020',\n 'esnext',\n 'none',\n]);\n\nlet newLineSchema = z.enum(['CRLF', 'LF', 'crlf', 'lf']);\n\nlet targetSchema = z.enum([\n 'ES3',\n 'ES5',\n 'ES6',\n 'ES2015',\n 'ES2016',\n 'ES2017',\n 'ES2018',\n 'ES2019',\n 'ES2020',\n 'ES2021',\n 'ESNext',\n 'es3',\n 'es5',\n 'es6',\n 'es2015',\n 'es2016',\n 'es2017',\n 'es2018',\n 'es2019',\n 'es2020',\n 'es2021',\n 'esnext',\n]);\n\nlet libSchema = z.enum([\n 'ES5',\n 'ES6',\n 'ES7',\n 'ES2015',\n 'ES2015.Collection',\n 'ES2015.Core',\n 'ES2015.Generator',\n 'ES2015.Iterable',\n 'ES2015.Promise',\n 'ES2015.Proxy',\n 'ES2015.Reflect',\n 'ES2015.Symbol.WellKnown',\n 'ES2015.Symbol',\n 'ES2016',\n 'ES2016.Array.Include',\n 'ES2017',\n 'ES2017.Intl',\n 'ES2017.Object',\n 'ES2017.SharedMemory',\n 'ES2017.String',\n 'ES2017.TypedArrays',\n 'ES2018',\n 'ES2018.AsyncGenerator',\n 'ES2018.AsyncIterable',\n 'ES2018.Intl',\n 'ES2018.Promise',\n 'ES2018.Regexp',\n 'ES2019',\n 'ES2019.Array',\n 'ES2019.Object',\n 'ES2019.String',\n 'ES2019.Symbol',\n 'ES2020',\n 'ES2020.BigInt',\n 'ES2020.Promise',\n 'ES2020.String',\n 'ES2020.Symbol.WellKnown',\n 'ES2020.SharedMemory',\n 'ES2020.Intl',\n 'ES2021',\n 'ES2021.Promise',\n 'ES2021.String',\n 'ES2021.WeakRef',\n 'ESNext',\n 'ESNext.Array',\n 'ESNext.AsyncIterable',\n 'ESNext.BigInt',\n 'ESNext.Intl',\n 'ESNext.Promise',\n 'ESNext.String',\n 'ESNext.Symbol',\n 'ESNext.WeakRef',\n 'DOM',\n 'DOM.Iterable',\n 'ScriptHost',\n 'WebWorker',\n 'WebWorker.ImportScripts',\n 'WebWorker.Iterable',\n 'es5',\n 'es6',\n 'es7',\n 'es2015',\n 'es2015.collection',\n 'es2015.core',\n 'es2015.generator',\n 'es2015.iterable',\n 'es2015.promise',\n 'es2015.proxy',\n 'es2015.reflect',\n 'es2015.symbol.wellknown',\n 'es2015.symbol',\n 'es2016',\n 'es2016.array.include',\n 'es2017',\n 'es2017.intl',\n 'es2017.object',\n 'es2017.sharedmemory',\n 'es2017.string',\n 'es2017.typedarrays',\n 'es2018',\n 'es2018.asyncgenerator',\n 'es2018.asynciterable',\n 'es2018.intl',\n 'es2018.promise',\n 'es2018.regexp',\n 'es2019',\n 'es2019.array',\n 'es2019.object',\n 'es2019.string',\n 'es2019.symbol',\n 'es2020',\n 'es2020.bigint',\n 'es2020.promise',\n 'es2020.string',\n 'es2020.symbol.wellknown',\n 'es2020.sharedmemory',\n 'es2020.intl',\n 'es2021',\n 'es2021.promise',\n 'es2021.string',\n 'es2021.weakref',\n 'esnext',\n 'esnext.array',\n 'esnext.asynciterable',\n 'esnext.bigint',\n 'esnext.intl',\n 'esnext.promise',\n 'esnext.string',\n 'esnext.symbol',\n 'esnext.weakref',\n 'dom',\n 'dom.iterable',\n 'scripthost',\n 'webworker',\n 'webworker.importscripts',\n 'webworker.iterable',\n]);\n\nlet pluginSchema = z\n .object({\n name: z.string().optional(),\n })\n .strict()\n .and(z.record(z.unknown()));\n\nlet importsNotUsedAsValuesSchema = z.enum(['remove', 'preserve', 'error']);\n\nlet fallbackPollingSchema = z.enum([\n 'fixedPollingInterval',\n 'priorityPollingInterval',\n 'dynamicPriorityPolling',\n 'fixedInterval',\n 'priorityInterval',\n 'dynamicPriority',\n 'fixedChunkSize',\n]);\n\nlet watchDirectory = z.enum([\n 'useFsEvents',\n 'fixedPollingInterval',\n 'dynamicPriorityPolling',\n 'fixedChunkSizePolling',\n]);\n\nlet watchFileSchema = z.enum([\n 'fixedPollingInterval',\n 'priorityPollingInterval',\n 'dynamicPriorityPolling',\n 'useFsEvents',\n 'useFsEventsOnParentDirectory',\n 'fixedChunkSizePolling',\n]);\n\nlet compilerOptionsSchema = z\n .object({\n allowJs: z.boolean().optional(),\n allowSyntheticDefaultImports: z.boolean().optional(),\n allowUmdGlobalAccess: z.boolean().optional(),\n allowUnreachableCode: z.boolean().optional(),\n allowUnusedLabels: z.boolean().optional(),\n alwaysStrict: z.boolean().optional(),\n assumeChangesOnlyAffectDirectDependencies: z.boolean().optional(),\n baseUrl: z.string().optional(),\n charset: z.string().optional(),\n checkJs: z.boolean().optional(),\n composite: z.boolean().optional(),\n declaration: z.boolean().optional(),\n declarationDir: z.string().optional(),\n declarationMap: z.boolean().optional(),\n diagnostics: z.boolean().optional(),\n disableReferencedProjectLoad: z.boolean().optional(),\n disableSizeLimit: z.boolean().optional(),\n disableSolutionSearching: z.boolean().optional(),\n disableSourceOfProjectReferenceRedirect: z.boolean().optional(),\n downlevelIteration: z.boolean().optional(),\n emitBOM: z.boolean().optional(),\n emitDeclarationOnly: z.boolean().optional(),\n emitDecoratorMetadata: z.boolean().optional(),\n esModuleInterop: z.boolean().optional(),\n exactOptionalPropertyTypes: z.boolean().optional(),\n experimentalDecorators: z.boolean().optional(),\n explainFiles: z.boolean().optional(),\n extendedDiagnostics: z.boolean().optional(),\n fallbackPolling: fallbackPollingSchema.optional(),\n forceConsistentCasingInFileNames: z.boolean().optional(),\n generateCpuProfile: z.string().optional(),\n importHelpers: z.boolean().optional(),\n importsNotUsedAsValues: importsNotUsedAsValuesSchema.optional(),\n incremental: z.boolean().optional(),\n inlineSourceMap: z.boolean().optional(),\n inlineSources: z.boolean().optional(),\n isolatedModules: z.boolean().optional(),\n jsx: jsxSchema.optional(),\n jsxFactory: z.string().optional(),\n jsxFragmentFactory: z.string().optional(),\n jsxImportSource: z.string().optional(),\n keyofStringsOnly: z.boolean().optional(),\n lib: libSchema.array().optional(),\n listEmittedFiles: z.boolean().optional(),\n listFiles: z.boolean().optional(),\n listFilesOnly: z.boolean().optional(),\n mapRoot: z.string().optional(),\n maxNodeModuleJsDepth: z.number().optional(),\n module: moduleSchema.optional(),\n moduleResolution: z.enum(['classic', 'node']).optional(),\n newLine: newLineSchema.optional(),\n noEmit: z.boolean().optional(),\n noEmitHelpers: z.boolean().optional(),\n noEmitOnError: z.boolean().optional(),\n noErrorTruncation: z.boolean().optional(),\n noFallthroughCasesInSwitch: z.boolean().optional(),\n noImplicitAny: z.boolean().optional(),\n noImplicitOverride: z.boolean().optional(),\n noImplicitReturns: z.boolean().optional(),\n noImplicitThis: z.boolean().optional(),\n noImplicitUseStrict: z.boolean().optional(),\n noLib: z.boolean().optional(),\n noPropertyAccessFromIndexSignature: z.boolean().optional(),\n noResolve: z.boolean().optional(),\n noStrictGenericChecks: z.boolean().optional(),\n noUncheckedIndexedAccess: z.boolean().optional(),\n noUnusedLocals: z.boolean().optional(),\n noUnusedParameters: z.boolean().optional(),\n outDir: z.string().optional(),\n outFile: z.string().optional(),\n paths: z.record(z.string().array()).optional(),\n plugins: pluginSchema.array().optional(),\n preserveConstEnums: z.boolean().optional(),\n preserveSymlinks: z.boolean().optional(),\n preserveWatchOutput: z.boolean().optional(),\n pretty: z.boolean().optional(),\n reactNamespace: z.string().optional(),\n removeComments: z.boolean().optional(),\n resolveJsonModule: z.boolean().optional(),\n rootDir: z.string().optional(),\n rootDirs: z.string().array().optional(),\n skipDefaultLibCheck: z.boolean().optional(),\n skipLibCheck: z.boolean().optional(),\n sourceMap: z.boolean().optional(),\n sourceRoot: z.string().optional(),\n strict: z.boolean().optional(),\n strictBindCallApply: z.boolean().optional(),\n strictFunctionTypes: z.boolean().optional(),\n strictNullChecks: z.boolean().optional(),\n strictPropertyInitialization: z.boolean().optional(),\n stripInternal: z.boolean().optional(),\n suppressExcessPropertyErrors: z.boolean().optional(),\n suppressImplicitAnyIndexErrors: z.boolean().optional(),\n target: targetSchema.optional(),\n traceResolution: z.boolean().optional(),\n tsBuildInfoFile: z.string().optional(),\n typeRoots: z.string().array().optional(),\n types: z.string().array().optional(),\n useDefineForClassFields: z.boolean().optional(),\n useUnknownInCatchVariables: z.boolean().optional(),\n watch: z.boolean().optional(),\n watchDirectory: watchDirectory.optional(),\n watchFile: watchFileSchema.optional(),\n })\n .strict();\n\nlet typeAcquisitionSchema = z\n .object({\n enable: z.boolean().optional(),\n include: z.string().array().optional(),\n exclude: z.string().array().optional(),\n })\n .strict();\n\nlet referencesSchema = z\n .object({\n path: z.string(),\n\n originalPath: z.string().optional(),\n prepend: z.boolean().optional(),\n circular: z.boolean().optional(),\n })\n .strict();\n\nexport const tsconfigJsonSchema = z\n .object({\n compileOnSave: z.boolean().optional(),\n compilerOptions: compilerOptionsSchema.optional(),\n exclude: z.string().array().optional(),\n extends: z.string().optional(),\n files: z.string().array().optional(),\n include: z.string().array().optional(),\n references: referencesSchema.array().optional(),\n typeAcquisition: typeAcquisitionSchema.optional(),\n })\n .strict();\n\nexport type TsconfigJson = z.infer<typeof tsconfigJsonSchema>;\n"],"names":["z","jsxSchema","enum","moduleSchema","newLineSchema","targetSchema","libSchema","pluginSchema","object","name","string","optional","strict","and","record","unknown","importsNotUsedAsValuesSchema","fallbackPollingSchema","watchDirectory","watchFileSchema","compilerOptionsSchema","allowJs","boolean","allowSyntheticDefaultImports","allowUmdGlobalAccess","allowUnreachableCode","allowUnusedLabels","alwaysStrict","assumeChangesOnlyAffectDirectDependencies","baseUrl","charset","checkJs","composite","declaration","declarationDir","declarationMap","diagnostics","disableReferencedProjectLoad","disableSizeLimit","disableSolutionSearching","disableSourceOfProjectReferenceRedirect","downlevelIteration","emitBOM","emitDeclarationOnly","emitDecoratorMetadata","esModuleInterop","exactOptionalPropertyTypes","experimentalDecorators","explainFiles","extendedDiagnostics","fallbackPolling","forceConsistentCasingInFileNames","generateCpuProfile","importHelpers","importsNotUsedAsValues","incremental","inlineSourceMap","inlineSources","isolatedModules","jsx","jsxFactory","jsxFragmentFactory","jsxImportSource","keyofStringsOnly","lib","array","listEmittedFiles","listFiles","listFilesOnly","mapRoot","maxNodeModuleJsDepth","number","module","moduleResolution","newLine","noEmit","noEmitHelpers","noEmitOnError","noErrorTruncation","noFallthroughCasesInSwitch","noImplicitAny","noImplicitOverride","noImplicitReturns","noImplicitThis","noImplicitUseStrict","noLib","noPropertyAccessFromIndexSignature","noResolve","noStrictGenericChecks","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","outDir","outFile","paths","plugins","preserveConstEnums","preserveSymlinks","preserveWatchOutput","pretty","reactNamespace","removeComments","resolveJsonModule","rootDir","rootDirs","skipDefaultLibCheck","skipLibCheck","sourceMap","sourceRoot","strictBindCallApply","strictFunctionTypes","strictNullChecks","strictPropertyInitialization","stripInternal","suppressExcessPropertyErrors","suppressImplicitAnyIndexErrors","target","traceResolution","tsBuildInfoFile","typeRoots","types","useDefineForClassFields","useUnknownInCatchVariables","watch","watchFile","typeAcquisitionSchema","enable","include","exclude","referencesSchema","path","originalPath","prepend","circular","tsconfigJsonSchema","compileOnSave","compilerOptions","extends","files","references","typeAcquisition"],"mappings":"AAAA,YAAYA,OAAO,MAAM;AAEzB,IAAIC,YAAYD,EAAEE,KAAK;IAAC;IAAY;IAAS;IAAa;IAAgB;CAAe;AAEzF,IAAIC,eAAeH,EAAEE,KAAK;IACxB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED,IAAIE,gBAAgBJ,EAAEE,KAAK;IAAC;IAAQ;IAAM;IAAQ;CAAK;AAEvD,IAAIG,eAAeL,EAAEE,KAAK;IACxB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED,IAAII,YAAYN,EAAEE,KAAK;IACrB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED,IAAIK,eAAeP,EAChBQ,OAAO;IACNC,MAAMT,EAAEU,SAASC;AACnB,GACCC,SACAC,IAAIb,EAAEc,OAAOd,EAAEe;AAElB,IAAIC,+BAA+BhB,EAAEE,KAAK;IAAC;IAAU;IAAY;CAAQ;AAEzE,IAAIe,wBAAwBjB,EAAEE,KAAK;I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"}
|
package/dist/types.d.ts
ADDED
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["export * from './types/Json.js';\nexport * from './types/PackageJson.js';\nexport * from './types/TsconfigJson.js';\n"],"names":[],"mappings":"AAAA,cAAc,kBAAkB;AAChC,cAAc,yBAAyB;AACvC,cAAc,0BAA0B"}
|
package/dist/utils/is.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/is.ts"],"sourcesContent":["import {type z, type ZodTypeAny} from 'zod';\n\nexport function is<S extends ZodTypeAny>(value: unknown, schema: S): value is z.infer<S> {\n return schema.safeParse(value).success;\n}\n"],"names":["is","value","schema","safeParse","success"],"mappings":"AAEA,OAAO,SAASA,GAAyBC,KAAc,EAAEC,MAAS;IAChE,OAAOA,OAAOC,UAAUF,OAAOG;AACjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/isPackageJson.ts"],"sourcesContent":["import {type PackageJson, packageJsonSchema} from '../types.js';\n\nexport function isPackageJson(value: unknown): value is PackageJson {\n return packageJsonSchema.safeParse(value).success;\n}\n"],"names":["packageJsonSchema","isPackageJson","value","safeParse","success"],"mappings":"AAAA,SAA0BA,iBAAiB,QAAO,cAAc;AAEhE,OAAO,SAASC,cAAcC,KAAc;IAC1C,OAAOF,kBAAkBG,UAAUD,OAAOE;AAC5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/isTsconfigJson.ts"],"sourcesContent":["import {type TsconfigJson, tsconfigJsonSchema} from '../types.js';\n\nexport function isTsconfigJson(value: unknown): value is TsconfigJson {\n return tsconfigJsonSchema.safeParse(value).success;\n}\n"],"names":["tsconfigJsonSchema","isTsconfigJson","value","safeParse","success"],"mappings":"AAAA,SAA2BA,kBAAkB,QAAO,cAAc;AAElE,OAAO,SAASC,eAAeC,KAAc;IAC3C,OAAOF,mBAAmBG,UAAUD,OAAOE;AAC7C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
import { type If } from '@jakubmazanec/ts-utils';
|
|
4
|
+
import { type PathLike } from 'node:fs';
|
|
5
|
+
import fs from 'node:fs/promises';
|
|
6
|
+
import { type z, type ZodTypeAny, type ZodError } from 'zod';
|
|
7
|
+
export interface ReadFileOptions {
|
|
8
|
+
parser?: (rawString: string) => unknown;
|
|
9
|
+
throwOnZodError?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function readFile<S extends ZodTypeAny, O extends ReadFileOptions | undefined = undefined>(path: fs.FileHandle | PathLike, schema: S, options?: O): Promise<O extends undefined ? z.infer<S> | ZodError<z.infer<S>> : If<NonNullable<O>['throwOnZodError'], true, z.infer<S>, z.infer<S> | ZodError<z.infer<S>>>>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
export async function readFile(path, schema, options) {
|
|
3
|
+
let fileParser = (options === null || options === void 0 ? void 0 : options.parser) ?? JSON.parse;
|
|
4
|
+
let rawJson = fileParser(await fs.readFile(path, {
|
|
5
|
+
encoding: 'utf8'
|
|
6
|
+
}));
|
|
7
|
+
if (options === null || options === void 0 ? void 0 : options.throwOnZodError) {
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return -- return type is actually defined via the function overload above
|
|
9
|
+
return schema.parse(rawJson);
|
|
10
|
+
}
|
|
11
|
+
let result = schema.safeParse(rawJson);
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return -- return type is actually defined via the function overload above
|
|
13
|
+
return result.success ? result.data : result.error;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=readFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/readFile.ts"],"sourcesContent":["import {type If} from '@jakubmazanec/ts-utils';\nimport {type PathLike} from 'node:fs';\nimport fs from 'node:fs/promises';\nimport {type z, type ZodTypeAny, type ZodError} from 'zod';\n\nexport interface ReadFileOptions {\n parser?: (rawString: string) => unknown;\n throwOnZodError?: boolean;\n}\n\nexport async function readFile<\n S extends ZodTypeAny,\n O extends ReadFileOptions | undefined = undefined,\n>(\n path: fs.FileHandle | PathLike,\n schema: S,\n options?: O,\n): Promise<\n O extends undefined\n ? z.infer<S> | ZodError<z.infer<S>>\n : If<NonNullable<O>['throwOnZodError'], true, z.infer<S>, z.infer<S> | ZodError<z.infer<S>>>\n>;\nexport async function readFile(\n path: fs.FileHandle | PathLike,\n schema: ZodTypeAny,\n options?: ReadFileOptions,\n) {\n let fileParser = options?.parser ?? JSON.parse;\n let rawJson = fileParser(await fs.readFile(path, {encoding: 'utf8'})) as unknown;\n\n if (options?.throwOnZodError) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return -- return type is actually defined via the function overload above\n return schema.parse(rawJson);\n }\n\n let result = schema.safeParse(rawJson);\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return -- return type is actually defined via the function overload above\n return result.success ? result.data : result.error;\n}\n"],"names":["fs","readFile","path","schema","options","fileParser","parser","JSON","parse","rawJson","encoding","throwOnZodError","result","safeParse","success","data","error"],"mappings":"AAEA,OAAOA,QAAQ,mBAAmB;AAoBlC,OAAO,eAAeC,SACpBC,IAA8B,EAC9BC,MAAkB,EAClBC,OAAyB;IAEzB,IAAIC,aAAaD,CAAAA,oBAAAA,qBAAAA,KAAAA,IAAAA,QAASE,MAAK,KAAKC,KAAKC;IACzC,IAAIC,UAAUJ,WAAW,MAAML,GAAGC,SAASC,MAAM;QAACQ,UAAU;IAAM;IAElE,IAAIN,oBAAAA,qBAAAA,KAAAA,IAAAA,QAASO,iBAAiB;QAC5B,kIAAkI;QAClI,OAAOR,OAAOK,MAAMC;IACtB;IAEA,IAAIG,SAAST,OAAOU,UAAUJ;IAE9B,kIAAkI;IAClI,OAAOG,OAAOE,UAAUF,OAAOG,OAAOH,OAAOI;AAC/C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
import { type If } from '@jakubmazanec/ts-utils';
|
|
4
|
+
import { type PathLike } from 'node:fs';
|
|
5
|
+
import type fs from 'node:fs/promises';
|
|
6
|
+
import { type z, type ZodTypeAny, type ZodError } from 'zod';
|
|
7
|
+
export interface ReadJsonOptions {
|
|
8
|
+
throwOnZodError?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function readJson<S extends ZodTypeAny, O extends ReadJsonOptions | undefined = undefined>(path: fs.FileHandle | PathLike, schema: S, options?: O): Promise<O extends undefined ? z.infer<S> | ZodError<z.infer<S>> : If<NonNullable<O>['throwOnZodError'], true, z.infer<S>, z.infer<S> | ZodError<z.infer<S>>>>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { readFile } from './readFile.js';
|
|
2
|
+
export async function readJson(path, schema, options) {
|
|
3
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return -- return type is actually defined via the function overload above
|
|
4
|
+
return readFile(path, schema, options);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=readJson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/readJson.ts"],"sourcesContent":["import {type If} from '@jakubmazanec/ts-utils';\nimport {type PathLike} from 'node:fs';\nimport type fs from 'node:fs/promises';\nimport {type z, type ZodTypeAny, type ZodError} from 'zod';\n\nimport {readFile} from './readFile.js';\n\nexport interface ReadJsonOptions {\n throwOnZodError?: boolean;\n}\n\nexport async function readJson<\n S extends ZodTypeAny,\n O extends ReadJsonOptions | undefined = undefined,\n>(\n path: fs.FileHandle | PathLike,\n schema: S,\n options?: O,\n): Promise<\n O extends undefined\n ? z.infer<S> | ZodError<z.infer<S>>\n : If<NonNullable<O>['throwOnZodError'], true, z.infer<S>, z.infer<S> | ZodError<z.infer<S>>>\n>;\nexport async function readJson(\n path: fs.FileHandle | PathLike,\n schema: ZodTypeAny,\n options?: ReadJsonOptions,\n) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return -- return type is actually defined via the function overload above\n return readFile(path, schema, options);\n}\n"],"names":["readFile","readJson","path","schema","options"],"mappings":"AAKA,SAAQA,QAAQ,QAAO,gBAAgB;AAkBvC,OAAO,eAAeC,SACpBC,IAA8B,EAC9BC,MAAkB,EAClBC,OAAyB;IAEzB,kIAAkI;IAClI,OAAOJ,SAASE,MAAMC,QAAQC;AAChC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
import { type If } from '@jakubmazanec/ts-utils';
|
|
4
|
+
import { type PathLike } from 'node:fs';
|
|
5
|
+
import type fs from 'node:fs/promises';
|
|
6
|
+
import { type ZodError } from 'zod';
|
|
7
|
+
import { type PackageJson } from '../types.js';
|
|
8
|
+
export interface ReadPackageJsonOptions {
|
|
9
|
+
throwOnZodError?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function readPackageJson<O extends ReadPackageJsonOptions | undefined = undefined>(path: fs.FileHandle | PathLike, options?: O): Promise<O extends undefined ? PackageJson | ZodError<PackageJson> : If<NonNullable<O>['throwOnZodError'], true, PackageJson, PackageJson | ZodError<PackageJson>>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/readPackageJson.ts"],"sourcesContent":["import {type If} from '@jakubmazanec/ts-utils';\nimport {type PathLike} from 'node:fs';\nimport type fs from 'node:fs/promises';\nimport {type ZodError} from 'zod';\n\nimport {type PackageJson, packageJsonSchema} from '../types.js';\nimport {readFile} from './readFile.js';\n\nexport interface ReadPackageJsonOptions {\n throwOnZodError?: boolean;\n}\n\nexport async function readPackageJson<O extends ReadPackageJsonOptions | undefined = undefined>(\n path: fs.FileHandle | PathLike,\n options?: O,\n): Promise<\n O extends undefined\n ? PackageJson | ZodError<PackageJson>\n : If<NonNullable<O>['throwOnZodError'], true, PackageJson, PackageJson | ZodError<PackageJson>>\n>;\nexport async function readPackageJson(\n path: fs.FileHandle | PathLike,\n options?: ReadPackageJsonOptions,\n) {\n return readFile(path, packageJsonSchema, options);\n}\n"],"names":["packageJsonSchema","readFile","readPackageJson","path","options"],"mappings":"AAKA,SAA0BA,iBAAiB,QAAO,cAAc;AAChE,SAAQC,QAAQ,QAAO,gBAAgB;AAcvC,OAAO,eAAeC,gBACpBC,IAA8B,EAC9BC,OAAgC;IAEhC,OAAOH,SAASE,MAAMH,mBAAmBI;AAC3C"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
function zodIssuePathToText(zodIssuePath) {
|
|
3
|
+
return zodIssuePath.length > 0 ? ` at path "${zodIssuePath.join('.')}"` : '';
|
|
4
|
+
}
|
|
5
|
+
function zodIssueToString(zodIssue) {
|
|
6
|
+
if (zodIssue.code === z.ZodIssueCode.invalid_type) {
|
|
7
|
+
return `Expected "${zodIssue.expected}" but received "${zodIssue.received}"${zodIssuePathToText(zodIssue.path)}`;
|
|
8
|
+
}
|
|
9
|
+
if (zodIssue.code === z.ZodIssueCode.unrecognized_keys) {
|
|
10
|
+
return `Unrecognized ${zodIssue.keys.length >= 2 ? 'keys' : 'key'} ${zodIssue.keys.map((key)=>`"${key}"`).join(', ')}${zodIssuePathToText(zodIssue.path)}`;
|
|
11
|
+
}
|
|
12
|
+
if (zodIssue.code === z.ZodIssueCode.invalid_union) {
|
|
13
|
+
return `Invalid union: ${zodIssue.unionErrors.map((unionError)=>unionError.issues.map((issue)=>{
|
|
14
|
+
let zodIssueString = [
|
|
15
|
+
...zodIssueToString(issue)
|
|
16
|
+
];
|
|
17
|
+
zodIssueString[0] &&= zodIssueString[0].toLowerCase();
|
|
18
|
+
return zodIssueString.join('');
|
|
19
|
+
}).join(', ')).join('; ')}`;
|
|
20
|
+
}
|
|
21
|
+
if (zodIssue.code === z.ZodIssueCode.invalid_enum_value) {
|
|
22
|
+
return `Expected ${zodIssue.options.length === 1 ? `"${zodIssue.options[0]}"` : `${zodIssue.options.map((option)=>`"${option}"`).slice(0, -1).join(', ')} or "${zodIssue.options.at(-1)}"`}${zodIssuePathToText(zodIssue.path)}`;
|
|
23
|
+
}
|
|
24
|
+
return `${zodIssue.message}${zodIssuePathToText(zodIssue.path)}`;
|
|
25
|
+
}
|
|
26
|
+
export function zodIssuesToStrings(zodIssues) {
|
|
27
|
+
return zodIssues.map((zodIssue)=>zodIssueToString(zodIssue));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=zodIssuesToString.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/zodIssuesToString.ts"],"sourcesContent":["import * as z from 'zod';\n\nfunction zodIssuePathToText(zodIssuePath: Array<number | string>): string {\n return zodIssuePath.length > 0 ? ` at path \"${zodIssuePath.join('.')}\"` : '';\n}\n\nfunction zodIssueToString(zodIssue: z.ZodIssue): string {\n if (zodIssue.code === z.ZodIssueCode.invalid_type) {\n return `Expected \"${zodIssue.expected}\" but received \"${zodIssue.received}\"${zodIssuePathToText(\n zodIssue.path,\n )}`;\n }\n\n if (zodIssue.code === z.ZodIssueCode.unrecognized_keys) {\n return `Unrecognized ${zodIssue.keys.length >= 2 ? 'keys' : 'key'} ${zodIssue.keys\n .map((key) => `\"${key}\"`)\n .join(', ')}${zodIssuePathToText(zodIssue.path)}`;\n }\n\n if (zodIssue.code === z.ZodIssueCode.invalid_union) {\n return `Invalid union: ${zodIssue.unionErrors\n .map((unionError) =>\n unionError.issues\n .map((issue) => {\n let zodIssueString = [...zodIssueToString(issue)];\n\n zodIssueString[0] &&= zodIssueString[0].toLowerCase();\n\n return zodIssueString.join('');\n })\n .join(', '),\n )\n .join('; ')}`;\n }\n\n if (zodIssue.code === z.ZodIssueCode.invalid_enum_value) {\n return `Expected ${\n zodIssue.options.length === 1\n ? `\"${zodIssue.options[0]}\"`\n : `${zodIssue.options\n .map((option) => `\"${option}\"`)\n .slice(0, -1)\n .join(', ')} or \"${zodIssue.options.at(-1)}\"`\n }${zodIssuePathToText(zodIssue.path)}`;\n }\n\n return `${zodIssue.message}${zodIssuePathToText(zodIssue.path)}`;\n}\n\nexport function zodIssuesToStrings(zodIssues: z.ZodIssue[]): string[] {\n return zodIssues.map((zodIssue) => zodIssueToString(zodIssue));\n}\n"],"names":["z","zodIssuePathToText","zodIssuePath","length","join","zodIssueToString","zodIssue","code","ZodIssueCode","invalid_type","expected","received","path","unrecognized_keys","keys","map","key","invalid_union","unionErrors","unionError","issues","issue","zodIssueString","toLowerCase","invalid_enum_value","options","option","slice","at","message","zodIssuesToStrings","zodIssues"],"mappings":"AAAA,YAAYA,OAAO,MAAM;AAEzB,SAASC,mBAAmBC,YAAoC;IAC9D,OAAOA,aAAaC,SAAS,IAAI,CAAC,UAAU,EAAED,aAAaE,KAAK,KAAK,CAAC,CAAC,GAAG;AAC5E;AAEA,SAASC,iBAAiBC,QAAoB;IAC5C,IAAIA,SAASC,SAASP,EAAEQ,aAAaC,cAAc;QACjD,OAAO,CAAC,UAAU,EAAEH,SAASI,SAAS,gBAAgB,EAAEJ,SAASK,SAAS,CAAC,EAAEV,mBAC3EK,SAASM,MACT,CAAC;IACL;IAEA,IAAIN,SAASC,SAASP,EAAEQ,aAAaK,mBAAmB;QACtD,OAAO,CAAC,aAAa,EAAEP,SAASQ,KAAKX,UAAU,IAAI,SAAS,MAAM,CAAC,EAAEG,SAASQ,KAC3EC,IAAI,CAACC,MAAQ,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,EACvBZ,KAAK,MAAM,EAAEH,mBAAmBK,SAASM,MAAM,CAAC;IACrD;IAEA,IAAIN,SAASC,SAASP,EAAEQ,aAAaS,eAAe;QAClD,OAAO,CAAC,eAAe,EAAEX,SAASY,YAC/BH,IAAI,CAACI,aACJA,WAAWC,OACRL,IAAI,CAACM;gBACJ,IAAIC,iBAAiB;uBAAIjB,iBAAiBgB;iBAAO;gBAEjDC,cAAc,CAAC,EAAE,KAAKA,cAAc,CAAC,EAAE,CAACC;gBAExC,OAAOD,eAAelB,KAAK;YAC7B,GACCA,KAAK,OAETA,KAAK,MAAM,CAAC;IACjB;IAEA,IAAIE,SAASC,SAASP,EAAEQ,aAAagB,oBAAoB;QACvD,OAAO,CAAC,SAAS,EACflB,SAASmB,QAAQtB,WAAW,IACxB,CAAC,CAAC,EAAEG,SAASmB,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,GAC1B,CAAC,EAAEnB,SAASmB,QACTV,IAAI,CAACW,SAAW,CAAC,CAAC,EAAEA,OAAO,CAAC,CAAC,EAC7BC,MAAM,GAAG,CAAC,GACVvB,KAAK,MAAM,KAAK,EAAEE,SAASmB,QAAQG,GAAG,CAAC,GAAG,CAAC,CAAC,CACpD,EAAE3B,mBAAmBK,SAASM,MAAM,CAAC;IACxC;IAEA,OAAO,CAAC,EAAEN,SAASuB,QAAQ,EAAE5B,mBAAmBK,SAASM,MAAM,CAAC;AAClE;AAEA,OAAO,SAASkB,mBAAmBC,SAAuB;IACxD,OAAOA,UAAUhB,IAAI,CAACT,WAAaD,iBAAiBC;AACtD"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './utils/is.js';
|
|
2
|
+
export * from './utils/isPackageJson.js';
|
|
3
|
+
export * from './utils/isTsconfigJson.js';
|
|
4
|
+
export * from './utils/readFile.js';
|
|
5
|
+
export * from './utils/readJson.js';
|
|
6
|
+
export * from './utils/readPackageJson.js';
|
|
7
|
+
export * from './utils/zodIssuesToString.js';
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './utils/is.js';
|
|
2
|
+
export * from './utils/isPackageJson.js';
|
|
3
|
+
export * from './utils/isTsconfigJson.js';
|
|
4
|
+
export * from './utils/readFile.js';
|
|
5
|
+
export * from './utils/readJson.js';
|
|
6
|
+
export * from './utils/readPackageJson.js';
|
|
7
|
+
export * from './utils/zodIssuesToString.js';
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils.ts"],"sourcesContent":["export * from './utils/is.js';\nexport * from './utils/isPackageJson.js';\nexport * from './utils/isTsconfigJson.js';\nexport * from './utils/readFile.js';\nexport * from './utils/readJson.js';\nexport * from './utils/readPackageJson.js';\nexport * from './utils/zodIssuesToString.js';\n"],"names":[],"mappings":"AAAA,cAAc,gBAAgB;AAC9B,cAAc,2BAA2B;AACzC,cAAc,4BAA4B;AAC1C,cAAc,sBAAsB;AACpC,cAAc,sBAAsB;AACpC,cAAc,6BAA6B;AAC3C,cAAc,+BAA+B"}
|