Skip to content
This repository was archived by the owner on May 23, 2024. It is now read-only.

Commit 062ac6f

Browse files
authored
Merge pull request #145 from ethereum/update_remixd
Update remixd && add action to clear the cache
2 parents 1146ed7 + 5cf5559 commit 062ac6f

File tree

4 files changed

+154
-107
lines changed

4 files changed

+154
-107
lines changed

applicationMenu.js

+32-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
const {Menu, shell, app} = require('electron')
2+
const fs = require('fs')
3+
const path = require('path')
24
const config = require('./config')
35
const selectFolder = require('./selectFolder')
46

5-
module.exports = (outdatedVersion, sharedFolderClient) => {
7+
module.exports = (outdatedVersion, cacheDir, app, sharedFolderClient) => {
68

79
const isMac = process.platform === 'darwin'
810

@@ -136,6 +138,14 @@ const template = [
136138
}
137139
},
138140
{ role: 'toggledevtools' },
141+
{
142+
label: 'Clear the cache and restart Remix',
143+
click: async () => {
144+
deleteFolderRecursive(cacheDir)
145+
app.relaunch()
146+
app.exit(0)
147+
}
148+
},
139149
]
140150
}
141151
]
@@ -156,3 +166,24 @@ const menu = Menu.buildFromTemplate(template)
156166
Menu.setApplicationMenu(menu)
157167

158168
}
169+
170+
const deleteFolderRecursive = function (directoryPath) {
171+
try {
172+
if (fs.existsSync(directoryPath)) {
173+
fs.readdirSync(directoryPath).forEach((file, index) => {
174+
const curPath = path.join(directoryPath, file);
175+
if (fs.lstatSync(curPath).isDirectory()) {
176+
// recurse
177+
deleteFolderRecursive(curPath)
178+
} else {
179+
// delete file
180+
fs.unlinkSync(curPath)
181+
}
182+
});
183+
fs.rmdirSync(directoryPath)
184+
console.log(directoryPath + ' deleted')
185+
}
186+
} catch (e) {
187+
console.error(e)
188+
}
189+
}

main.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ const setupApplicationMenu = async () => {
106106
console.log('unable to verify latest version')
107107
console.log(e)
108108
}
109-
applicationMenu(status === 'OUTDATED', (folder) => {
109+
applicationMenu(status === 'OUTDATED', cacheDir, app, (folder) => {
110110
sharedFolderClient.sharedFolder(folder, false)
111111
sharedFolderClient.setupNotifications(folder)
112112
slitherClient.sharedFolder(folder)
@@ -143,7 +143,10 @@ function getFolder(client) {
143143
}catch(e){
144144
}
145145
}
146-
return os.homedir()
146+
if (process.cwd()) {
147+
return process.cwd()
148+
} else
149+
return os.homedir()
147150
}
148151

149152
let remixdStart = () => {

0 commit comments

Comments
 (0)