renovate 43.244.0 → 43.244.1
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.
|
@@ -27,7 +27,7 @@ declare const GithubVulnerabilityAlerts: z.ZodPipe<z.ZodType<{
|
|
|
27
27
|
};
|
|
28
28
|
security_vulnerability: {
|
|
29
29
|
package: {
|
|
30
|
-
ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "rubygems" | "
|
|
30
|
+
ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "rubygems" | "nuget" | "actions" | "pip";
|
|
31
31
|
name: string;
|
|
32
32
|
};
|
|
33
33
|
severity: "low" | "medium" | "high" | "critical";
|
|
@@ -66,7 +66,7 @@ declare const GithubVulnerabilityAlerts: z.ZodPipe<z.ZodType<{
|
|
|
66
66
|
};
|
|
67
67
|
security_vulnerability: {
|
|
68
68
|
package: {
|
|
69
|
-
ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "rubygems" | "
|
|
69
|
+
ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "rubygems" | "nuget" | "actions" | "pip";
|
|
70
70
|
name: string;
|
|
71
71
|
};
|
|
72
72
|
severity: "low" | "medium" | "high" | "critical";
|
|
@@ -105,7 +105,7 @@ declare const GithubVulnerabilityAlerts: z.ZodPipe<z.ZodType<{
|
|
|
105
105
|
};
|
|
106
106
|
security_vulnerability: {
|
|
107
107
|
package: {
|
|
108
|
-
ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "rubygems" | "
|
|
108
|
+
ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "rubygems" | "nuget" | "actions" | "pip";
|
|
109
109
|
name: string;
|
|
110
110
|
};
|
|
111
111
|
severity: "low" | "medium" | "high" | "critical";
|
|
@@ -144,7 +144,7 @@ declare const GithubVulnerabilityAlerts: z.ZodPipe<z.ZodType<{
|
|
|
144
144
|
};
|
|
145
145
|
security_vulnerability: {
|
|
146
146
|
package: {
|
|
147
|
-
ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "rubygems" | "
|
|
147
|
+
ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "rubygems" | "nuget" | "actions" | "pip";
|
|
148
148
|
name: string;
|
|
149
149
|
};
|
|
150
150
|
severity: "low" | "medium" | "high" | "critical";
|
|
@@ -286,7 +286,8 @@ const NotCircular = z.unknown().superRefine((val, ctx) => {
|
|
|
286
286
|
return z.NEVER;
|
|
287
287
|
}
|
|
288
288
|
});
|
|
289
|
-
const
|
|
289
|
+
const StandardEmail = z.email();
|
|
290
|
+
const EmailAddress = z.string().refine((value) => StandardEmail.safeParse(value.replace("[bot]@", "@")).success, "Invalid email address");
|
|
290
291
|
function isEmailAdress(value) {
|
|
291
292
|
return EmailAddress.safeParse(value).success;
|
|
292
293
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["parseToml"],"sources":["../../../lib/util/schema-utils/index.ts"],"sourcesContent":["import ini from 'ini';\nimport JSON5 from 'json5';\nimport { DateTime } from 'luxon';\nimport type { JsonArray } from 'type-fest';\nimport { z } from 'zod/v4';\nimport { logger } from '../../logger/index.ts';\nimport type { PackageDependency } from '../../modules/manager/types.ts';\nimport { parseJsonc } from '../common.ts';\nimport { parse as parseToml } from '../toml.ts';\nimport type { YamlOptions } from '../yaml.ts';\nimport { parseSingleYaml, parseYaml } from '../yaml.ts';\n\ninterface ErrorContext<T> {\n error: z.ZodError;\n input: T;\n}\n\ninterface LooseOpts<T> {\n onError?: (err: ErrorContext<T>) => void;\n}\n\n/**\n * Works like `z.array()`, but drops wrong elements instead of invalidating the whole array.\n *\n * **Important**: non-array inputs are still invalid.\n * Use `LooseArray(...).catch([])` to handle it.\n *\n * @param Elem Schema for array elements\n * @param onError Callback for errors\n * @returns Schema for array\n */\nexport function LooseArray<Schema extends z.ZodTypeAny>(\n Elem: Schema,\n { onError }: LooseOpts<unknown[]> = {},\n): z.ZodType<z.TypeOf<Schema>[], any> {\n if (!onError) {\n // Avoid error-related computations inside the loop\n return z.array(z.any()).transform((input) => {\n const output: z.infer<Schema>[] = [];\n for (const x of input) {\n const parsed = Elem.safeParse(x);\n if (parsed.success) {\n output.push(parsed.data);\n }\n }\n return output;\n });\n }\n\n return z.array(z.any()).transform((input) => {\n const output: z.infer<Schema>[] = [];\n const issues: z.ZodIssue[] = [];\n\n for (let idx = 0; idx < input.length; idx += 1) {\n const x = input[idx];\n const parsed = Elem.safeParse(x);\n\n if (parsed.success) {\n output.push(parsed.data);\n continue;\n }\n\n for (const issue of parsed.error.issues) {\n issues.push({ ...issue, path: [idx, ...issue.path] });\n }\n }\n\n if (issues.length) {\n const error = new z.ZodError(issues);\n onError({ error, input });\n }\n\n return output;\n });\n}\n\ntype LooseRecordResult<ValueSchema extends z.ZodTypeAny> = z.ZodType<\n Record<string, z.TypeOf<ValueSchema>>,\n any\n>;\n\ntype LooseRecordOpts = LooseOpts<Record<string, unknown>>;\n\n/**\n * Works like `z.record()`, but drops wrong elements instead of invalidating the whole record.\n *\n * **Important**: non-record inputs other are still invalid.\n * Use `LooseRecord(...).catch({})` to handle it.\n *\n * @param KeyValue Schema for record keys\n * @param ValueValue Schema for record values\n * @param onError Callback for errors\n * @returns Schema for record\n */\nexport function LooseRecord<ValueSchema extends z.ZodTypeAny>(\n Value: ValueSchema,\n): LooseRecordResult<ValueSchema>;\nexport function LooseRecord<\n KeySchema extends z.ZodTypeAny,\n ValueSchema extends z.ZodTypeAny,\n>(Key: KeySchema, Value: ValueSchema): LooseRecordResult<ValueSchema>;\nexport function LooseRecord<ValueSchema extends z.ZodTypeAny>(\n Value: ValueSchema,\n { onError }: LooseRecordOpts,\n): LooseRecordResult<ValueSchema>;\nexport function LooseRecord<\n KeySchema extends z.ZodTypeAny,\n ValueSchema extends z.ZodTypeAny,\n>(\n Key: KeySchema,\n Value: ValueSchema,\n { onError }: LooseRecordOpts,\n): LooseRecordResult<ValueSchema>;\nexport function LooseRecord<\n KeySchema extends z.ZodTypeAny,\n ValueSchema extends z.ZodTypeAny,\n>(\n arg1: ValueSchema | KeySchema,\n arg2?: ValueSchema | LooseOpts<Record<string, unknown>>,\n arg3?: LooseRecordOpts,\n): LooseRecordResult<ValueSchema> {\n let Key: z.ZodType = z.any();\n let Value: ValueSchema;\n let opts: LooseRecordOpts = {};\n if (arg2 && arg3) {\n Key = arg1 as KeySchema;\n Value = arg2 as ValueSchema;\n opts = arg3;\n } else if (arg2) {\n if (arg2 instanceof z.ZodType) {\n Key = arg1 as KeySchema;\n Value = arg2;\n } else {\n Value = arg1 as ValueSchema;\n opts = arg2;\n }\n } else {\n Value = arg1 as ValueSchema;\n }\n\n const { onError } = opts;\n if (!onError) {\n // Avoid error-related computations inside the loop\n return z.record(z.string(), z.any()).transform((input) => {\n const output: Record<string, z.infer<ValueSchema>> = {};\n for (const [inputKey, inputVal] of Object.entries(input)) {\n const parsedKey = Key.safeParse(inputKey);\n const parsedValue = Value.safeParse(inputVal);\n if (parsedKey.success && parsedValue.success) {\n output[parsedKey.data as string] = parsedValue.data;\n }\n }\n return output;\n });\n }\n\n return z.record(z.string(), z.any()).transform((input) => {\n const output: Record<string, z.infer<ValueSchema>> = {};\n const issues: z.ZodIssue[] = [];\n\n for (const [inputKey, inputVal] of Object.entries(input)) {\n const parsedKey = Key.safeParse(inputKey);\n if (!parsedKey.success) {\n for (const issue of parsedKey.error.issues) {\n issues.push({ ...issue, path: [inputKey, ...issue.path] });\n }\n continue;\n }\n\n const parsedValue = Value.safeParse(inputVal);\n if (!parsedValue.success) {\n for (const issue of parsedValue.error.issues) {\n issues.push({ ...issue, path: [inputKey, ...issue.path] });\n }\n continue;\n }\n\n output[parsedKey.data as string] = parsedValue.data;\n }\n\n if (issues.length) {\n const error = new z.ZodError(issues);\n onError({ error, input });\n }\n\n return output;\n });\n}\n\n/**\n * Accepts `null`, `undefined`, or an absent key and normalizes all to\n * `undefined`. Keeps the output type as `T | undefined` (never `null`), so\n * assignment into non-nullable targets needs no `?? undefined` coalescing.\n */\nexport function Nullish<Schema extends z.ZodTypeAny>(\n schema: Schema,\n): z.ZodOptional<z.ZodType<z.output<Schema> | undefined>> {\n return schema\n .nullable()\n .transform((value) => value ?? undefined)\n .optional();\n}\n\nfunction deepNullishRewrite(node: z.ZodTypeAny): z.ZodTypeAny {\n if (node instanceof z.ZodOptional) {\n return Nullish(deepNullishRewrite(node.unwrap() as z.ZodTypeAny));\n }\n if (node instanceof z.ZodObject) {\n const shape: Record<string, z.ZodTypeAny> = {};\n for (const [key, value] of Object.entries(node.shape)) {\n shape[key] = deepNullishRewrite(value as z.ZodTypeAny);\n }\n return z.object(shape);\n }\n if (node instanceof z.ZodArray) {\n return z.array(deepNullishRewrite(node.element as z.ZodTypeAny));\n }\n if (node instanceof z.ZodRecord) {\n return z.record(\n node.keyType,\n deepNullishRewrite(node.valueType as z.ZodTypeAny),\n );\n }\n if (node instanceof z.ZodUnion) {\n const options = node.options as z.ZodTypeAny[];\n return z.union(\n options.map(deepNullishRewrite) as [\n z.ZodTypeAny,\n z.ZodTypeAny,\n ...z.ZodTypeAny[],\n ],\n );\n }\n if (node instanceof z.ZodDefault) {\n return deepNullishRewrite(node.unwrap() as z.ZodTypeAny).default(\n node.def.defaultValue,\n );\n }\n if (node instanceof z.ZodNullable) {\n return z.nullable(deepNullishRewrite(node.unwrap() as z.ZodTypeAny));\n }\n if (node instanceof z.ZodPipe) {\n return z.pipe(\n node.def.in as z.ZodTypeAny,\n deepNullishRewrite(node.def.out as z.ZodTypeAny),\n );\n }\n return node;\n}\n\n/**\n * Walks `schema` at build time and replaces every `.optional()` position with\n * `Nullish` semantics — accepting `null`/`undefined`/absent and normalizing all\n * to `undefined`. Recurses through `object`, `array`, `record`, `union`,\n * `default`, `nullable`, and the **output side** of `pipe`/transform nodes\n * (e.g. `Json.pipe(…)`).\n *\n * Intentional `.nullable()` fields are preserved (null kept), distinguishing\n * this from a blunt null-stripping preprocessor.\n *\n * The pipe **input** side (the decoder, e.g. `Json`) is left untouched.\n * **`LooseArray`/`LooseRecord` remain opaque** because their element schema is\n * captured in a closure — wrap the inner schema directly for those\n * (e.g. `LooseArray(DeepNullish(Inner))`).\n *\n * Object modifiers (`.strict()`/`.catchall()`/`.passthrough()`/object-level\n * `.refine()`) are dropped by the `z.object(shape)` rebuild.\n */\nexport function DeepNullish<Schema extends z.ZodTypeAny>(\n schema: Schema,\n): z.ZodType<z.output<Schema>> {\n return deepNullishRewrite(schema) as z.ZodType<z.output<Schema>>;\n}\n\nexport const Json = z.string().transform((str, ctx): unknown => {\n try {\n return JSON.parse(str);\n } catch {\n ctx.addIssue({ code: 'custom', message: 'Invalid JSON' });\n return z.NEVER;\n }\n});\n\nexport const Json5 = z.string().transform((str, ctx): unknown => {\n try {\n return JSON5.parse(str);\n } catch {\n ctx.addIssue({ code: 'custom', message: 'Invalid JSON5' });\n return z.NEVER;\n }\n});\n\nexport const Jsonc = z.string().transform((str, ctx): unknown => {\n try {\n return parseJsonc(str);\n } catch {\n ctx.addIssue({ code: 'custom', message: 'Invalid JSONC' });\n return z.NEVER;\n }\n});\n\nexport const UtcDate = z\n .string()\n .describe('ISO 8601 string')\n .transform((str, ctx): DateTime => {\n const date = DateTime.fromISO(str, { zone: 'utc' });\n if (!date.isValid) {\n ctx.addIssue({ code: 'custom', message: 'Invalid date' });\n return z.NEVER;\n }\n return date;\n });\n\nexport const Yaml = z.string().transform((str, ctx): unknown => {\n try {\n return parseSingleYaml(str);\n } catch {\n ctx.addIssue({ code: 'custom', message: 'Invalid YAML' });\n return z.NEVER;\n }\n});\n\nexport const MultidocYaml = z.string().transform((str, ctx): unknown => {\n try {\n return parseYaml(str);\n } catch {\n ctx.addIssue({ code: 'custom', message: 'Invalid YAML' });\n return z.NEVER;\n }\n});\n\nexport function multidocYaml(\n opts?: Omit<YamlOptions, 'customSchema'>,\n): z.ZodType<JsonArray> {\n return z.string().transform((str, ctx): JsonArray => {\n try {\n return parseYaml(str, opts) as JsonArray;\n } catch {\n ctx.addIssue({ code: 'custom', message: 'Invalid YAML' });\n return z.NEVER;\n }\n });\n}\n\nexport const Toml = z.string().transform((str, ctx) => {\n try {\n return parseToml(str);\n } catch {\n ctx.addIssue({ code: 'custom', message: 'Invalid TOML' });\n return z.NEVER;\n }\n});\n\nexport const Ini = z.string().transform((str, ctx): Record<string, unknown> => {\n try {\n return ini.parse(str);\n } catch /* v8 ignore next -- TODO: add test #40625 */ {\n ctx.addIssue({ code: 'custom', message: 'Invalid INI' });\n return z.NEVER;\n }\n});\n\nexport function withDepType<\n Output extends PackageDependency[],\n Schema extends z.ZodType<Output>,\n>(schema: Schema, depType: string, force = true): z.ZodType<Output> {\n return schema.transform((deps) => {\n for (const dep of deps) {\n if (!dep.depType || force) {\n dep.depType = depType;\n }\n }\n return deps;\n });\n}\n\nexport function withDebugMessage<Output>(\n value: Output,\n msg: string,\n): (ctx: { error: unknown; input: unknown }) => Output {\n return ({ error: err }) => {\n logger.debug({ err }, msg);\n return value;\n };\n}\n\nexport function withTraceMessage<Output>(\n value: Output,\n msg: string,\n): (ctx: { error: unknown; input: unknown }) => Output {\n return ({ error: err }) => {\n logger.trace({ err }, msg);\n return value;\n };\n}\n\nfunction isCircular(value: unknown, visited = new Set<unknown>()): boolean {\n if (value === null || typeof value !== 'object') {\n return false;\n }\n\n if (visited.has(value)) {\n return true;\n }\n\n const downstreamVisited = new Set(visited);\n downstreamVisited.add(value);\n\n if (Array.isArray(value)) {\n for (const childValue of value) {\n if (isCircular(childValue, downstreamVisited)) {\n return true;\n }\n }\n\n return false;\n }\n\n const values = Object.values(value);\n for (const ov of values) {\n if (isCircular(ov, downstreamVisited)) {\n return true;\n }\n }\n\n return false;\n}\n\nexport const NotCircular = z.unknown().superRefine((val, ctx) => {\n if (isCircular(val)) {\n ctx.addIssue({\n code: 'custom',\n message: 'values cannot be circular data structures',\n fatal: true,\n });\n\n return z.NEVER;\n }\n});\n\nexport const EmailAddress = z.email();\nexport type EmailAddress = z.infer<typeof EmailAddress>;\n\nexport function isEmailAdress(value: string): boolean {\n return EmailAddress.safeParse(value).success;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["parseToml"],"sources":["../../../lib/util/schema-utils/index.ts"],"sourcesContent":["import ini from 'ini';\nimport JSON5 from 'json5';\nimport { DateTime } from 'luxon';\nimport type { JsonArray } from 'type-fest';\nimport { z } from 'zod/v4';\nimport { logger } from '../../logger/index.ts';\nimport type { PackageDependency } from '../../modules/manager/types.ts';\nimport { parseJsonc } from '../common.ts';\nimport { parse as parseToml } from '../toml.ts';\nimport type { YamlOptions } from '../yaml.ts';\nimport { parseSingleYaml, parseYaml } from '../yaml.ts';\n\ninterface ErrorContext<T> {\n error: z.ZodError;\n input: T;\n}\n\ninterface LooseOpts<T> {\n onError?: (err: ErrorContext<T>) => void;\n}\n\n/**\n * Works like `z.array()`, but drops wrong elements instead of invalidating the whole array.\n *\n * **Important**: non-array inputs are still invalid.\n * Use `LooseArray(...).catch([])` to handle it.\n *\n * @param Elem Schema for array elements\n * @param onError Callback for errors\n * @returns Schema for array\n */\nexport function LooseArray<Schema extends z.ZodTypeAny>(\n Elem: Schema,\n { onError }: LooseOpts<unknown[]> = {},\n): z.ZodType<z.TypeOf<Schema>[], any> {\n if (!onError) {\n // Avoid error-related computations inside the loop\n return z.array(z.any()).transform((input) => {\n const output: z.infer<Schema>[] = [];\n for (const x of input) {\n const parsed = Elem.safeParse(x);\n if (parsed.success) {\n output.push(parsed.data);\n }\n }\n return output;\n });\n }\n\n return z.array(z.any()).transform((input) => {\n const output: z.infer<Schema>[] = [];\n const issues: z.ZodIssue[] = [];\n\n for (let idx = 0; idx < input.length; idx += 1) {\n const x = input[idx];\n const parsed = Elem.safeParse(x);\n\n if (parsed.success) {\n output.push(parsed.data);\n continue;\n }\n\n for (const issue of parsed.error.issues) {\n issues.push({ ...issue, path: [idx, ...issue.path] });\n }\n }\n\n if (issues.length) {\n const error = new z.ZodError(issues);\n onError({ error, input });\n }\n\n return output;\n });\n}\n\ntype LooseRecordResult<ValueSchema extends z.ZodTypeAny> = z.ZodType<\n Record<string, z.TypeOf<ValueSchema>>,\n any\n>;\n\ntype LooseRecordOpts = LooseOpts<Record<string, unknown>>;\n\n/**\n * Works like `z.record()`, but drops wrong elements instead of invalidating the whole record.\n *\n * **Important**: non-record inputs other are still invalid.\n * Use `LooseRecord(...).catch({})` to handle it.\n *\n * @param KeyValue Schema for record keys\n * @param ValueValue Schema for record values\n * @param onError Callback for errors\n * @returns Schema for record\n */\nexport function LooseRecord<ValueSchema extends z.ZodTypeAny>(\n Value: ValueSchema,\n): LooseRecordResult<ValueSchema>;\nexport function LooseRecord<\n KeySchema extends z.ZodTypeAny,\n ValueSchema extends z.ZodTypeAny,\n>(Key: KeySchema, Value: ValueSchema): LooseRecordResult<ValueSchema>;\nexport function LooseRecord<ValueSchema extends z.ZodTypeAny>(\n Value: ValueSchema,\n { onError }: LooseRecordOpts,\n): LooseRecordResult<ValueSchema>;\nexport function LooseRecord<\n KeySchema extends z.ZodTypeAny,\n ValueSchema extends z.ZodTypeAny,\n>(\n Key: KeySchema,\n Value: ValueSchema,\n { onError }: LooseRecordOpts,\n): LooseRecordResult<ValueSchema>;\nexport function LooseRecord<\n KeySchema extends z.ZodTypeAny,\n ValueSchema extends z.ZodTypeAny,\n>(\n arg1: ValueSchema | KeySchema,\n arg2?: ValueSchema | LooseOpts<Record<string, unknown>>,\n arg3?: LooseRecordOpts,\n): LooseRecordResult<ValueSchema> {\n let Key: z.ZodType = z.any();\n let Value: ValueSchema;\n let opts: LooseRecordOpts = {};\n if (arg2 && arg3) {\n Key = arg1 as KeySchema;\n Value = arg2 as ValueSchema;\n opts = arg3;\n } else if (arg2) {\n if (arg2 instanceof z.ZodType) {\n Key = arg1 as KeySchema;\n Value = arg2;\n } else {\n Value = arg1 as ValueSchema;\n opts = arg2;\n }\n } else {\n Value = arg1 as ValueSchema;\n }\n\n const { onError } = opts;\n if (!onError) {\n // Avoid error-related computations inside the loop\n return z.record(z.string(), z.any()).transform((input) => {\n const output: Record<string, z.infer<ValueSchema>> = {};\n for (const [inputKey, inputVal] of Object.entries(input)) {\n const parsedKey = Key.safeParse(inputKey);\n const parsedValue = Value.safeParse(inputVal);\n if (parsedKey.success && parsedValue.success) {\n output[parsedKey.data as string] = parsedValue.data;\n }\n }\n return output;\n });\n }\n\n return z.record(z.string(), z.any()).transform((input) => {\n const output: Record<string, z.infer<ValueSchema>> = {};\n const issues: z.ZodIssue[] = [];\n\n for (const [inputKey, inputVal] of Object.entries(input)) {\n const parsedKey = Key.safeParse(inputKey);\n if (!parsedKey.success) {\n for (const issue of parsedKey.error.issues) {\n issues.push({ ...issue, path: [inputKey, ...issue.path] });\n }\n continue;\n }\n\n const parsedValue = Value.safeParse(inputVal);\n if (!parsedValue.success) {\n for (const issue of parsedValue.error.issues) {\n issues.push({ ...issue, path: [inputKey, ...issue.path] });\n }\n continue;\n }\n\n output[parsedKey.data as string] = parsedValue.data;\n }\n\n if (issues.length) {\n const error = new z.ZodError(issues);\n onError({ error, input });\n }\n\n return output;\n });\n}\n\n/**\n * Accepts `null`, `undefined`, or an absent key and normalizes all to\n * `undefined`. Keeps the output type as `T | undefined` (never `null`), so\n * assignment into non-nullable targets needs no `?? undefined` coalescing.\n */\nexport function Nullish<Schema extends z.ZodTypeAny>(\n schema: Schema,\n): z.ZodOptional<z.ZodType<z.output<Schema> | undefined>> {\n return schema\n .nullable()\n .transform((value) => value ?? undefined)\n .optional();\n}\n\nfunction deepNullishRewrite(node: z.ZodTypeAny): z.ZodTypeAny {\n if (node instanceof z.ZodOptional) {\n return Nullish(deepNullishRewrite(node.unwrap() as z.ZodTypeAny));\n }\n if (node instanceof z.ZodObject) {\n const shape: Record<string, z.ZodTypeAny> = {};\n for (const [key, value] of Object.entries(node.shape)) {\n shape[key] = deepNullishRewrite(value as z.ZodTypeAny);\n }\n return z.object(shape);\n }\n if (node instanceof z.ZodArray) {\n return z.array(deepNullishRewrite(node.element as z.ZodTypeAny));\n }\n if (node instanceof z.ZodRecord) {\n return z.record(\n node.keyType,\n deepNullishRewrite(node.valueType as z.ZodTypeAny),\n );\n }\n if (node instanceof z.ZodUnion) {\n const options = node.options as z.ZodTypeAny[];\n return z.union(\n options.map(deepNullishRewrite) as [\n z.ZodTypeAny,\n z.ZodTypeAny,\n ...z.ZodTypeAny[],\n ],\n );\n }\n if (node instanceof z.ZodDefault) {\n return deepNullishRewrite(node.unwrap() as z.ZodTypeAny).default(\n node.def.defaultValue,\n );\n }\n if (node instanceof z.ZodNullable) {\n return z.nullable(deepNullishRewrite(node.unwrap() as z.ZodTypeAny));\n }\n if (node instanceof z.ZodPipe) {\n return z.pipe(\n node.def.in as z.ZodTypeAny,\n deepNullishRewrite(node.def.out as z.ZodTypeAny),\n );\n }\n return node;\n}\n\n/**\n * Walks `schema` at build time and replaces every `.optional()` position with\n * `Nullish` semantics — accepting `null`/`undefined`/absent and normalizing all\n * to `undefined`. Recurses through `object`, `array`, `record`, `union`,\n * `default`, `nullable`, and the **output side** of `pipe`/transform nodes\n * (e.g. `Json.pipe(…)`).\n *\n * Intentional `.nullable()` fields are preserved (null kept), distinguishing\n * this from a blunt null-stripping preprocessor.\n *\n * The pipe **input** side (the decoder, e.g. `Json`) is left untouched.\n * **`LooseArray`/`LooseRecord` remain opaque** because their element schema is\n * captured in a closure — wrap the inner schema directly for those\n * (e.g. `LooseArray(DeepNullish(Inner))`).\n *\n * Object modifiers (`.strict()`/`.catchall()`/`.passthrough()`/object-level\n * `.refine()`) are dropped by the `z.object(shape)` rebuild.\n */\nexport function DeepNullish<Schema extends z.ZodTypeAny>(\n schema: Schema,\n): z.ZodType<z.output<Schema>> {\n return deepNullishRewrite(schema) as z.ZodType<z.output<Schema>>;\n}\n\nexport const Json = z.string().transform((str, ctx): unknown => {\n try {\n return JSON.parse(str);\n } catch {\n ctx.addIssue({ code: 'custom', message: 'Invalid JSON' });\n return z.NEVER;\n }\n});\n\nexport const Json5 = z.string().transform((str, ctx): unknown => {\n try {\n return JSON5.parse(str);\n } catch {\n ctx.addIssue({ code: 'custom', message: 'Invalid JSON5' });\n return z.NEVER;\n }\n});\n\nexport const Jsonc = z.string().transform((str, ctx): unknown => {\n try {\n return parseJsonc(str);\n } catch {\n ctx.addIssue({ code: 'custom', message: 'Invalid JSONC' });\n return z.NEVER;\n }\n});\n\nexport const UtcDate = z\n .string()\n .describe('ISO 8601 string')\n .transform((str, ctx): DateTime => {\n const date = DateTime.fromISO(str, { zone: 'utc' });\n if (!date.isValid) {\n ctx.addIssue({ code: 'custom', message: 'Invalid date' });\n return z.NEVER;\n }\n return date;\n });\n\nexport const Yaml = z.string().transform((str, ctx): unknown => {\n try {\n return parseSingleYaml(str);\n } catch {\n ctx.addIssue({ code: 'custom', message: 'Invalid YAML' });\n return z.NEVER;\n }\n});\n\nexport const MultidocYaml = z.string().transform((str, ctx): unknown => {\n try {\n return parseYaml(str);\n } catch {\n ctx.addIssue({ code: 'custom', message: 'Invalid YAML' });\n return z.NEVER;\n }\n});\n\nexport function multidocYaml(\n opts?: Omit<YamlOptions, 'customSchema'>,\n): z.ZodType<JsonArray> {\n return z.string().transform((str, ctx): JsonArray => {\n try {\n return parseYaml(str, opts) as JsonArray;\n } catch {\n ctx.addIssue({ code: 'custom', message: 'Invalid YAML' });\n return z.NEVER;\n }\n });\n}\n\nexport const Toml = z.string().transform((str, ctx) => {\n try {\n return parseToml(str);\n } catch {\n ctx.addIssue({ code: 'custom', message: 'Invalid TOML' });\n return z.NEVER;\n }\n});\n\nexport const Ini = z.string().transform((str, ctx): Record<string, unknown> => {\n try {\n return ini.parse(str);\n } catch /* v8 ignore next -- TODO: add test #40625 */ {\n ctx.addIssue({ code: 'custom', message: 'Invalid INI' });\n return z.NEVER;\n }\n});\n\nexport function withDepType<\n Output extends PackageDependency[],\n Schema extends z.ZodType<Output>,\n>(schema: Schema, depType: string, force = true): z.ZodType<Output> {\n return schema.transform((deps) => {\n for (const dep of deps) {\n if (!dep.depType || force) {\n dep.depType = depType;\n }\n }\n return deps;\n });\n}\n\nexport function withDebugMessage<Output>(\n value: Output,\n msg: string,\n): (ctx: { error: unknown; input: unknown }) => Output {\n return ({ error: err }) => {\n logger.debug({ err }, msg);\n return value;\n };\n}\n\nexport function withTraceMessage<Output>(\n value: Output,\n msg: string,\n): (ctx: { error: unknown; input: unknown }) => Output {\n return ({ error: err }) => {\n logger.trace({ err }, msg);\n return value;\n };\n}\n\nfunction isCircular(value: unknown, visited = new Set<unknown>()): boolean {\n if (value === null || typeof value !== 'object') {\n return false;\n }\n\n if (visited.has(value)) {\n return true;\n }\n\n const downstreamVisited = new Set(visited);\n downstreamVisited.add(value);\n\n if (Array.isArray(value)) {\n for (const childValue of value) {\n if (isCircular(childValue, downstreamVisited)) {\n return true;\n }\n }\n\n return false;\n }\n\n const values = Object.values(value);\n for (const ov of values) {\n if (isCircular(ov, downstreamVisited)) {\n return true;\n }\n }\n\n return false;\n}\n\nexport const NotCircular = z.unknown().superRefine((val, ctx) => {\n if (isCircular(val)) {\n ctx.addIssue({\n code: 'custom',\n message: 'values cannot be circular data structures',\n fatal: true,\n });\n\n return z.NEVER;\n }\n});\n\nconst StandardEmail = z.email();\n\n// GitHub/Forgejo apps use addresses like `1234+name[bot]@users.noreply.github.com`.\n// The `[bot]` marker is not valid in the local part per RFC 5322, so we strip it before\nexport const EmailAddress = z\n .string()\n .refine(\n (value) => StandardEmail.safeParse(value.replace('[bot]@', '@')).success,\n 'Invalid email address',\n );\nexport type EmailAddress = z.infer<typeof EmailAddress>;\n\nexport function isEmailAdress(value: string): boolean {\n return EmailAddress.safeParse(value).success;\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
package/renovate-schema.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$id": "https://docs.renovatebot.com/renovate-schema.json",
|
|
3
|
-
"title": "JSON schema for Renovate 43.244.
|
|
3
|
+
"title": "JSON schema for Renovate 43.244.1 config files (https://renovatebot.com/)",
|
|
4
4
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5
|
-
"x-renovate-version": "43.244.
|
|
5
|
+
"x-renovate-version": "43.244.1",
|
|
6
6
|
"allowComments": true,
|
|
7
7
|
"type": "object",
|
|
8
8
|
"definitions": {
|