[PR #16570] chore: enable eslint cache #28522

Closed
opened 2026-02-21 20:43:36 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/16570

State: closed
Merged: Yes


Summary

I've enabled caching in ESLint.

  • The default --cache-location is .eslintcache, but to avoid adding files to the root directory, I've changed it to node_modules/.cache/eslint/.eslintcache using find-cache-dir as a reference.
  • The default --cache-strategy is metadata, which detects differences based on file timestamps. If caching the cache file in GitHub Actions, it's necessary to change to content to detect differences based on file hash values, but since it's currently only being executed locally, I've left it as metadata.

Screenshots

Before After(cached)
13.2s
$ time pnpm lint
> pnpm lint  21.11s user 1.32s system 169% cpu 13.211 total
1.2s
$ time pnpm lint
> pnpm lint  1.19s user 0.3w8s system 123% cpu 1.270 total

Checklist

Important

Please review the checklist below before submitting your pull request.

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
**Original Pull Request:** https://github.com/langgenius/dify/pull/16570 **State:** closed **Merged:** Yes --- # Summary I've enabled caching in ESLint. - The default [--cache-location](https://eslint.org/docs/latest/use/command-line-interface#--cache-location) is `.eslintcache`, but to avoid adding files to the root directory, I've changed it to `node_modules/.cache/eslint/.eslintcache` using [find-cache-dir](https://github.com/sindresorhus/find-cache-dir) as a reference. - The default [--cache-strategy](https://eslint.org/docs/latest/use/command-line-interface#--cache-strategy) is `metadata`, which detects differences based on file timestamps. If caching the cache file in GitHub Actions, it's necessary to change to `content` to detect differences based on file hash values, but since it's currently only being executed locally, I've left it as `metadata`. # Screenshots <table> <tr> <th>Before</td> <th>After(cached)</td> </tr> <tr> <td> 13.2s ```sh $ time pnpm lint > pnpm lint 21.11s user 1.32s system 169% cpu 13.211 total ``` </td> <td> 1.2s ```sh $ time pnpm lint > pnpm lint 1.19s user 0.3w8s system 123% cpu 1.270 total ``` </td> </tr> </table> # Checklist > [!IMPORTANT] > Please review the checklist below before submitting your pull request. - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:43:36 -05:00
yindo closed this issue 2026-02-21 20:43:37 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#28522