renovate 43.25.1 → 43.25.2
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.
|
@@ -56,7 +56,7 @@ function hasValidSchedule(schedule) {
|
|
|
56
56
|
function cronMatches(cron, now, timezone) {
|
|
57
57
|
const parsedCron = new Cron(cron, {
|
|
58
58
|
...timezone && { timezone },
|
|
59
|
-
|
|
59
|
+
domAndDow: true
|
|
60
60
|
});
|
|
61
61
|
// istanbul ignore if
|
|
62
62
|
if (!parsedCron) return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule.js","names":[],"sources":["../../../../../lib/workers/repository/update/branch/schedule.ts"],"sourcesContent":["import later from '@breejs/later';\nimport { isArray } from '@sindresorhus/is';\nimport { Cron, CronPattern } from 'croner';\nimport cronstrue from 'cronstrue';\nimport { DateTime } from 'luxon';\nimport { fixShortHours } from '../../../../config/migration.ts';\nimport type { RenovateConfig } from '../../../../config/types.ts';\nimport { logger } from '../../../../logger/index.ts';\n\nconst scheduleMappings: Record<string, string> = {\n 'every month': 'before 5am on the first day of the month',\n monthly: 'before 5am on the first day of the month',\n};\n\nconst minutesChar = '*';\n\nfunction parseCron(scheduleText: string): CronPattern | undefined {\n try {\n return new CronPattern(scheduleText);\n } catch {\n return undefined;\n }\n}\n\nexport function hasValidTimezone(timezone: string): [true] | [false, string] {\n if (!DateTime.local().setZone(timezone).isValid) {\n return [false, `Invalid schedule: Unsupported timezone ${timezone}`];\n }\n return [true];\n}\n\nexport function hasValidSchedule(\n schedule: string[] | null | 'at any time',\n): [true] | [false, string] {\n let message = '';\n if (\n !schedule ||\n schedule === 'at any time' ||\n schedule[0] === 'at any time'\n ) {\n return [true];\n }\n // check if any of the schedules fail to parse\n const hasFailedSchedules = schedule.some((scheduleText) => {\n const parsedCron = parseCron(scheduleText);\n if (parsedCron !== undefined) {\n if (\n parsedCron.minute.filter((v) => v !== 1).length !== 0 ||\n !scheduleText.startsWith(minutesChar)\n ) {\n message = `Invalid schedule: \"${scheduleText}\" has cron syntax, but doesn't have * as minutes`;\n return true;\n }\n\n // It was valid cron syntax and * as minutes\n return false;\n }\n\n const massagedText = fixShortHours(\n scheduleMappings[scheduleText] || scheduleText,\n );\n\n const parsedSchedule = later.parse.text(massagedText);\n if (parsedSchedule.error !== -1) {\n message = `Invalid schedule: Failed to parse \"${scheduleText}\"`;\n // It failed to parse\n return true;\n }\n if (parsedSchedule.schedules.some((s) => s.m)) {\n message = `Invalid schedule: \"${scheduleText}\" should not specify minutes`;\n return true;\n }\n if (\n !parsedSchedule.schedules.some(\n (s) =>\n !!s.M || s.d !== undefined || !!s.D || s.t_a !== undefined || !!s.t_b,\n )\n ) {\n message = `Invalid schedule: \"${scheduleText}\" has no months, days of week or time of day`;\n return true;\n }\n // It must be OK\n return false;\n });\n if (hasFailedSchedules) {\n // If any fail then we invalidate the whole thing\n return [false, message];\n }\n return [true];\n}\n\nexport function cronMatches(\n cron: string,\n now: DateTime,\n timezone?: string,\n): boolean {\n const parsedCron: Cron = new Cron(cron, {\n ...(timezone && { timezone }),\n legacyMode: false,\n });\n // it will always parse because it is checked beforehand\n // istanbul ignore if\n if (!parsedCron) {\n return false;\n }\n\n // return the next date which matches the cron schedule\n const nextRun = parsedCron.nextRun();\n // istanbul ignore if: should not happen\n if (!nextRun) {\n logger.warn(\n { schedule: cron },\n 'Invalid cron schedule. No next run is possible',\n );\n return false;\n }\n\n let nextDate = DateTime.fromJSDate(nextRun);\n if (timezone) {\n nextDate = nextDate.setZone(timezone);\n }\n\n return (\n nextDate.hour === now.hour &&\n nextDate.day === now.day &&\n nextDate.month === now.month\n );\n}\n\nexport function isScheduledNow(\n config: RenovateConfig,\n scheduleKey: 'schedule' | 'automergeSchedule' = 'schedule',\n): boolean {\n let configSchedule = config[scheduleKey];\n logger.debug(\n // TODO: types (#22198)\n `Checking schedule(schedule=${String(configSchedule)}, tz=${config.timezone!}, now=${new Date().toISOString()})`,\n );\n if (\n !configSchedule ||\n configSchedule.length === 0 ||\n configSchedule[0] === '' ||\n configSchedule[0] === 'at any time'\n ) {\n logger.debug('No schedule defined');\n return true;\n }\n if (!isArray(configSchedule)) {\n logger.warn(\n { schedule: configSchedule },\n 'config schedule is not an array',\n );\n configSchedule = [configSchedule];\n }\n const validSchedule = hasValidSchedule(configSchedule);\n if (!validSchedule[0]) {\n logger.warn(validSchedule[1]);\n return true;\n }\n let now: DateTime = DateTime.local();\n logger.trace(`now=${now.toISO()!}`);\n // Adjust the time if repo is in a different timezone to renovate\n if (config.timezone) {\n logger.debug(`Found timezone: ${config.timezone}`);\n const validTimezone = hasValidTimezone(config.timezone);\n if (!validTimezone[0]) {\n logger.warn(validTimezone[1]);\n return true;\n }\n logger.debug('Adjusting now for timezone');\n now = now.setZone(config.timezone);\n logger.trace(`now=${now.toISO()!}`);\n }\n const currentDay = now.weekday;\n logger.trace(`currentDay=${currentDay}`);\n // Get the number of seconds since midnight\n const currentSeconds = now\n .startOf('second')\n .diff(now.startOf('day'), 'seconds').seconds;\n logger.trace(`currentSeconds=${currentSeconds}`);\n // Support a single string but massage to array for processing\n logger.debug(`Checking ${configSchedule.length} schedule(s)`);\n\n // later is timezone agnostic (as in, it purely relies on the underlying UTC date/time that is stored in the Date),\n // which means we have to pass it a Date that has an underlying UTC date/time in the same timezone as the schedule\n const jsNow = now.setZone('utc', { keepLocalTime: true }).toJSDate();\n\n // We run if any schedule matches\n const isWithinSchedule = configSchedule.some((scheduleText) => {\n const cronSchedule = parseCron(scheduleText);\n if (cronSchedule) {\n const cronScheduleSummary = cronstrue.toString(scheduleText, {\n throwExceptionOnParseError: false,\n });\n logger.debug(`Human-readable summary for cron:: ${cronScheduleSummary}`);\n // We have Cron syntax\n if (cronMatches(scheduleText, now, config.timezone)) {\n logger.debug(`Matches schedule ${scheduleText}`);\n return true;\n }\n } else {\n // We have Later syntax\n const massagedText = scheduleMappings[scheduleText] || scheduleText;\n const parsedSchedule = later.parse.text(fixShortHours(massagedText));\n logger.debug({ parsedSchedule }, `Checking schedule \"${scheduleText}\"`);\n\n if (later.schedule(parsedSchedule).isValid(jsNow)) {\n logger.debug(`Matches schedule ${scheduleText}`);\n return true;\n }\n }\n\n return false;\n });\n if (!isWithinSchedule) {\n logger.debug('Package not scheduled');\n return false;\n }\n return true;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schedule.js","names":[],"sources":["../../../../../lib/workers/repository/update/branch/schedule.ts"],"sourcesContent":["import later from '@breejs/later';\nimport { isArray } from '@sindresorhus/is';\nimport { Cron, CronPattern } from 'croner';\nimport cronstrue from 'cronstrue';\nimport { DateTime } from 'luxon';\nimport { fixShortHours } from '../../../../config/migration.ts';\nimport type { RenovateConfig } from '../../../../config/types.ts';\nimport { logger } from '../../../../logger/index.ts';\n\nconst scheduleMappings: Record<string, string> = {\n 'every month': 'before 5am on the first day of the month',\n monthly: 'before 5am on the first day of the month',\n};\n\nconst minutesChar = '*';\n\nfunction parseCron(scheduleText: string): CronPattern | undefined {\n try {\n return new CronPattern(scheduleText);\n } catch {\n return undefined;\n }\n}\n\nexport function hasValidTimezone(timezone: string): [true] | [false, string] {\n if (!DateTime.local().setZone(timezone).isValid) {\n return [false, `Invalid schedule: Unsupported timezone ${timezone}`];\n }\n return [true];\n}\n\nexport function hasValidSchedule(\n schedule: string[] | null | 'at any time',\n): [true] | [false, string] {\n let message = '';\n if (\n !schedule ||\n schedule === 'at any time' ||\n schedule[0] === 'at any time'\n ) {\n return [true];\n }\n // check if any of the schedules fail to parse\n const hasFailedSchedules = schedule.some((scheduleText) => {\n const parsedCron = parseCron(scheduleText);\n if (parsedCron !== undefined) {\n if (\n parsedCron.minute.filter((v) => v !== 1).length !== 0 ||\n !scheduleText.startsWith(minutesChar)\n ) {\n message = `Invalid schedule: \"${scheduleText}\" has cron syntax, but doesn't have * as minutes`;\n return true;\n }\n\n // It was valid cron syntax and * as minutes\n return false;\n }\n\n const massagedText = fixShortHours(\n scheduleMappings[scheduleText] || scheduleText,\n );\n\n const parsedSchedule = later.parse.text(massagedText);\n if (parsedSchedule.error !== -1) {\n message = `Invalid schedule: Failed to parse \"${scheduleText}\"`;\n // It failed to parse\n return true;\n }\n if (parsedSchedule.schedules.some((s) => s.m)) {\n message = `Invalid schedule: \"${scheduleText}\" should not specify minutes`;\n return true;\n }\n if (\n !parsedSchedule.schedules.some(\n (s) =>\n !!s.M || s.d !== undefined || !!s.D || s.t_a !== undefined || !!s.t_b,\n )\n ) {\n message = `Invalid schedule: \"${scheduleText}\" has no months, days of week or time of day`;\n return true;\n }\n // It must be OK\n return false;\n });\n if (hasFailedSchedules) {\n // If any fail then we invalidate the whole thing\n return [false, message];\n }\n return [true];\n}\n\nexport function cronMatches(\n cron: string,\n now: DateTime,\n timezone?: string,\n): boolean {\n const parsedCron: Cron = new Cron(cron, {\n ...(timezone && { timezone }),\n domAndDow: true,\n });\n // it will always parse because it is checked beforehand\n // istanbul ignore if\n if (!parsedCron) {\n return false;\n }\n\n // return the next date which matches the cron schedule\n const nextRun = parsedCron.nextRun();\n // istanbul ignore if: should not happen\n if (!nextRun) {\n logger.warn(\n { schedule: cron },\n 'Invalid cron schedule. No next run is possible',\n );\n return false;\n }\n\n let nextDate = DateTime.fromJSDate(nextRun);\n if (timezone) {\n nextDate = nextDate.setZone(timezone);\n }\n\n return (\n nextDate.hour === now.hour &&\n nextDate.day === now.day &&\n nextDate.month === now.month\n );\n}\n\nexport function isScheduledNow(\n config: RenovateConfig,\n scheduleKey: 'schedule' | 'automergeSchedule' = 'schedule',\n): boolean {\n let configSchedule = config[scheduleKey];\n logger.debug(\n // TODO: types (#22198)\n `Checking schedule(schedule=${String(configSchedule)}, tz=${config.timezone!}, now=${new Date().toISOString()})`,\n );\n if (\n !configSchedule ||\n configSchedule.length === 0 ||\n configSchedule[0] === '' ||\n configSchedule[0] === 'at any time'\n ) {\n logger.debug('No schedule defined');\n return true;\n }\n if (!isArray(configSchedule)) {\n logger.warn(\n { schedule: configSchedule },\n 'config schedule is not an array',\n );\n configSchedule = [configSchedule];\n }\n const validSchedule = hasValidSchedule(configSchedule);\n if (!validSchedule[0]) {\n logger.warn(validSchedule[1]);\n return true;\n }\n let now: DateTime = DateTime.local();\n logger.trace(`now=${now.toISO()!}`);\n // Adjust the time if repo is in a different timezone to renovate\n if (config.timezone) {\n logger.debug(`Found timezone: ${config.timezone}`);\n const validTimezone = hasValidTimezone(config.timezone);\n if (!validTimezone[0]) {\n logger.warn(validTimezone[1]);\n return true;\n }\n logger.debug('Adjusting now for timezone');\n now = now.setZone(config.timezone);\n logger.trace(`now=${now.toISO()!}`);\n }\n const currentDay = now.weekday;\n logger.trace(`currentDay=${currentDay}`);\n // Get the number of seconds since midnight\n const currentSeconds = now\n .startOf('second')\n .diff(now.startOf('day'), 'seconds').seconds;\n logger.trace(`currentSeconds=${currentSeconds}`);\n // Support a single string but massage to array for processing\n logger.debug(`Checking ${configSchedule.length} schedule(s)`);\n\n // later is timezone agnostic (as in, it purely relies on the underlying UTC date/time that is stored in the Date),\n // which means we have to pass it a Date that has an underlying UTC date/time in the same timezone as the schedule\n const jsNow = now.setZone('utc', { keepLocalTime: true }).toJSDate();\n\n // We run if any schedule matches\n const isWithinSchedule = configSchedule.some((scheduleText) => {\n const cronSchedule = parseCron(scheduleText);\n if (cronSchedule) {\n const cronScheduleSummary = cronstrue.toString(scheduleText, {\n throwExceptionOnParseError: false,\n });\n logger.debug(`Human-readable summary for cron:: ${cronScheduleSummary}`);\n // We have Cron syntax\n if (cronMatches(scheduleText, now, config.timezone)) {\n logger.debug(`Matches schedule ${scheduleText}`);\n return true;\n }\n } else {\n // We have Later syntax\n const massagedText = scheduleMappings[scheduleText] || scheduleText;\n const parsedSchedule = later.parse.text(fixShortHours(massagedText));\n logger.debug({ parsedSchedule }, `Checking schedule \"${scheduleText}\"`);\n\n if (later.schedule(parsedSchedule).isValid(jsNow)) {\n logger.debug(`Matches schedule ${scheduleText}`);\n return true;\n }\n }\n\n return false;\n });\n if (!isWithinSchedule) {\n logger.debug('Package not scheduled');\n return false;\n }\n return true;\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "renovate",
|
|
3
3
|
"description": "Automated dependency updates. Flexible so you don't need to be.",
|
|
4
|
-
"version": "43.25.
|
|
4
|
+
"version": "43.25.2",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"renovate": "dist/renovate.js",
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
"clean-git-ref": "2.0.1",
|
|
140
140
|
"commander": "14.0.3",
|
|
141
141
|
"conventional-commits-detector": "1.0.3",
|
|
142
|
-
"croner": "
|
|
142
|
+
"croner": "10.0.1",
|
|
143
143
|
"cronstrue": "3.12.0",
|
|
144
144
|
"deepmerge": "4.3.1",
|
|
145
145
|
"dequal": "2.0.3",
|
package/renovate-schema.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"title": "JSON schema for Renovate 43.25.
|
|
2
|
+
"title": "JSON schema for Renovate 43.25.2 config files (https://renovatebot.com/)",
|
|
3
3
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
-
"x-renovate-version": "43.25.
|
|
4
|
+
"x-renovate-version": "43.25.2",
|
|
5
5
|
"allowComments": true,
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|