Skip to content

Commit 907f0b5

Browse files
pllearnspllearns
pllearns
authored and
pllearns
committed
Setup env for es6 refactoring, refactored DescriptionFilePlugin as an example and all tests passed
1 parent 12ef0c4 commit 907f0b5

File tree

3 files changed

+50
-44
lines changed

3 files changed

+50
-44
lines changed

Diff for: .eslintrc

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"env": {
3-
"node": true
3+
"node": true,
4+
"es6": true
45
},
56
"plugins": [
67
"nodeca"
@@ -23,6 +24,6 @@
2324
"consistent-return": 0,
2425
"no-inner-declarations": 1,
2526
"no-loop-func": 1,
26-
"space-before-function-paren": [2, "never"]
27+
"space-before-function-paren": [2, "never"]
2728
}
2829
}

Diff for: lib/DescriptionFilePlugin.js

+45-41
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,53 @@
1+
"use strict"
12
/*
23
MIT License http://www.opensource.org/licenses/mit-license.php
34
Author Tobias Koppers @sokra
45
*/
5-
var createInnerCallback = require("./createInnerCallback");
6-
var assign = require("object-assign");
7-
var DescriptionFileUtils = require("./DescriptionFileUtils");
6+
const createInnerCallback = require("./createInnerCallback")
7+
const assign = require("object-assign")
8+
const DescriptionFileUtils = require("./DescriptionFileUtils")
89

9-
function DescriptionFilePlugin(source, filenames, target) {
10-
this.source = source;
11-
this.filenames = [].concat(filenames);
12-
this.target = target;
13-
}
14-
module.exports = DescriptionFilePlugin;
10+
class DescriptionFilePlugin {
11+
constructor(source, filenames, target) {
12+
this.source = source
13+
this.filenames = [].concat(filenames)
14+
this.target = target
15+
}
1516

16-
DescriptionFilePlugin.prototype.apply = function(resolver) {
17-
var filenames = this.filenames;
18-
var target = this.target;
19-
resolver.plugin(this.source, function(request, callback) {
20-
var fs = this.fileSystem;
21-
var directory = request.path;
22-
DescriptionFileUtils.loadDescriptionFile(resolver, directory, filenames, function(err, result) {
23-
if(err) return callback(err);
24-
if(!result) {
25-
if(callback.missing) {
26-
filenames.forEach(function(filename) {
27-
callback.missing.push(resolver.join(directory, filename));
28-
})
17+
apply(resolver) {
18+
const filenames = this.filenames
19+
const target = this.target
20+
resolver.plugin(this.source, (request, callback) => {
21+
const fs = this.fileSystem
22+
const directory = request.path
23+
DescriptionFileUtils.loadDescriptionFile(resolver, directory, filenames, ((err, result) => {
24+
if(err) return callback(err)
25+
if(!result) {
26+
if(callback.missing) {
27+
filenames.forEach((filename) => {
28+
callback.missing.push(resolver.join(directory, filename))
29+
})
30+
}
31+
if(callback.log) callback.log("No description file found")
32+
return callback()
2933
}
30-
if(callback.log) callback.log("No description file found");
31-
return callback();
32-
}
33-
var relativePath = "." + request.path.substr(result.directory.length).replace(/\\/g, "/");
34-
var obj = assign({}, request, {
35-
descriptionFilePath: result.path,
36-
descriptionFileData: result.content,
37-
descriptionFileRoot: result.directory,
38-
relativePath: relativePath
39-
});
40-
resolver.doResolve(target, obj, "using description file: " + result.path + " (relative path: " + relativePath + ")", createInnerCallback(function(err, result) {
41-
if(err) return callback(err);
42-
if(result) return callback(null, result);
34+
const relativePath = "." + request.path.substr(result.directory.length).replace(/\\/g, "/")
35+
const obj = assign({}, request, {
36+
descriptionFilePath: result.path,
37+
descriptionFileData: result.content,
38+
descriptionFileRoot: result.directory,
39+
relativePath: relativePath
40+
})
41+
resolver.doResolve(target, obj, "using description file: " + result.path + " (relative path: " + relativePath + ")", createInnerCallback((err, result) => {
42+
if(err) return callback(err)
43+
if(result) return callback(null, result)
44+
45+
// Don't allow other description files or none at all
46+
callback(null, null)
47+
}, callback))
48+
}))
49+
})
50+
}
51+
}
4352

44-
// Don't allow other description files or none at all
45-
callback(null, null);
46-
}, callback));
47-
});
48-
});
49-
};
53+
module.exports = DescriptionFilePlugin

Diff for: package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
"beautify-lint": "^1.0.3",
2323
"codecov.io": "^0.1.6",
2424
"coveralls": "^2.11.6",
25-
"eslint": "^1.1.0",
25+
"eslint": "^3.14.1",
26+
"eslint-plugin-node": "^3.0.5",
2627
"eslint-plugin-nodeca": "^1.0.3",
2728
"istanbul": "^0.4.1",
2829
"js-beautify": "^1.5.10",

0 commit comments

Comments
 (0)