Here's my basic code:
import * as Store from 'electron-store';
interface StoreSchema {
mySettings?: any;
}
const store = new Store.default<StoreSchema>({
name: 'autosave'
});
ipcMain.handle('load-settings', () => {
return store.get('mySettings') || null;
});
ipcMain.handle('save-settings', (event, settings: any) => {
store.set('mySettings', settings);
return true;
});
I'm within Electron app, with Typescript and Vite:
"devDependencies": {
"@types/bootstrap": "^5.2.10",
"@types/electron-store": "^1.3.1",
"concurrently": "^9.1.2",
"electron": "^34.2.0",
"electron-builder": "^25.1.8",
"electron-reloader": "^1.2.3",
"rimraf": "^6.0.1",
"typescript": "^5.7.3",
"vite": "^6.1.0",
"wait-on": "^8.0.2"
},
"dependencies": {
"bootstrap": "^5.3.3",
"electron-store": "^10.0.1"
}
but I have errors on get/set:
Property 'get' does not exist on type 'ElectronStore<StoreSchema>'.ts(2339)
Property 'set' does not exist on type 'ElectronStore<StoreSchema>'.ts(2339)
What's wrong? I'd like to use any
type of object on save/load.
Here's my basic code:
import * as Store from 'electron-store';
interface StoreSchema {
mySettings?: any;
}
const store = new Store.default<StoreSchema>({
name: 'autosave'
});
ipcMain.handle('load-settings', () => {
return store.get('mySettings') || null;
});
ipcMain.handle('save-settings', (event, settings: any) => {
store.set('mySettings', settings);
return true;
});
I'm within Electron app, with Typescript and Vite:
"devDependencies": {
"@types/bootstrap": "^5.2.10",
"@types/electron-store": "^1.3.1",
"concurrently": "^9.1.2",
"electron": "^34.2.0",
"electron-builder": "^25.1.8",
"electron-reloader": "^1.2.3",
"rimraf": "^6.0.1",
"typescript": "^5.7.3",
"vite": "^6.1.0",
"wait-on": "^8.0.2"
},
"dependencies": {
"bootstrap": "^5.3.3",
"electron-store": "^10.0.1"
}
but I have errors on get/set:
Property 'get' does not exist on type 'ElectronStore<StoreSchema>'.ts(2339)
Property 'set' does not exist on type 'ElectronStore<StoreSchema>'.ts(2339)
What's wrong? I'd like to use any
type of object on save/load.
1 Answer
Reset to default 0As per the docs, the correct import and usage for electron-store
is:
import Store from "electron-store";
const store = new Store({
defaults: { ... },
schema: { ... }
});
And also:
The values in
defaults
will overwrite thedefault
key in theschema
option.