forked from go-gitea/gitea
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add svg linter and fix incorrect svgs (go-gitea#30086)
Fixes go-gitea#30082. Adds a new linter that searches for non-existant SVG images in templates. Output before the fix was: ``` $ make lint-templates SVG "octicon-warning" not found, used in templates/devtest/flex-list.tmpl SVG "octicon-warning" not found, used in templates/devtest/flex-list.tmpl SVG "octicon-markup" not found, used in templates/repo/diff/comment_form.tmpl make: *** [Makefile:438: lint-templates] Error 1 ``` <img width="306" alt="Screenshot 2024-03-25 at 23 31 05" src="https://github.com/go-gitea/gitea/assets/115237/1052d1a9-bfec-4d5a-9cae-f895f78f7c93">
- Loading branch information
1 parent
274bc00
commit 2ab5f05
Showing
6 changed files
with
36 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#!/usr/bin/env node | ||
import {readdirSync, readFileSync} from 'node:fs'; | ||
import {parse, relative} from 'node:path'; | ||
import {fileURLToPath} from 'node:url'; | ||
import {exit} from 'node:process'; | ||
import fastGlob from 'fast-glob'; | ||
|
||
const knownSvgs = new Set(); | ||
for (const file of readdirSync(new URL('../public/assets/img/svg', import.meta.url))) { | ||
knownSvgs.add(parse(file).name); | ||
} | ||
|
||
const rootPath = fileURLToPath(new URL('..', import.meta.url)); | ||
let hadErrors = false; | ||
|
||
for (const file of fastGlob.sync(fileURLToPath(new URL('../templates/**/*.tmpl', import.meta.url)))) { | ||
const content = readFileSync(file, 'utf8'); | ||
for (const [_, name] of content.matchAll(/svg ["'`]([^"'`]+)["'`]/g)) { | ||
if (!knownSvgs.has(name)) { | ||
console.info(`SVG "${name}" not found, used in ${relative(rootPath, file)}`); | ||
hadErrors = true; | ||
} | ||
} | ||
} | ||
|
||
exit(hadErrors ? 1 : 0); |