mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-26 07:20:39 +00:00
00043d193e
* ci(linter): add renovate/codeblock-in-spec-fixtures rule Add a custom oxlint rule that requires the codeBlock (or stripIndent) template helper from common-tags for multi-line string fixtures in spec files (enabled for **/*.spec.ts and test/** only). The rule only flags shapes whose value can round-trip through the common-tags helpers unchanged, since both codeBlock and stripIndent trim the end result and strip the shortest line indentation: - only literals spanning multiple source lines are flagged (escaped \n one-liners are left alone: tagging them is not value-preserving in general and gains nothing) - values with leading/trailing whitespace (e.g. fixtures ending in a newline) are not flagged - tagged templates, describe/it titles, and inline snapshot arguments are skipped All 55 pre-existing violations (22 files) were fixed with a one-off codemod that re-emits each fixture indented to the statement depth and verifies value preservation by evaluating codeBlock on the rewritten template (substitutions kept as opaque placeholders). One site (pip_requirements/artifacts.spec.ts) mixes line continuations with escaped newlines and was tagged verbatim instead of re-indented. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * ci(linter): address review findings Make getSimpleRequirementsFile in pip-compile/extract.spec.ts value-preserving again: tagging the whole template with codeBlock trimmed the trailing blank line when deps is empty (the headerOnly.txt case), silently changing the fixture from ending in '#\n\n' to '#'. Tag only the static header and append the deps section via a single-line template, which reproduces the original string exactly for both empty and non-empty deps (verified by executing old vs new in node). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Extracts "includes" dependencies from gitlab-ci.yml files.