You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore(frontend): migrate to pnpm and add lint tooling (#942)
## Summary
- migrate frontend install/test/lint workflows from npm to pnpm
- add eslint and stylelint workspace configuration
- update local/dev docker and helper scripts for pnpm-based frontend
flow
- remove npm lockfile and commit pnpm lockfile
This pull request migrates the frontend tooling from npm to pnpm,
introduces new linting tools (ESLint and Stylelint) for the frontend,
and updates related configuration and CI/CD workflows. The changes
modernize dependency management, improve code quality enforcement, and
streamline development and CI processes.
**Frontend package management migration:**
* Migrated the frontend from npm to pnpm by updating scripts in
`Makefile`, `Dockerfile`, CI workflows, and `frontend/package.json`, and
replacing `package-lock.json` with `pnpm-lock.yaml` in
`.prettierignore`. Corepack is now used to manage pnpm installation.
(`[[1]](diffhunk://#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L21-R21)`,
`[[2]](diffhunk://#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L32-R51)`,
`[[3]](diffhunk://#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L70-R78)`,
`[[4]](diffhunk://#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R90-R93)`,
`[[5]](diffhunk://#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L113-R122)`,
`[[6]](diffhunk://#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L135-R141)`,
`[[7]](diffhunk://#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557L8-R11)`,
`[[8]](diffhunk://#diff-13bd9d7a30bf46656bc81f1ad5b908a627f9247be3f7d76df862b0578b534fc6R19-R22)`,
`[[9]](diffhunk://#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03fR57-R70)`,
`[[10]](diffhunk://#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03fR87-R121)`,
`[[11]](diffhunk://#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03fR191-R208)`,
`[[12]](diffhunk://#diff-1ed7245e0c7c634928b52839600c3d493c9d29150d369e9ab20979e61e7f8f97L24-R24)`,
`[[13]](diffhunk://#diff-9f7d6b98294fa2c5e3b126728d626151528ac1fce8eaf8858e403b6096e86ce5L2-R2)`,
`[[14]](diffhunk://#diff-da6498268e99511d9ba0df3c13e439d10556a812881c9d03955b2ef7c6c1c655L20-R49)`)
**Linting and formatting improvements:**
* Added ESLint and Stylelint for the frontend, including configuration
files `frontend/eslint.config.js` and `frontend/stylelint.config.mjs`,
and integrated them into the Makefile and CI workflows. Updated VS Code
recommendations and settings to enable ESLint and auto-fix on save.
(`[[1]](diffhunk://#diff-8b60be22f06ef19ea3a74fcfb99817cadbc339930dcb44aeeb7ee968098f447dR1-R38)`,
`[[2]](diffhunk://#diff-ed88dcf2af5b09a17a7cee7d1c08fd560a0816b0f0e7e07f12cc073f64768d02R1-R13)`,
`[[3]](diffhunk://#diff-2633572b1eb62578838877abeb39ff8053af5fa47a1a731129b889db37e59610R1-R9)`,
`[[4]](diffhunk://#diff-24ad71c8613ddcf6fd23818cb3bb477a1fb6d83af4550b0bad43099813088686L11-R20)`,
`[[5]](diffhunk://#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L70-R78)`,
`[[6]](diffhunk://#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R90-R93)`,
`[[7]](diffhunk://#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03fR87-R121)`)
**Dependency and tool updates:**
* Updated frontend dependencies in `package.json` (including `preact`,
dev tools, and linting packages), and added `stylelint` and related
configs.
(`[frontend/package.jsonR4-R13](diffhunk://#diff-da6498268e99511d9ba0df3c13e439d10556a812881c9d03955b2ef7c6c1c655R4-R13)`)
**Project hygiene and ignore files:**
* Updated `.gitignore` in the frontend to ignore `node_modules`,
`dist/`, and `.astro` directories.
(`[frontend/.gitignoreR1-R3](diffhunk://#diff-8e548ede50532796f028e75d8f3384d5bdb57b9fbe2bda95521774d0c46d0f97R1-R3)`)
**Minor improvements:**
* Improved test and build script consistency by using pnpm throughout,
and made minor formatting updates (e.g., numeric literals in
`frontend/vitest.config.js`).
(`[frontend/vitest.config.jsL8-R9](diffhunk://#diff-211d3e0ed8954e3626dc7543c7b4bfc87e73d0b4b25abf5829a13a11eaafb788L8-R9)`)
These changes collectively modernize the frontend developer experience,
improve code quality, and ensure consistent dependency management across
local and CI environments.
0 commit comments