chore: adopt Biome + Stylelint, modernize CI/CD, add security/support docs, minor JS fixes

- Linting/format
  - Replace ESLint/Prettier with Biome; remove old configs; add `biome.json`; update scripts
  - Tailwind-friendly `.stylelintrc.yaml`; Stylelint and Biome pass
  - Enable Biome across `modules/**`; prune legacy JS globals; ignore oversized `devicon.json`

- Code fixes
  - `hb-theme.js`: avoid assignment-in-expressions; clearer dataset updates
  - `hugoblox-slides.js`: fix inner var scope (var → let); apply formatting

- CI/CD
  - Split lint/build workflows; add path filters; Node via Corepack (pnpm from package.json)
  - Hugo pinned to env `HUGO_VERSION`; add consistency check vs `starters/academic-cv/hugoblox.yaml`
  - Nightly starters matrix build (academic-cv, landing-page); CodeQL weekly; resource caches

- Workflows/Community
  - Greeter: switch to `pull_request_target`; add Contributor Guide to PR message
  - PR labeler for path-based labels

- Repo policies/docs
  - `CODEOWNERS` for `@gcushen`
  - `SECURITY.md`, `SUPPORT.md`
  - Documented branch protection in `.github/settings.yml`
  - Move `CODE_OF_CONDUCT.md` to `.github/`

- docs(zh): update `README.zh.md` translation

Notes:
- pnpm is sourced from `package.json: packageManager` via Corepack; no hard-coded pnpm versions in CI.
This commit is contained in:
George Cushen committed 2025-09-17 03:17:38 +01:00
1 parent db8a975a9f
commit d5d2f04c2d
91 files changed
+2957 -1993

No files matched your search

+5 -10
View File
@@ -26,12 +26,8 @@
"vite-plugin-static-copy": "^3.1.1"
},
"devDependencies": {
"eslint": "~8.15.0",
"eslint-config-prettier": "~8.5.0",
"prettier": "~2.6.2",
"prettier-plugin-go-template": "~0.0.12",
"@biomejs/biome": "^1.9.4",
"stylelint": "14.8.2",
"stylelint-config-prettier": "~9.0.3",
"stylelint-config-standard": "~25.0.0",
"stylelint-scss": "~4.2.0"
},
@@ -39,13 +35,12 @@
"prod": "scripts/view-starter-prod.sh",
"dev": "scripts/view-starter-dev.sh",
"test": "echo \"Error: no test specified\" && exit 1",
"lint": "pnpm run lint:js && pnpm run lint:style",
"lint:js": "eslint '*/**/*.{js,ts,tsx}'",
"lint:js:fix": "eslint '*/**/*.{js,ts,tsx}' --fix",
"lint": "pnpm run lint:code && pnpm run lint:style",
"lint:code": "biome check --reporter=summary .",
"lint:code:fix": "biome check --write .",
"lint:style": "stylelint '**/*.css'",
"lint:style:fix": "stylelint '**/*.css' --fix",
"format": "prettier --write \"*.{css,js,json,md}\" \"./**/*.{css,js,json,md}\"",
"stylelint-conflict-check": "stylelint-config-prettier-check",
"format": "pnpm run lint:code:fix && pnpm run lint:style:fix",
"update:starters": "poetry run python ./scripts/update.py",
"vendor:libs": "vite build --config vite.config.js",
"vendor:libs:watch": "vite build --config vite.config.js --watch"