SplatNet/.forgejo/workflows/lint.yml

62 lines
1.9 KiB
YAML
Raw Normal View History

name: CodeQL
on:
push:
branches: [main]
pull_request:
jobs:
lint-debian:
runs-on: [debian-trixie, debian-bookworm]
steps:
- uses: actions/checkout@v4
- name: Install Linters
run: npm install -g htmlhint stylelint stylelint-config-standard eslint
- name: HTML
run: htmlhint "**/*.html" --ignore "assets/**"
2026-03-18 21:56:37 +01:00
- name: CSS
run: |
2026-03-18 21:56:37 +01:00
echo '{
2026-03-18 21:54:24 +01:00
"ignoreFiles": [
"assets/**/*.css",
"users/auth/**/*.css"
],
"extends": "stylelint-config-standard",
"rules": {
"no-duplicate-selectors": null,
"no-descending-specificity": null,
"declaration-block-no-shorthand-property-overrides": null,
"font-family-no-duplicate-names": null,
"selector-class-pattern": null,
"selector-id-pattern": null,
"keyframes-name-pattern": null,
"declaration-block-single-line-max-declarations": null,
"property-no-unknown": null,
"declaration-property-value-no-unknown": null
}
}' > .stylelintrc.json
stylelint "**/*.css" --allow-empty-input --fix || stylelint "**/*.css" --allow-empty-input
2026-03-18 21:56:37 +01:00
- name: JS
run: |
echo "export default [
{
languageOptions: {
globals: {
window: 'readonly',
document: 'readonly',
navigator: 'readonly',
location: 'readonly',
history: 'readonly',
localStorage: 'readonly',
fetch: 'readonly'
}
},
rules: {
'semi': ['error', 'always'],
'no-console': 'off'
}
}
];" > eslint.config.mjs
npx eslint . --fix || npx eslint .