z-schema 12.2.0 → 12.4.0

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 (111) hide show
  1. package/README.md +2 -2
  2. package/bin/z-schema +1 -1
  3. package/cjs/{index.js → index.cjs} +838 -707
  4. package/cjs/{index.d.ts → index.d.cts} +47 -26
  5. package/dist/{errors.d.mts → errors.d.ts} +2 -2
  6. package/dist/{errors.mjs → errors.js} +1 -2
  7. package/dist/{format-validators.mjs → format-validators.js} +60 -43
  8. package/dist/{index.d.mts → index.d.ts} +9 -9
  9. package/dist/{index.mjs → index.js} +3 -3
  10. package/dist/{json-schema-versions.d.mts → json-schema-versions.d.ts} +34 -3
  11. package/dist/{json-schema.d.mts → json-schema.d.ts} +7 -7
  12. package/dist/{json-schema.mjs → json-schema.js} +6 -5
  13. package/dist/{json-validation.mjs → json-validation.js} +144 -127
  14. package/dist/{report.d.mts → report.d.ts} +8 -9
  15. package/dist/{report.mjs → report.js} +28 -31
  16. package/dist/{schema-cache.d.mts → schema-cache.d.ts} +5 -5
  17. package/dist/{schema-cache.mjs → schema-cache.js} +10 -11
  18. package/dist/{schema-compiler.d.mts → schema-compiler.d.ts} +4 -4
  19. package/dist/{schema-compiler.mjs → schema-compiler.js} +101 -79
  20. package/dist/{schema-validator.d.mts → schema-validator.d.ts} +5 -5
  21. package/dist/{schema-validator.mjs → schema-validator.js} +138 -166
  22. package/dist/utils/{array.mjs → array.js} +4 -3
  23. package/dist/utils/{base64.mjs → base64.js} +3 -2
  24. package/dist/utils/{clone.mjs → clone.js} +18 -20
  25. package/dist/utils/hostname.js +176 -0
  26. package/dist/utils/{json.mjs → json.js} +13 -8
  27. package/dist/utils/{schema-regex.mjs → schema-regex.js} +5 -5
  28. package/dist/utils/{time.mjs → time.js} +8 -8
  29. package/dist/utils/unicode.js +22 -0
  30. package/dist/utils/{what-is.mjs → what-is.js} +1 -2
  31. package/dist/validation/{array.mjs → array.js} +18 -20
  32. package/dist/validation/{combinators.mjs → combinators.js} +16 -16
  33. package/dist/validation/{numeric.mjs → numeric.js} +11 -11
  34. package/dist/validation/{object.mjs → object.js} +35 -34
  35. package/dist/validation/{ref.mjs → ref.js} +5 -5
  36. package/dist/validation/{shared.mjs → shared.js} +15 -12
  37. package/dist/validation/{string.mjs → string.js} +35 -35
  38. package/dist/validation/type.js +34 -0
  39. package/dist/{z-schema-base.d.mts → z-schema-base.d.ts} +11 -12
  40. package/dist/{z-schema-base.mjs → z-schema-base.js} +45 -40
  41. package/dist/{z-schema-options.d.mts → z-schema-options.d.ts} +3 -3
  42. package/dist/{z-schema-options.mjs → z-schema-options.js} +5 -5
  43. package/dist/{z-schema-reader.d.mts → z-schema-reader.d.ts} +1 -1
  44. package/dist/{z-schema-versions.mjs → z-schema-versions.js} +21 -21
  45. package/dist/{z-schema.d.mts → z-schema.d.ts} +5 -13
  46. package/dist/{z-schema.mjs → z-schema.js} +38 -48
  47. package/package.json +24 -25
  48. package/src/errors.ts +1 -2
  49. package/src/format-validators.ts +173 -67
  50. package/src/json-schema-versions.ts +56 -2
  51. package/src/json-schema.ts +10 -9
  52. package/src/json-validation.ts +189 -146
  53. package/src/report.ts +37 -49
  54. package/src/schema-cache.ts +13 -13
  55. package/src/schema-compiler.ts +170 -117
  56. package/src/schema-validator.ts +239 -238
  57. package/src/utils/array.ts +9 -6
  58. package/src/utils/base64.ts +13 -2
  59. package/src/utils/clone.ts +28 -30
  60. package/src/utils/date.ts +6 -3
  61. package/src/utils/hostname.ts +257 -31
  62. package/src/utils/json.ts +16 -9
  63. package/src/utils/properties.ts +2 -2
  64. package/src/utils/schema-regex.ts +4 -4
  65. package/src/utils/time.ts +8 -7
  66. package/src/utils/unicode.ts +12 -5
  67. package/src/utils/what-is.ts +1 -5
  68. package/src/validation/array.ts +24 -22
  69. package/src/validation/combinators.ts +14 -14
  70. package/src/validation/numeric.ts +14 -28
  71. package/src/validation/object.ts +32 -36
  72. package/src/validation/ref.ts +5 -6
  73. package/src/validation/shared.ts +22 -21
  74. package/src/validation/string.ts +36 -42
  75. package/src/validation/type.ts +17 -17
  76. package/src/z-schema-base.ts +49 -38
  77. package/src/z-schema-options.ts +4 -3
  78. package/src/z-schema.ts +35 -45
  79. package/umd/ZSchema.js +853 -715
  80. package/umd/ZSchema.min.js +2 -2
  81. package/umd/package.json +3 -0
  82. package/dist/utils/hostname.mjs +0 -75
  83. package/dist/utils/unicode.mjs +0 -12
  84. package/dist/validation/type.mjs +0 -32
  85. /package/dist/{format-validators.d.mts → format-validators.d.ts} +0 -0
  86. /package/dist/{json-schema-versions.mjs → json-schema-versions.js} +0 -0
  87. /package/dist/schemas/{draft-04-schema.mjs → draft-04-schema.js} +0 -0
  88. /package/dist/schemas/{draft-06-schema.mjs → draft-06-schema.js} +0 -0
  89. /package/dist/schemas/{draft-07-schema.mjs → draft-07-schema.js} +0 -0
  90. /package/dist/schemas/{draft-2019-09-meta-applicator.mjs → draft-2019-09-meta-applicator.js} +0 -0
  91. /package/dist/schemas/{draft-2019-09-meta-content.mjs → draft-2019-09-meta-content.js} +0 -0
  92. /package/dist/schemas/{draft-2019-09-meta-core.mjs → draft-2019-09-meta-core.js} +0 -0
  93. /package/dist/schemas/{draft-2019-09-meta-format.mjs → draft-2019-09-meta-format.js} +0 -0
  94. /package/dist/schemas/{draft-2019-09-meta-meta-data.mjs → draft-2019-09-meta-meta-data.js} +0 -0
  95. /package/dist/schemas/{draft-2019-09-meta-validation.mjs → draft-2019-09-meta-validation.js} +0 -0
  96. /package/dist/schemas/{draft-2019-09-schema.mjs → draft-2019-09-schema.js} +0 -0
  97. /package/dist/schemas/{draft-2020-12-meta-applicator.mjs → draft-2020-12-meta-applicator.js} +0 -0
  98. /package/dist/schemas/{draft-2020-12-meta-content.mjs → draft-2020-12-meta-content.js} +0 -0
  99. /package/dist/schemas/{draft-2020-12-meta-core.mjs → draft-2020-12-meta-core.js} +0 -0
  100. /package/dist/schemas/{draft-2020-12-meta-format-annotation.mjs → draft-2020-12-meta-format-annotation.js} +0 -0
  101. /package/dist/schemas/{draft-2020-12-meta-format-assertion.mjs → draft-2020-12-meta-format-assertion.js} +0 -0
  102. /package/dist/schemas/{draft-2020-12-meta-meta-data.mjs → draft-2020-12-meta-meta-data.js} +0 -0
  103. /package/dist/schemas/{draft-2020-12-meta-unevaluated.mjs → draft-2020-12-meta-unevaluated.js} +0 -0
  104. /package/dist/schemas/{draft-2020-12-meta-validation.mjs → draft-2020-12-meta-validation.js} +0 -0
  105. /package/dist/schemas/{draft-2020-12-schema.mjs → draft-2020-12-schema.js} +0 -0
  106. /package/dist/utils/{constants.mjs → constants.js} +0 -0
  107. /package/dist/utils/{date.mjs → date.js} +0 -0
  108. /package/dist/utils/{properties.mjs → properties.js} +0 -0
  109. /package/dist/utils/{symbols.mjs → symbols.js} +0 -0
  110. /package/dist/utils/{uri.mjs → uri.js} +0 -0
  111. /package/dist/{z-schema-reader.mjs → z-schema-reader.js} +0 -0
@@ -1,24 +1,24 @@
1
- import { normalizeOptions } from "./z-schema-options.mjs";
2
- import { SchemaCache } from "./schema-cache.mjs";
3
- import draft_04_schema_default from "./schemas/draft-04-schema.mjs";
4
- import draft_06_schema_default from "./schemas/draft-06-schema.mjs";
5
- import draft_07_schema_default from "./schemas/draft-07-schema.mjs";
6
- import draft_2019_09_meta_applicator_default from "./schemas/draft-2019-09-meta-applicator.mjs";
7
- import draft_2019_09_meta_content_default from "./schemas/draft-2019-09-meta-content.mjs";
8
- import draft_2019_09_meta_core_default from "./schemas/draft-2019-09-meta-core.mjs";
9
- import draft_2019_09_meta_format_default from "./schemas/draft-2019-09-meta-format.mjs";
10
- import draft_2019_09_meta_meta_data_default from "./schemas/draft-2019-09-meta-meta-data.mjs";
11
- import draft_2019_09_meta_validation_default from "./schemas/draft-2019-09-meta-validation.mjs";
12
- import draft_2019_09_schema_default from "./schemas/draft-2019-09-schema.mjs";
13
- import draft_2020_12_meta_applicator_default from "./schemas/draft-2020-12-meta-applicator.mjs";
14
- import draft_2020_12_meta_content_default from "./schemas/draft-2020-12-meta-content.mjs";
15
- import draft_2020_12_meta_core_default from "./schemas/draft-2020-12-meta-core.mjs";
16
- import draft_2020_12_meta_format_annotation_default from "./schemas/draft-2020-12-meta-format-annotation.mjs";
17
- import draft_2020_12_meta_format_assertion_default from "./schemas/draft-2020-12-meta-format-assertion.mjs";
18
- import draft_2020_12_meta_meta_data_default from "./schemas/draft-2020-12-meta-meta-data.mjs";
19
- import draft_2020_12_meta_unevaluated_default from "./schemas/draft-2020-12-meta-unevaluated.mjs";
20
- import draft_2020_12_meta_validation_default from "./schemas/draft-2020-12-meta-validation.mjs";
21
- import draft_2020_12_schema_default from "./schemas/draft-2020-12-schema.mjs";
1
+ import { normalizeOptions } from "./z-schema-options.js";
2
+ import { SchemaCache } from "./schema-cache.js";
3
+ import draft_04_schema_default from "./schemas/draft-04-schema.js";
4
+ import draft_06_schema_default from "./schemas/draft-06-schema.js";
5
+ import draft_07_schema_default from "./schemas/draft-07-schema.js";
6
+ import draft_2019_09_meta_applicator_default from "./schemas/draft-2019-09-meta-applicator.js";
7
+ import draft_2019_09_meta_content_default from "./schemas/draft-2019-09-meta-content.js";
8
+ import draft_2019_09_meta_core_default from "./schemas/draft-2019-09-meta-core.js";
9
+ import draft_2019_09_meta_format_default from "./schemas/draft-2019-09-meta-format.js";
10
+ import draft_2019_09_meta_meta_data_default from "./schemas/draft-2019-09-meta-meta-data.js";
11
+ import draft_2019_09_meta_validation_default from "./schemas/draft-2019-09-meta-validation.js";
12
+ import draft_2019_09_schema_default from "./schemas/draft-2019-09-schema.js";
13
+ import draft_2020_12_meta_applicator_default from "./schemas/draft-2020-12-meta-applicator.js";
14
+ import draft_2020_12_meta_content_default from "./schemas/draft-2020-12-meta-content.js";
15
+ import draft_2020_12_meta_core_default from "./schemas/draft-2020-12-meta-core.js";
16
+ import draft_2020_12_meta_format_annotation_default from "./schemas/draft-2020-12-meta-format-annotation.js";
17
+ import draft_2020_12_meta_format_assertion_default from "./schemas/draft-2020-12-meta-format-assertion.js";
18
+ import draft_2020_12_meta_meta_data_default from "./schemas/draft-2020-12-meta-meta-data.js";
19
+ import draft_2020_12_meta_unevaluated_default from "./schemas/draft-2020-12-meta-unevaluated.js";
20
+ import draft_2020_12_meta_validation_default from "./schemas/draft-2020-12-meta-validation.js";
21
+ import draft_2020_12_schema_default from "./schemas/draft-2020-12-schema.js";
22
22
  //#region src/z-schema-versions.ts
23
23
  const Draft4Schema = draft_04_schema_default;
24
24
  const Draft6Schema = draft_06_schema_default;
@@ -1,13 +1,11 @@
1
- import { FormatValidatorFn } from "./format-validators.mjs";
2
- import { ZSchemaOptions } from "./z-schema-options.mjs";
3
- import { ValidateOptions, ValidateResponse, ZSchemaBase } from "./z-schema-base.mjs";
4
- import { JsonSchema } from "./json-schema-versions.mjs";
5
- import { SchemaReader } from "./z-schema-reader.mjs";
1
+ import { FormatValidatorFn } from "./format-validators.js";
2
+ import { ZSchemaOptions } from "./z-schema-options.js";
3
+ import { ValidateOptions, ValidateResponse, ZSchemaBase } from "./z-schema-base.js";
4
+ import { JsonSchema } from "./json-schema-versions.js";
5
+ import { SchemaReader } from "./z-schema-reader.js";
6
6
 
7
7
  //#region src/z-schema.d.ts
8
8
  declare class ZSchema extends ZSchemaBase {
9
- /** @internal Use ZSchema.create() instead. */
10
- constructor(options: ZSchemaOptions | undefined, token: symbol);
11
9
  /**
12
10
  * Register a global format validator available to all instances.
13
11
  * @param name - The format name (e.g. `'email'`, `'date'`).
@@ -125,8 +123,6 @@ declare class ZSchema extends ZSchemaBase {
125
123
  * Created via `ZSchema.create({ safe: true })`.
126
124
  */
127
125
  declare class ZSchemaSafe extends ZSchemaBase {
128
- /** @internal Use ZSchema.create() instead. */
129
- constructor(options: ZSchemaOptions | undefined, token: symbol);
130
126
  /**
131
127
  * Validate JSON data against a schema.
132
128
  * @param json - The data to validate.
@@ -147,8 +143,6 @@ declare class ZSchemaSafe extends ZSchemaBase {
147
143
  * Created via `ZSchema.create({ async: true })`.
148
144
  */
149
145
  declare class ZSchemaAsync extends ZSchemaBase {
150
- /** @internal Use ZSchema.create() instead. */
151
- constructor(options: ZSchemaOptions | undefined, token: symbol);
152
146
  /**
153
147
  * Validate JSON data against a schema asynchronously.
154
148
  * @param json - The data to validate.
@@ -171,8 +165,6 @@ declare class ZSchemaAsync extends ZSchemaBase {
171
165
  * Created via `ZSchema.create({ async: true, safe: true })`.
172
166
  */
173
167
  declare class ZSchemaAsyncSafe extends ZSchemaBase {
174
- /** @internal Use ZSchema.create() instead. */
175
- constructor(options: ZSchemaOptions | undefined, token: symbol);
176
168
  /**
177
169
  * Validate JSON data against a schema asynchronously.
178
170
  * The promise always resolves (never rejects).
@@ -1,31 +1,27 @@
1
- import { deepClone } from "./utils/clone.mjs";
2
- import { jsonSymbol, schemaSymbol } from "./utils/symbols.mjs";
3
- import { defaultOptions } from "./z-schema-options.mjs";
4
- import { SchemaCache, prepareRemoteSchema } from "./schema-cache.mjs";
5
- import "./z-schema-versions.mjs";
6
- import { getRegisteredFormats, registerFormat, unregisterFormat } from "./format-validators.mjs";
7
- import { getSchemaReader, setSchemaReader } from "./z-schema-reader.mjs";
8
- import { FACTORY_TOKEN, ZSchemaBase } from "./z-schema-base.mjs";
1
+ import { deepClone } from "./utils/clone.js";
2
+ import { jsonSymbol, schemaSymbol } from "./utils/symbols.js";
3
+ import { defaultOptions } from "./z-schema-options.js";
4
+ import { SchemaCache, prepareRemoteSchema } from "./schema-cache.js";
5
+ import "./z-schema-versions.js";
6
+ import { getRegisteredFormats, registerFormat, unregisterFormat } from "./format-validators.js";
7
+ import { getSchemaReader, setSchemaReader } from "./z-schema-reader.js";
8
+ import { FACTORY_TOKEN, ZSchemaBase } from "./z-schema-base.js";
9
9
  //#region src/z-schema.ts
10
10
  var ZSchema = class ZSchema extends ZSchemaBase {
11
- /** @internal Use ZSchema.create() instead. */
12
- constructor(options, token) {
13
- super(options, token);
14
- }
15
11
  /**
16
12
  * Register a global format validator available to all instances.
17
13
  * @param name - The format name (e.g. `'email'`, `'date'`).
18
14
  * @param validatorFunction - A sync or async function `(value: unknown) => boolean | Promise<boolean>`.
19
15
  */
20
16
  static registerFormat(name, validatorFunction) {
21
- return registerFormat(name, validatorFunction);
17
+ registerFormat(name, validatorFunction);
22
18
  }
23
19
  /**
24
20
  * Remove a globally registered format validator.
25
21
  * @param name - The format name to unregister.
26
22
  */
27
23
  static unregisterFormat(name) {
28
- return unregisterFormat(name);
24
+ unregisterFormat(name);
29
25
  }
30
26
  /** Returns the names of all globally registered format validators. */
31
27
  static getRegisteredFormats() {
@@ -54,7 +50,7 @@ var ZSchema = class ZSchema extends ZSchemaBase {
54
50
  * @param schemaReader - A function `(uri: string) => JsonSchema | undefined`, or `undefined` to clear.
55
51
  */
56
52
  static setSchemaReader(schemaReader) {
57
- return setSchemaReader(schemaReader);
53
+ setSchemaReader(schemaReader);
58
54
  }
59
55
  static schemaSymbol = schemaSymbol;
60
56
  static jsonSymbol = jsonSymbol;
@@ -90,10 +86,10 @@ var ZSchema = class ZSchema extends ZSchemaBase {
90
86
  try {
91
87
  this._validate(json, schema, options ?? {});
92
88
  return { valid: true };
93
- } catch (err) {
89
+ } catch (error) {
94
90
  return {
95
91
  valid: false,
96
- err
92
+ err: error
97
93
  };
98
94
  }
99
95
  }
@@ -108,9 +104,12 @@ var ZSchema = class ZSchema extends ZSchemaBase {
108
104
  validateAsync(json, schema, options) {
109
105
  return new Promise((resolve, reject) => {
110
106
  try {
111
- this._validate(json, schema, options || {}, (err, valid) => err || valid !== true ? reject(err) : resolve(valid));
112
- } catch (err) {
113
- reject(err);
107
+ this._validate(json, schema, options || {}, (err, valid) => {
108
+ if (err || !valid) reject(err ?? /* @__PURE__ */ new Error("Validation failed"));
109
+ else resolve(valid);
110
+ });
111
+ } catch (error) {
112
+ reject(error instanceof Error ? error : new Error(String(error), { cause: error }));
114
113
  }
115
114
  });
116
115
  }
@@ -131,10 +130,10 @@ var ZSchema = class ZSchema extends ZSchemaBase {
131
130
  err
132
131
  });
133
132
  });
134
- } catch (err) {
133
+ } catch (error) {
135
134
  resolve({
136
135
  valid: false,
137
- err
136
+ err: error
138
137
  });
139
138
  }
140
139
  });
@@ -157,10 +156,10 @@ var ZSchema = class ZSchema extends ZSchemaBase {
157
156
  try {
158
157
  this._validateSchema(schemaOrArr);
159
158
  return { valid: true };
160
- } catch (err) {
159
+ } catch (error) {
161
160
  return {
162
161
  valid: false,
163
- err
162
+ err: error
164
163
  };
165
164
  }
166
165
  }
@@ -170,10 +169,6 @@ var ZSchema = class ZSchema extends ZSchemaBase {
170
169
  * Created via `ZSchema.create({ safe: true })`.
171
170
  */
172
171
  var ZSchemaSafe = class extends ZSchemaBase {
173
- /** @internal Use ZSchema.create() instead. */
174
- constructor(options, token) {
175
- super(options, token);
176
- }
177
172
  /**
178
173
  * Validate JSON data against a schema.
179
174
  * @param json - The data to validate.
@@ -185,10 +180,10 @@ var ZSchemaSafe = class extends ZSchemaBase {
185
180
  try {
186
181
  this._validate(json, schema, options);
187
182
  return { valid: true };
188
- } catch (err) {
183
+ } catch (error) {
189
184
  return {
190
185
  valid: false,
191
- err
186
+ err: error
192
187
  };
193
188
  }
194
189
  }
@@ -201,10 +196,10 @@ var ZSchemaSafe = class extends ZSchemaBase {
201
196
  try {
202
197
  this._validateSchema(schemaOrArr);
203
198
  return { valid: true };
204
- } catch (err) {
199
+ } catch (error) {
205
200
  return {
206
201
  valid: false,
207
- err
202
+ err: error
208
203
  };
209
204
  }
210
205
  }
@@ -214,10 +209,6 @@ var ZSchemaSafe = class extends ZSchemaBase {
214
209
  * Created via `ZSchema.create({ async: true })`.
215
210
  */
216
211
  var ZSchemaAsync = class extends ZSchemaBase {
217
- /** @internal Use ZSchema.create() instead. */
218
- constructor(options, token) {
219
- super(options, token);
220
- }
221
212
  /**
222
213
  * Validate JSON data against a schema asynchronously.
223
214
  * @param json - The data to validate.
@@ -229,9 +220,12 @@ var ZSchemaAsync = class extends ZSchemaBase {
229
220
  validate(json, schema, options = {}) {
230
221
  return new Promise((resolve, reject) => {
231
222
  try {
232
- this._validate(json, schema, options, (err, valid) => err || valid !== true ? reject(err) : resolve(valid));
233
- } catch (err) {
234
- reject(err);
223
+ this._validate(json, schema, options, (err, valid) => {
224
+ if (err || !valid) reject(err ?? /* @__PURE__ */ new Error("Validation failed"));
225
+ else resolve(valid);
226
+ });
227
+ } catch (error) {
228
+ reject(error instanceof Error ? error : new Error(String(error), { cause: error }));
235
229
  }
236
230
  });
237
231
  }
@@ -250,10 +244,6 @@ var ZSchemaAsync = class extends ZSchemaBase {
250
244
  * Created via `ZSchema.create({ async: true, safe: true })`.
251
245
  */
252
246
  var ZSchemaAsyncSafe = class extends ZSchemaBase {
253
- /** @internal Use ZSchema.create() instead. */
254
- constructor(options, token) {
255
- super(options, token);
256
- }
257
247
  /**
258
248
  * Validate JSON data against a schema asynchronously.
259
249
  * The promise always resolves (never rejects).
@@ -271,10 +261,10 @@ var ZSchemaAsyncSafe = class extends ZSchemaBase {
271
261
  err
272
262
  });
273
263
  });
274
- } catch (err) {
264
+ } catch (error) {
275
265
  resolve({
276
266
  valid: false,
277
- err
267
+ err: error
278
268
  });
279
269
  }
280
270
  });
@@ -288,13 +278,13 @@ var ZSchemaAsyncSafe = class extends ZSchemaBase {
288
278
  try {
289
279
  this._validateSchema(schemaOrArr);
290
280
  return { valid: true };
291
- } catch (err) {
281
+ } catch (error) {
292
282
  return {
293
283
  valid: false,
294
- err
284
+ err: error
295
285
  };
296
286
  }
297
287
  }
298
288
  };
299
289
  //#endregion
300
- export { ZSchema };
290
+ export { ZSchema, ZSchemaAsync, ZSchemaAsyncSafe, ZSchemaSafe };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "z-schema",
3
- "version": "12.2.0",
3
+ "version": "12.4.0",
4
4
  "description": "Fast, lightweight JSON Schema validator for Node.js and browsers — full support for draft-04, draft-06, draft-07, draft-2019-09, and draft-2020-12 (latest)",
5
5
  "keywords": [
6
6
  "draft-04",
@@ -39,32 +39,30 @@
39
39
  "LICENSE",
40
40
  "README.md"
41
41
  ],
42
+ "type": "module",
42
43
  "sideEffects": [
43
- "./dist/z-schema-versions.mjs"
44
+ "./dist/z-schema-versions.js"
44
45
  ],
45
46
  "exports": {
46
47
  ".": {
47
48
  "import": {
48
- "types": "./dist/index.d.mts",
49
- "default": "./dist/index.mjs"
49
+ "types": "./dist/index.d.ts",
50
+ "default": "./dist/index.js"
50
51
  },
51
52
  "require": {
52
- "types": "./cjs/index.d.ts",
53
- "default": "./cjs/index.js"
53
+ "types": "./cjs/index.d.cts",
54
+ "default": "./cjs/index.cjs"
54
55
  },
55
- "default": "./dist/index.mjs"
56
+ "default": "./dist/index.js"
56
57
  }
57
58
  },
58
59
  "scripts": {
59
- "prepare": "husky",
60
- "pre-commit": "npx lint-staged",
60
+ "prepare": "lefthook install",
61
61
  "pre-push": "npm run build && npm run build:tests",
62
- "format": "oxfmt",
63
- "format:check": "oxfmt --check",
64
- "lint": "oxlint --fix",
65
- "lint:check": "oxlint",
62
+ "check": "ultracite check",
63
+ "fix": "ultracite fix",
66
64
  "clean": "rimraf ./cjs && rimraf ./dist && rimraf ./umd && rimraf --glob \"./src/schemas/*.json\"",
67
- "build": "npm run copy:schemas && tsdown",
65
+ "build": "npm run copy:schemas && tsdown && node ./scripts/write-build-markers.mjs",
68
66
  "build:watch": "npm run copy:schemas && tsdown --watch",
69
67
  "build:tests": "tsc --noEmit --project test/tsconfig.json",
70
68
  "copy:schemas": "node ./scripts/copy-schemas.mts",
@@ -84,24 +82,25 @@
84
82
  },
85
83
  "devDependencies": {
86
84
  "@types/lodash.isequal": "^4.5.8",
87
- "@types/node": "^25.2.0",
85
+ "@types/node": "^26.0.1",
88
86
  "@types/punycode": "^2.1.4",
89
87
  "@types/validator": "^13.15.10",
90
- "@vitest/browser-playwright": "^4.0.18",
91
- "@vitest/coverage-istanbul": "^4.0.18",
92
- "@vitest/coverage-v8": "^4.0.18",
93
- "husky": "^9.1.7",
94
- "lint-staged": "^16.2.7",
88
+ "@vitest/browser-playwright": "^4.1.0",
89
+ "@vitest/coverage-istanbul": "^4.1.0",
90
+ "@vitest/coverage-v8": "^4.1.0",
91
+ "lefthook": "^2.1.9",
95
92
  "lodash.isequal": "^4.5.0",
96
- "oxfmt": "^0.41.0",
93
+ "oxfmt": "^0.57.0",
97
94
  "oxlint": "^1.56.0",
95
+ "oxlint-tsgolint": "^0.24.0",
98
96
  "rimraf": "^6.1.2",
99
- "tsdown": "^0.21.4",
100
- "typescript": "^5.9.3",
101
- "vitest": "^4.0.18"
97
+ "tsdown": "^0.22.0",
98
+ "typescript": "^6.0.3",
99
+ "ultracite": "^7.8.1",
100
+ "vitest": "^4.1.0"
102
101
  },
103
102
  "optionalDependencies": {
104
- "commander": "^14.0.3"
103
+ "commander": "^15.0.0"
105
104
  },
106
105
  "overrides": {
107
106
  "vite": ">=7.3.2"
package/src/errors.ts CHANGED
@@ -76,12 +76,11 @@ export const Errors = {
76
76
  };
77
77
 
78
78
  export class ValidateError extends Error {
79
- name: string;
79
+ override readonly name: string = 'ValidateError';
80
80
  details?: SchemaErrorDetail[];
81
81
 
82
82
  constructor(message: string, details?: SchemaErrorDetail[]) {
83
83
  super(message);
84
- this.name = 'z-schema validation error';
85
84
  this.details = details;
86
85
  }
87
86
  }