Skip to content

chore(frontend): migrate to pnpm and add lint tooling#942

Merged
gildesmarais merged 3 commits intomainfrom
codex/slice-tooling-pnpm-stylelint
Apr 4, 2026
Merged

chore(frontend): migrate to pnpm and add lint tooling#942
gildesmarais merged 3 commits intomainfrom
codex/slice-tooling-pnpm-stylelint

Conversation

@gildesmarais
Copy link
Copy Markdown
Member

@gildesmarais gildesmarais commented Apr 4, 2026

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]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L21-R21), [[2]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L32-R51), [[3]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L70-R78), [[4]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R90-R93), [[5]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L113-R122), [[6]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L135-R141), [[7]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557L8-R11), [[8]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-13bd9d7a30bf46656bc81f1ad5b908a627f9247be3f7d76df862b0578b534fc6R19-R22), [[9]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03fR57-R70), [[10]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03fR87-R121), [[11]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03fR191-R208), [[12]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-1ed7245e0c7c634928b52839600c3d493c9d29150d369e9ab20979e61e7f8f97L24-R24), [[13]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-9f7d6b98294fa2c5e3b126728d626151528ac1fce8eaf8858e403b6096e86ce5L2-R2), [[14]](https://github.com/html2rss/html2rss-web/pull/942/files#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]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-8b60be22f06ef19ea3a74fcfb99817cadbc339930dcb44aeeb7ee968098f447dR1-R38), [[2]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-ed88dcf2af5b09a17a7cee7d1c08fd560a0816b0f0e7e07f12cc073f64768d02R1-R13), [[3]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-2633572b1eb62578838877abeb39ff8053af5fa47a1a731129b889db37e59610R1-R9), [[4]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-24ad71c8613ddcf6fd23818cb3bb477a1fb6d83af4550b0bad43099813088686L11-R20), [[5]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L70-R78), [[6]](https://github.com/html2rss/html2rss-web/pull/942/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R90-R93), [[7]](https://github.com/html2rss/html2rss-web/pull/942/files#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](https://github.com/html2rss/html2rss-web/pull/942/files#diff-da6498268e99511d9ba0df3c13e439d10556a812881c9d03955b2ef7c6c1c655R4-R13))

Project hygiene and ignore files:

  • Updated .gitignore in the frontend to ignore node_modules, dist/, and .astro directories. ([frontend/.gitignoreR1-R3](https://github.com/html2rss/html2rss-web/pull/942/files#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](https://github.com/html2rss/html2rss-web/pull/942/files#diff-211d3e0ed8954e3626dc7543c7b4bfc87e73d0b4b25abf5829a13a11eaafb788L8-R9))

These changes collectively modernize the frontend developer experience, improve code quality, and ensure consistent dependency management across local and CI environments.

@gildesmarais gildesmarais changed the title chore(frontend): migrate to pnpm and add lint tooling chore(frontend): migrate to pnpm and add eslint tooling Apr 4, 2026
@gildesmarais gildesmarais changed the title chore(frontend): migrate to pnpm and add eslint tooling chore(frontend): migrate to pnpm and add lint tooling Apr 4, 2026
@gildesmarais gildesmarais merged commit 424fb0a into main Apr 4, 2026
11 of 13 checks passed
@gildesmarais gildesmarais deleted the codex/slice-tooling-pnpm-stylelint branch April 4, 2026 13:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant