Skip to content

Commit aca829a

Browse files
authored
Merge pull request #113 from tldr-pages/fse
Remove wrench from the codebase
2 parents 66fc01f + a481a93 commit aca829a

File tree

7 files changed

+41
-23
lines changed

7 files changed

+41
-23
lines changed

lib/cache.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
var fs = require('fs');
1+
var fs = require('fs-extra');
22
var path = require('path');
3-
var rmdir = require('rimraf');
4-
var wrench = require('wrench');
53
var config = require('./config');
64
var remote = require('./remote');
75
var platform = require('./platform');
@@ -27,17 +25,17 @@ exports.getPage = function(page) {
2725
};
2826

2927
exports.clear = function(done) {
30-
rmdir(CACHE_FOLDER, done);
28+
fs.remove(CACHE_FOLDER, done);
3129
};
3230

3331
exports.update = function(done) {
3432
remote.download(function(err, tempFolder) {
3533
if (err) {
3634
return done(err);
3735
}
38-
wrench.mkdirSyncRecursive(CACHE_FOLDER);
39-
wrench.copyDirSyncRecursive(tempFolder, CACHE_FOLDER, {
40-
forceDelete: true
36+
fs.mkdirsSync(CACHE_FOLDER);
37+
fs.copySync(tempFolder, CACHE_FOLDER, {
38+
clobber: true
4139
});
4240
index.rebuildPagesIndex();
4341
return done();

lib/index.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
'use strict';
22

3-
var fs = require('fs');
4-
var wrench = require('wrench');
3+
var fs = require('fs-extra');
54
var path = require('path');
5+
66
var config = require('./config');
7+
var utils = require('./utils');
78

89
var shortIndex = null;
910
var classicIndex = null;
@@ -114,7 +115,7 @@ function readClassicPagesIndex() {
114115

115116
function buildShortPagesIndex() {
116117
try {
117-
var files = wrench.readdirSyncRecursive(pagesPath);
118+
var files = utils.walkSync(pagesPath);
118119
files = files.filter(isPage);
119120
var reducer = function(index, file) {
120121
var os = parsePlatform(file);
@@ -133,6 +134,8 @@ function buildShortPagesIndex() {
133134
}
134135
}
135136

137+
138+
136139
function buildClassicPagesIndex() {
137140
var shortIdx = getShortIndex();
138141
var index = Object.keys(shortIdx)

lib/remote.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
var path = require('path');
22
var os = require('os');
3-
var wrench = require('wrench');
4-
var rimraf = require('rimraf');
3+
var fs = require('fs-extra');
54
var config = require('./config');
65

76

@@ -17,8 +16,8 @@ exports.download = function(done) {
1716
inside = path.join(target, src.repo + '-' + src.branch);
1817
}
1918

20-
rimraf.sync(target);
21-
wrench.mkdirSyncRecursive(target);
19+
fs.removeSync(target);
20+
fs.mkdirsSync(target);
2221

2322
var extractor = unzip.Extract({path: target});
2423
extractor.on('error', function () {

lib/utils.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
var fs = require('fs-extra');
2+
var path = require('path');
3+
4+
var walkSync = function(dir, filelist) {
5+
var files = fs.readdirSync(dir);
6+
filelist = filelist || [];
7+
files.forEach(function(file) {
8+
if (fs.statSync(path.join(dir, file)).isDirectory()) {
9+
filelist = walkSync(path.join(dir, file), filelist);
10+
}
11+
else {
12+
filelist.push(path.join(path.basename(dir), file));
13+
}
14+
});
15+
return filelist;
16+
};
17+
18+
module.exports = {
19+
walkSync: walkSync
20+
};

package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
"dependencies": {
5252
"chalk": "~1.1.1",
5353
"commander": "~2.9.0",
54+
"fs-extra": "^0.30.0",
5455
"lodash.compact": "~3.0.0",
5556
"lodash.defaults": "~4.2.0",
5657
"lodash.get": "~4.4.2",
@@ -66,9 +67,7 @@
6667
"ms": "~0.7.1",
6768
"os-homedir": "~1.0.1",
6869
"request": "~2.75.0",
69-
"rimraf": "~2.5.0",
70-
"unzip2": "~0.2.5",
71-
"wrench": "~1.5.8"
70+
"unzip2": "~0.2.5"
7271
},
7372
"devDependencies": {
7473
"env-test": "*",

test/cache.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
var cache = require('../lib/cache');
22
var should = require('should');
33
var sinon = require('sinon');
4-
var fs = require('fs');
4+
var fs = require('fs-extra');
55
var index = require('../lib/index');
66
var platform = require('../lib/platform');
77

test/index.spec.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
1-
var wrench = require('wrench');
2-
var fs = require('fs');
1+
var fs = require('fs-extra');
32
var index = require('../lib/index');
3+
var utils = require('../lib/utils');
44
var sinon = require('sinon');
55
var should = require('should');
66

77
describe('Index', function() {
8-
98
beforeEach(function() {
109
index.clearRuntimeIndex();
11-
sinon.stub(wrench, 'readdirSyncRecursive')
10+
sinon.stub(utils, 'walkSync')
1211
.returns([
1312
'index.json',
1413
'common/cp.md',
@@ -30,7 +29,7 @@ describe('Index', function() {
3029
});
3130

3231
afterEach(function() {
33-
wrench.readdirSyncRecursive.restore();
32+
utils.walkSync.restore();
3433
fs.readFileSync.restore();
3534
fs.writeFileSync.restore();
3635
});

0 commit comments

Comments
 (0)