From 27428615b98761d15931652f77f6f8e3a60bdada Mon Sep 17 00:00:00 2001 From: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Date: Sun, 31 May 2026 09:56:33 -0400 Subject: [PATCH] fix(renovate): extend customManagers for Jekyll sites --- renovate-config.json5 | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/renovate-config.json5 b/renovate-config.json5 index a0a6c604..960b5924 100644 --- a/renovate-config.json5 +++ b/renovate-config.json5 @@ -114,32 +114,43 @@ }, ], "customManagers": [ - // cdnjs URLs in Jekyll config files and front matter, with optional adjacent SRI hashes. + // cdnjs URLs in Jekyll config files, front matter, data YAML, and simple HTML attrs, with optional adjacent SRI hashes. { "customType": "regex", "managerFilePatterns": [ - "/^(?:_config(?:_[^/]+)?[.]ya?ml|_layouts/.*[.]html|[^/]+[.](?:html|md)|blog/.*[.]html|_posts/.*[.]md|docs/.*[.]md)$/", + "/^(?:_config(?:_[^/]+)?[.]ya?ml|_data/.*[.]ya?ml|_layouts/.*[.]html|[^/]+[.](?:html|md)|blog/.*[.]html|_posts/.*[.]md|docs/.*[.]md|gh-pages-template/(?:_data/.*[.]ya?ml|.*[.](?:html|md)))$/", ], "matchStrings": [ - "(?:href:\\s*[\"']|-\\s*[\"'])(?:https?:)?//cdnjs\\.cloudflare\\.com/ajax/libs/(?[^/\"'\\s]+)/(?[^/\"'\\s]+)/(?[^\"'\\s?#]+)(?:\\?[^\"'\\s]*)?[\"'](?:\\s*\\r?\\n\\s*sri:\\s*[\"'](?sha(?:256|384|512)-[^\"']+)[\"'])?", + "(?:(?:href|src):\\s*[\"']?|-\\s*[\"']?|(?:href|src)=[\"'])(?:https?:)?//cdnjs\\.cloudflare\\.com/ajax/libs/(?[^/\"'\\s]+)/(?[^/\"'\\s]+)/(?[^\"'\\s?#]+)(?:\\?[^\"'\\s]*)?[\"']?(?:\\s*\\r?\\n\\s*sri:\\s*[\"'](?sha(?:256|384|512)-[^\"']+)[\"'])?", ], "datasourceTemplate": "cdnjs", "packageNameTemplate": "{{depName}}/{{asset}}", "versioningTemplate": "semver", }, - // Versioned npm CDN href/scalar entries in Jekyll config files and front matter without SRI. + // Versioned npm CDN href/src/scalar entries in Jekyll config files, front matter, data YAML, and simple HTML attrs without SRI. { "customType": "regex", "managerFilePatterns": [ - "/^(?:_config(?:_[^/]+)?[.]ya?ml|_layouts/.*[.]html|[^/]+[.](?:html|md)|blog/.*[.]html|_posts/.*[.]md|docs/.*[.]md)$/", + "/^(?:_config(?:_[^/]+)?[.]ya?ml|_data/.*[.]ya?ml|_layouts/.*[.]html|[^/]+[.](?:html|md)|blog/.*[.]html|_posts/.*[.]md|docs/.*[.]md|gh-pages-template/(?:_data/.*[.]ya?ml|.*[.](?:html|md)))$/", ], "matchStrings": [ - "href:\\s*[\"']https://(?:cdn\\.jsdelivr\\.net/npm|unpkg\\.com)/(?(?:@[^@/\"'\\s]+/)?[^@/\"'\\s]+)@(?[^/\"'\\s?#]+)", - "(?:^|\\r?\\n)[ \\t]*-[ \\t]*[\"']https://(?:cdn\\.jsdelivr\\.net/npm|unpkg\\.com)/(?(?:@[^@/\"'\\s]+/)?[^@/\"'\\s]+)@(?[^/\"'\\s?#]+)", + "(?:(?:href|src):\\s*[\"']?|(?:href|src)=[\"'])https://(?:cdn\\.jsdelivr\\.net/npm|unpkg\\.com)/(?(?:@[^@/\"'\\s]+/)?[^@/\"'\\s]+)@(?[^/\"'\\s?#]+)", + "(?:^|\\r?\\n)[ \\t]*-[ \\t]*[\"']?https://(?:cdn\\.jsdelivr\\.net/npm|unpkg\\.com)/(?(?:@[^@/\"'\\s]+/)?[^@/\"'\\s]+)@(?[^/\"'\\s?#]+)", ], "datasourceTemplate": "npm", "versioningTemplate": "npm", }, + // Annotated YAML version fields such as _data/licenses.yml in LizardByte.github.io + { + "customType": "regex", + "managerFilePatterns": [ + "/^(?:_data/.*[.]ya?ml|gh-pages-template/_data/.*[.]ya?ml)$/", + ], + "matchStrings": [ + "# renovate: datasource=(?[a-zA-Z0-9-._]+?) depName=(?[^\\s]+?)(?:(?:[ \\t]+|\\s*\\r?\\n\\s*#\\s*)packageName=(?[^\\s]+?))?(?:(?:[ \\t]+|\\s*\\r?\\n\\s*#\\s*)versioning=(?[^\\s]+?))?\\s+version:\\s*[\"']?(?[^\"'\\s]+)[\"']?", + ], + "versioningTemplate": "{{#if versioning}}{{{versioning}}}{{/if}}", + }, // CPM Package Lock { "customType": "regex",