perf: 60ms improvement: Replace fs-extra with mkdirp/rimraf/cp-file

In Electron apps, the cost of large modules is very real.

fs-extra is very convenient, but removing it caused 50 fewer unique
files to be required(), resultin in 60ms faster startup!

Before: 557 unique requires (1330-1340ms)
After: 507 unique requires (1270-1280ms)
This commit is contained in:
Feross Aboukhadijeh
2016-09-30 19:51:35 -07:00
parent d4cfc32c8d
commit 02f5dbb63f
8 changed files with 66 additions and 58 deletions

View File

@@ -273,7 +273,7 @@ function commandToArgs (command) {
}
function installLinux () {
const fs = require('fs-extra')
const fs = require('fs')
const os = require('os')
const path = require('path')
@@ -326,6 +326,8 @@ function installLinux () {
function writeIconFile (err, iconFile) {
if (err) return log.error(err.message)
const mkdirp = require('mkdirp')
const iconFilePath = path.join(
os.homedir(),
'.local',
@@ -333,9 +335,11 @@ function installLinux () {
'icons',
'webtorrent-desktop.png'
)
fs.mkdirp(path.dirname(iconFilePath))
fs.writeFile(iconFilePath, iconFile, function (err) {
mkdirp(path.dirname(iconFilePath), (err) => {
if (err) return log.error(err.message)
fs.writeFile(iconFilePath, iconFile, (err) => {
if (err) log.error(err.message)
})
})
}
}
@@ -343,7 +347,7 @@ function installLinux () {
function uninstallLinux () {
const os = require('os')
const path = require('path')
const fs = require('fs-extra')
const rimraf = require('rimraf')
const desktopFilePath = path.join(
os.homedir(),
@@ -352,7 +356,7 @@ function uninstallLinux () {
'applications',
'webtorrent-desktop.desktop'
)
fs.removeSync(desktopFilePath)
rimraf(desktopFilePath)
const iconFilePath = path.join(
os.homedir(),
@@ -361,5 +365,5 @@ function uninstallLinux () {
'icons',
'webtorrent-desktop.png'
)
fs.removeSync(iconFilePath)
rimraf(iconFilePath)
}