[deps]: Update electron-store to v11 - abandoned - #901
Conversation
|
Internal tracking:
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #901 +/- ##
=======================================
Coverage 16.01% 16.01%
=======================================
Files 67 67
Lines 2791 2791
Branches 481 481
=======================================
Hits 447 447
Misses 2306 2306
Partials 38 38 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
73b8ab7 to
9609e55
Compare
9609e55 to
8a612fd
Compare
8a612fd to
64e29d2
Compare
64e29d2 to
b1fb865
Compare
b1fb865 to
d9a5d8c
Compare
|
Great job! No new security vulnerabilities introduced in this pull request |
|
Claude finished @renovate[bot]'s task in 2m 46s —— View job PR Review: electron-store v8 → v11 UpdateTasks:
Review Complete ✅The code review agent has analyzed the changes and posted detailed inline comments on the PR. Key findings: Breaking Changes Handled:
Issues Identified:
Please review the inline comments for detailed recommendations. |
| const Store = require("electron-store"); | ||
|
|
||
| export class ElectronStorageService implements StorageService { | ||
| private store: any; |
There was a problem hiding this comment.
Type Safety Issue: The store property is typed as any, which defeats TypeScript's type safety.
Since electron-store v11 is now written in TypeScript with proper type definitions, you should use proper typing:
| private store: any; | |
| private store: Store<Record<string, unknown>>; |
Or if you know the specific shape of your data, define a proper interface for the store schema.
| "compilerOptions": { | ||
| "pretty": true, | ||
| "moduleResolution": "node", | ||
| "moduleResolution": "bundler", |
There was a problem hiding this comment.
Configuration Concern: Changing moduleResolution from "node" to "bundler" is a significant change that affects how TypeScript resolves module imports.
While "bundler" is appropriate for bundled applications, this change should be carefully tested because:
- It changes how conditional exports are resolved
- It allows importing ESM modules from CJS contexts (which may hide issues)
- It affects how
package.jsonexportsfields are interpreted
Since you're using Webpack to bundle the application, this change seems reasonable, but you should verify:
- The application builds successfully
- All imports resolve correctly at runtime
- No module resolution errors occur in production
Consider also checking if you need to update the webpack configuration's resolve.conditionNames to match this change.
| import * as fs from "fs"; | ||
|
|
||
| import { ipcMain } from "electron"; | ||
| import Store from "electron-store"; |
There was a problem hiding this comment.
Good: The migration from CommonJS require() to ESM import is correct for electron-store v11.
However, there are some additional concerns to address:
-
Missing webpack configuration: Since electron-store v11 is pure ESM, you may need to add it to webpack externals in
webpack.main.jsto prevent bundling issues:externals: { "electron-reload": "commonjs2 electron-reload", "electron-store": "commonjs2 electron-store", // Add this keytar: "commonjs2 keytar", },
-
Type safety: The
storeproperty on line 11 is still typed asany. Consider using proper typing:private store: Store<Record<string, unknown>>;
-
Verify compatibility: Electron-store v11 requires Electron 30+. Ensure your
electrondependency meets this requirement (I see you have v39.2.1, so this is fine).
eliykat
left a comment
There was a problem hiding this comment.
As discussed, I suggest we hold off until we look at ESM support properly next year.
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
Autoclosing SkippedThis PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error. |
|
Updated to 11 in #1034 |

This PR contains the following updates:
8.2.0->11.0.2Release Notes
sindresorhus/electron-store (electron-store)
v11.0.2Compare Source
ccf6f15v11.0.1Compare Source
8ecbb6bv11.0.0Compare Source
confdependency3d690aav10.1.0Compare Source
dcf42b7v10.0.1Compare Source
electronabc1d2fv10.0.0Compare Source
Breaking
This is only a breaking change if you use the
schemaoption.v9.0.0Compare Source
Breaking
7ddf0c6Improvements
7ddf0c6Configuration
📅 Schedule: Branch creation - "every 2nd week starting on the 2 week of the year before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.