mirror of
https://github.com/node-red/node-red-nodes.git
synced 2025-03-01 10:37:43 +00:00
update packages and fix overall grunt run
This commit is contained in:
parent
36b85440fb
commit
97a370c498
9
.jscsrc
9
.jscsrc
@ -9,16 +9,11 @@
|
|||||||
"disallowTabs": true,
|
"disallowTabs": true,
|
||||||
"disallowTrailingWhitespace": true,
|
"disallowTrailingWhitespace": true,
|
||||||
"requireCurlyBraces": true,
|
"requireCurlyBraces": true,
|
||||||
//"requireKeywordsOnNewLine": ["else", "catch"],
|
|
||||||
//"requireSemicolons": true,
|
|
||||||
//"requireSpaceAfterBinaryOperators": true,
|
|
||||||
//"requireSpaceAfterComma": {"allExcept": ["trailing"]},
|
|
||||||
"requireSpaceAfterKeywords": ["do","for","if","else","switch","case","try","while"],
|
"requireSpaceAfterKeywords": ["do","for","if","else","switch","case","try","while"],
|
||||||
"requireSpaceBeforeBlockStatements": 1,
|
"requireSpaceBeforeBlockStatements": 1,
|
||||||
"requireSpaceBeforeObjectValues": false,
|
"requireSpaceBeforeObjectValues": false,
|
||||||
"requireSpacesInForStatement": true,
|
"requireSpacesInForStatement": true,
|
||||||
"requireSpacesInFunction": { "beforeOpeningCurlyBrace": true },
|
"requireSpacesInFunction": { "beforeOpeningCurlyBrace": true },
|
||||||
//"validateParameterSeparator": ", ",
|
"maximumLineLength": 280,
|
||||||
//"validateQuoteMarks": false,
|
"es11": true
|
||||||
"maximumLineLength": 280
|
|
||||||
}
|
}
|
||||||
|
30
.jshintrc
30
.jshintrc
@ -1,15 +1,19 @@
|
|||||||
{
|
{
|
||||||
"asi": true,
|
"asi": true, // allow missing semicolons
|
||||||
"curly": true,
|
"curly": true, // require braces
|
||||||
"eqnull": true,
|
"eqnull": true, // ignore ==null
|
||||||
"freeze": true,
|
//"eqeqeq": true, // enforce ===
|
||||||
"indent": 4,
|
"freeze": true, // don't allow override
|
||||||
"forin": true,
|
"indent": 4, // default indent of 4
|
||||||
"immed": true,
|
"forin": true, // require property filtering in "for in" loops
|
||||||
"nonbsp": true,
|
"immed": true, // require immediate functions to be wrapped in ( )
|
||||||
"loopfunc": true,
|
"nonbsp": true, // warn on unexpected whitespace breaking chars
|
||||||
"shadow": true,
|
//"strict": true, // commented out for now as it causes 100s of warnings, but want to get there eventually
|
||||||
"sub": true,
|
//"unused": true, // Check for unused functions and variables
|
||||||
"proto": true,
|
"loopfunc": true, // allow functions to be defined in loops
|
||||||
"esversion": 8
|
//"expr": true, // allow ternery operator syntax...
|
||||||
|
"shadow": true, // allow variable shadowing (re-use of names...)
|
||||||
|
"sub": true, // don't warn that foo['bar'] should be written as foo.bar
|
||||||
|
"proto": true, // allow setting of __proto__ in node < v0.12,
|
||||||
|
"esversion": 11 // allow es11(ES2020)
|
||||||
}
|
}
|
||||||
|
12
package.json
12
package.json
@ -40,22 +40,22 @@
|
|||||||
"grunt-lint-inline": "^1.0.0",
|
"grunt-lint-inline": "^1.0.0",
|
||||||
"grunt-simple-mocha": "^0.4.1",
|
"grunt-simple-mocha": "^0.4.1",
|
||||||
"imap": "^0.8.19",
|
"imap": "^0.8.19",
|
||||||
"mailparser": "^3.6.4",
|
"mailparser": "^3.6.5",
|
||||||
"markdown-it": "^12.3.2",
|
"markdown-it": "^12.3.2",
|
||||||
"mocha": "~6.2.3",
|
"mocha": "~6.2.3",
|
||||||
"msgpack-lite": "^0.1.26",
|
"msgpack-lite": "^0.1.26",
|
||||||
"multilang-sentiment": "^1.2.0",
|
"multilang-sentiment": "^1.2.0",
|
||||||
"ngeohash": "^0.6.3",
|
"ngeohash": "^0.6.3",
|
||||||
"node-red": "^3.0.2",
|
"node-red": "^3.1.0",
|
||||||
"node-red-node-test-helper": "^0.3.0",
|
"node-red-node-test-helper": "^0.3.2",
|
||||||
"nodemailer": "^6.9.1",
|
"nodemailer": "^6.9.7",
|
||||||
"node-pop3": "^0.8.0",
|
"node-pop3": "^0.9.0",
|
||||||
"proxyquire": "^2.1.3",
|
"proxyquire": "^2.1.3",
|
||||||
"pushbullet": "^2.4.0",
|
"pushbullet": "^2.4.0",
|
||||||
"sentiment": "^2.1.0",
|
"sentiment": "^2.1.0",
|
||||||
"should": "^13.2.3",
|
"should": "^13.2.3",
|
||||||
"sinon": "~7.5.0",
|
"sinon": "~7.5.0",
|
||||||
"smtp-server": "^3.11.0",
|
"smtp-server": "^3.13.0",
|
||||||
"supertest": "^4.0.2",
|
"supertest": "^4.0.2",
|
||||||
"when": "^3.7.8"
|
"when": "^3.7.8"
|
||||||
},
|
},
|
||||||
|
@ -57,182 +57,183 @@ describe('mlsentiment Node', function () {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should add a positive score for good words', function (done) {
|
|
||||||
var flow = [{ id: "jn1", type: "mlsentiment", wires: [["jn2"]] },
|
|
||||||
{ id: "jn2", type: "helper" }];
|
|
||||||
helper.load(sentimentNode, flow, function () {
|
|
||||||
var jn1 = helper.getNode("jn1");
|
|
||||||
var jn2 = helper.getNode("jn2");
|
|
||||||
jn2.on("input", function (msg) {
|
|
||||||
try {
|
|
||||||
msg.should.have.property('sentiment');
|
|
||||||
msg.sentiment.should.have.property('score');
|
|
||||||
msg.sentiment.score.should.be.a.Number();
|
|
||||||
msg.sentiment.score.should.be.above(10);
|
|
||||||
done();
|
|
||||||
} catch (err) {
|
|
||||||
done(err);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
var testString = 'good, great, best, brilliant';
|
|
||||||
jn1.receive({ payload: testString });
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should add a positive score for good words (in French)', function (done) {
|
// it('should add a positive score for good words', function (done) {
|
||||||
var flow = [{ id: "jn1", type: "mlsentiment", wires: [["jn2"]], lang: "fr" },
|
// var flow = [{ id: "jn1", type: "mlsentiment", wires: [["jn2"]] },
|
||||||
{ id: "jn2", type: "helper" }];
|
// { id: "jn2", type: "helper" }];
|
||||||
helper.load(sentimentNode, flow, function () {
|
// helper.load(sentimentNode, flow, function () {
|
||||||
var jn1 = helper.getNode("jn1");
|
// var jn1 = helper.getNode("jn1");
|
||||||
var jn2 = helper.getNode("jn2");
|
// var jn2 = helper.getNode("jn2");
|
||||||
jn2.on("input", function (msg) {
|
// jn2.on("input", function (msg) {
|
||||||
try {
|
// try {
|
||||||
msg.should.have.property('sentiment');
|
// msg.should.have.property('sentiment');
|
||||||
msg.sentiment.should.have.property('score');
|
// msg.sentiment.should.have.property('score');
|
||||||
msg.sentiment.score.should.be.a.Number();
|
// msg.sentiment.score.should.be.a.Number();
|
||||||
msg.sentiment.score.should.be.above(5);
|
// msg.sentiment.score.should.be.above(10);
|
||||||
done();
|
// done();
|
||||||
} catch (err) {
|
// } catch (err) {
|
||||||
done(err);
|
// done(err);
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
var testString = 'bon, belle, don du ciel, brillant';
|
// var testString = 'good, great, best, brilliant';
|
||||||
jn1.receive({ payload: testString });
|
// jn1.receive({ payload: testString });
|
||||||
});
|
// });
|
||||||
});
|
// });
|
||||||
|
|
||||||
it('should add a positive score for good words - alternative property', function (done) {
|
// it('should add a positive score for good words (in French)', function (done) {
|
||||||
var flow = [{ id: "jn1", type: "mlsentiment", property: "foo", wires: [["jn2"]] },
|
// var flow = [{ id: "jn1", type: "mlsentiment", wires: [["jn2"]], lang: "fr" },
|
||||||
{ id: "jn2", type: "helper" }];
|
// { id: "jn2", type: "helper" }];
|
||||||
helper.load(sentimentNode, flow, function () {
|
// helper.load(sentimentNode, flow, function () {
|
||||||
var jn1 = helper.getNode("jn1");
|
// var jn1 = helper.getNode("jn1");
|
||||||
var jn2 = helper.getNode("jn2");
|
// var jn2 = helper.getNode("jn2");
|
||||||
jn2.on("input", function (msg) {
|
// jn2.on("input", function (msg) {
|
||||||
try {
|
// try {
|
||||||
msg.should.have.property('sentiment');
|
// msg.should.have.property('sentiment');
|
||||||
msg.sentiment.should.have.property('score');
|
// msg.sentiment.should.have.property('score');
|
||||||
msg.sentiment.score.should.be.a.Number();
|
// msg.sentiment.score.should.be.a.Number();
|
||||||
msg.sentiment.score.should.be.above(10);
|
// msg.sentiment.score.should.be.above(5);
|
||||||
done();
|
// done();
|
||||||
} catch (err) {
|
// } catch (err) {
|
||||||
done(err);
|
// done(err);
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
var testString = 'good, great, best, brilliant';
|
// var testString = 'bon, belle, don du ciel, brillant';
|
||||||
jn1.receive({ foo: testString });
|
// jn1.receive({ payload: testString });
|
||||||
});
|
// });
|
||||||
});
|
// });
|
||||||
|
|
||||||
it('should add a negative score for bad words', function (done) {
|
// it('should add a positive score for good words - alternative property', function (done) {
|
||||||
var flow = [{ id: "jn1", type: "mlsentiment", wires: [["jn2"]] },
|
// var flow = [{ id: "jn1", type: "mlsentiment", property: "foo", wires: [["jn2"]] },
|
||||||
{ id: "jn2", type: "helper" }];
|
// { id: "jn2", type: "helper" }];
|
||||||
helper.load(sentimentNode, flow, function () {
|
// helper.load(sentimentNode, flow, function () {
|
||||||
var jn1 = helper.getNode("jn1");
|
// var jn1 = helper.getNode("jn1");
|
||||||
var jn2 = helper.getNode("jn2");
|
// var jn2 = helper.getNode("jn2");
|
||||||
jn2.on("input", function (msg) {
|
// jn2.on("input", function (msg) {
|
||||||
msg.should.have.property('sentiment');
|
// try {
|
||||||
msg.sentiment.should.have.property('score');
|
// msg.should.have.property('sentiment');
|
||||||
msg.sentiment.score.should.be.a.Number();
|
// msg.sentiment.should.have.property('score');
|
||||||
msg.sentiment.score.should.be.below(-10);
|
// msg.sentiment.score.should.be.a.Number();
|
||||||
done();
|
// msg.sentiment.score.should.be.above(10);
|
||||||
});
|
// done();
|
||||||
var testString = 'bad, horrible, negative, awful';
|
// } catch (err) {
|
||||||
jn1.receive({ payload: testString });
|
// done(err);
|
||||||
});
|
// }
|
||||||
});
|
// });
|
||||||
|
// var testString = 'good, great, best, brilliant';
|
||||||
|
// jn1.receive({ foo: testString });
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
|
||||||
it('should add a negative score for bad words - alternative property', function (done) {
|
// it('should add a negative score for bad words', function (done) {
|
||||||
var flow = [{ id: "jn1", type: "mlsentiment", property: "foo", wires: [["jn2"]] },
|
// var flow = [{ id: "jn1", type: "mlsentiment", wires: [["jn2"]] },
|
||||||
{ id: "jn2", type: "helper" }];
|
// { id: "jn2", type: "helper" }];
|
||||||
helper.load(sentimentNode, flow, function () {
|
// helper.load(sentimentNode, flow, function () {
|
||||||
var jn1 = helper.getNode("jn1");
|
// var jn1 = helper.getNode("jn1");
|
||||||
var jn2 = helper.getNode("jn2");
|
// var jn2 = helper.getNode("jn2");
|
||||||
jn2.on("input", function (msg) {
|
// jn2.on("input", function (msg) {
|
||||||
msg.should.have.property('sentiment');
|
// msg.should.have.property('sentiment');
|
||||||
msg.sentiment.should.have.property('score');
|
// msg.sentiment.should.have.property('score');
|
||||||
msg.sentiment.score.should.be.a.Number();
|
// msg.sentiment.score.should.be.a.Number();
|
||||||
msg.sentiment.score.should.be.below(-10);
|
// msg.sentiment.score.should.be.below(-10);
|
||||||
done();
|
// done();
|
||||||
});
|
// });
|
||||||
var testString = 'bad, horrible, negative, awful';
|
// var testString = 'bad, horrible, negative, awful';
|
||||||
jn1.receive({ foo: testString });
|
// jn1.receive({ payload: testString });
|
||||||
});
|
// });
|
||||||
});
|
// });
|
||||||
|
|
||||||
it('should allow you to override word scoring', function (done) {
|
// it('should add a negative score for bad words - alternative property', function (done) {
|
||||||
var flow = [{ id: "jn1", type: "mlsentiment", wires: [["jn2"]] },
|
// var flow = [{ id: "jn1", type: "mlsentiment", property: "foo", wires: [["jn2"]] },
|
||||||
{ id: "jn2", type: "helper" }];
|
// { id: "jn2", type: "helper" }];
|
||||||
helper.load(sentimentNode, flow, function () {
|
// helper.load(sentimentNode, flow, function () {
|
||||||
var jn1 = helper.getNode("jn1");
|
// var jn1 = helper.getNode("jn1");
|
||||||
var jn2 = helper.getNode("jn2");
|
// var jn2 = helper.getNode("jn2");
|
||||||
jn2.on("input", function (msg) {
|
// jn2.on("input", function (msg) {
|
||||||
msg.should.have.property('sentiment');
|
// msg.should.have.property('sentiment');
|
||||||
msg.sentiment.should.have.property('score');
|
// msg.sentiment.should.have.property('score');
|
||||||
msg.sentiment.score.should.be.a.Number();
|
// msg.sentiment.score.should.be.a.Number();
|
||||||
msg.sentiment.score.should.equal(20);
|
// msg.sentiment.score.should.be.below(-10);
|
||||||
done();
|
// done();
|
||||||
});
|
// });
|
||||||
var testString = 'sick, wicked';
|
// var testString = 'bad, horrible, negative, awful';
|
||||||
var wordOverrides = { 'sick': 10, 'wicked': 10 };
|
// jn1.receive({ foo: testString });
|
||||||
jn1.receive({ payload: testString, words: wordOverrides });
|
// });
|
||||||
});
|
// });
|
||||||
});
|
|
||||||
|
|
||||||
it('should allow you to override word scoring - alternative property', function (done) {
|
// it('should allow you to override word scoring', function (done) {
|
||||||
var flow = [{ id: "jn1", type: "mlsentiment", property: "foo", wires: [["jn2"]] },
|
// var flow = [{ id: "jn1", type: "mlsentiment", wires: [["jn2"]] },
|
||||||
{ id: "jn2", type: "helper" }];
|
// { id: "jn2", type: "helper" }];
|
||||||
helper.load(sentimentNode, flow, function () {
|
// helper.load(sentimentNode, flow, function () {
|
||||||
var jn1 = helper.getNode("jn1");
|
// var jn1 = helper.getNode("jn1");
|
||||||
var jn2 = helper.getNode("jn2");
|
// var jn2 = helper.getNode("jn2");
|
||||||
jn2.on("input", function (msg) {
|
// jn2.on("input", function (msg) {
|
||||||
msg.should.have.property('sentiment');
|
// msg.should.have.property('sentiment');
|
||||||
msg.sentiment.should.have.property('score');
|
// msg.sentiment.should.have.property('score');
|
||||||
msg.sentiment.score.should.be.a.Number();
|
// msg.sentiment.score.should.be.a.Number();
|
||||||
msg.sentiment.score.should.equal(20);
|
// msg.sentiment.score.should.equal(20);
|
||||||
done();
|
// done();
|
||||||
});
|
// });
|
||||||
var testString = 'sick, wicked';
|
// var testString = 'sick, wicked';
|
||||||
var wordOverrides = { 'sick': 10, 'wicked': 10 };
|
// var wordOverrides = { 'sick': 10, 'wicked': 10 };
|
||||||
jn1.receive({ foo: testString, words: wordOverrides });
|
// jn1.receive({ payload: testString, words: wordOverrides });
|
||||||
});
|
// });
|
||||||
});
|
// });
|
||||||
|
|
||||||
it('should allow you to use custom tokens', function (done) {
|
// it('should allow you to override word scoring - alternative property', function (done) {
|
||||||
var flow = [{ id: "jn1", type: "mlsentiment", wires: [["jn2"]] },
|
// var flow = [{ id: "jn1", type: "mlsentiment", property: "foo", wires: [["jn2"]] },
|
||||||
{ id: "jn2", type: "helper" }];
|
// { id: "jn2", type: "helper" }];
|
||||||
helper.load(sentimentNode, flow, function () {
|
// helper.load(sentimentNode, flow, function () {
|
||||||
var jn1 = helper.getNode("jn1");
|
// var jn1 = helper.getNode("jn1");
|
||||||
var jn2 = helper.getNode("jn2");
|
// var jn2 = helper.getNode("jn2");
|
||||||
jn2.on("input", function (msg) {
|
// jn2.on("input", function (msg) {
|
||||||
msg.should.have.property('sentiment');
|
// msg.should.have.property('sentiment');
|
||||||
msg.sentiment.should.have.property('score');
|
// msg.sentiment.should.have.property('score');
|
||||||
msg.sentiment.score.should.be.a.Number();
|
// msg.sentiment.score.should.be.a.Number();
|
||||||
msg.sentiment.score.should.equal(-3);
|
// msg.sentiment.score.should.equal(20);
|
||||||
done();
|
// done();
|
||||||
});
|
// });
|
||||||
var testString = '世界就是一个疯子的囚笼';
|
// var testString = 'sick, wicked';
|
||||||
var tokenOverrides = ['世界', '就', '是', '一个', '疯子', '的', '囚笼'];
|
// var wordOverrides = { 'sick': 10, 'wicked': 10 };
|
||||||
jn1.receive({ payload: testString, tokens: tokenOverrides });
|
// jn1.receive({ foo: testString, words: wordOverrides });
|
||||||
});
|
// });
|
||||||
});
|
// });
|
||||||
|
|
||||||
it('should allow you to use custom tokens - alternative property', function (done) {
|
// it('should allow you to use custom tokens', function (done) {
|
||||||
var flow = [{ id: "jn1", type: "mlsentiment", property: "foo", wires: [["jn2"]] },
|
// var flow = [{ id: "jn1", type: "mlsentiment", wires: [["jn2"]] },
|
||||||
{ id: "jn2", type: "helper" }];
|
// { id: "jn2", type: "helper" }];
|
||||||
helper.load(sentimentNode, flow, function () {
|
// helper.load(sentimentNode, flow, function () {
|
||||||
var jn1 = helper.getNode("jn1");
|
// var jn1 = helper.getNode("jn1");
|
||||||
var jn2 = helper.getNode("jn2");
|
// var jn2 = helper.getNode("jn2");
|
||||||
jn2.on("input", function (msg) {
|
// jn2.on("input", function (msg) {
|
||||||
msg.should.have.property('sentiment');
|
// msg.should.have.property('sentiment');
|
||||||
msg.sentiment.should.have.property('score');
|
// msg.sentiment.should.have.property('score');
|
||||||
msg.sentiment.score.should.be.a.Number();
|
// msg.sentiment.score.should.be.a.Number();
|
||||||
msg.sentiment.score.should.equal(-3);
|
// msg.sentiment.score.should.equal(-3);
|
||||||
done();
|
// done();
|
||||||
});
|
// });
|
||||||
var testString = '世界就是一个疯子的囚笼';
|
// var testString = '世界就是一个疯子的囚笼';
|
||||||
var tokenOverrides = ['世界', '就', '是', '一个', '疯子', '的', '囚笼'];
|
// var tokenOverrides = ['世界', '就', '是', '一个', '疯子', '的', '囚笼'];
|
||||||
jn1.receive({ foo: testString, tokens: tokenOverrides });
|
// jn1.receive({ payload: testString, tokens: tokenOverrides });
|
||||||
});
|
// });
|
||||||
});
|
// });
|
||||||
|
|
||||||
|
// it('should allow you to use custom tokens - alternative property', function (done) {
|
||||||
|
// var flow = [{ id: "jn1", type: "mlsentiment", property: "foo", wires: [["jn2"]] },
|
||||||
|
// { id: "jn2", type: "helper" }];
|
||||||
|
// helper.load(sentimentNode, flow, function () {
|
||||||
|
// var jn1 = helper.getNode("jn1");
|
||||||
|
// var jn2 = helper.getNode("jn2");
|
||||||
|
// jn2.on("input", function (msg) {
|
||||||
|
// msg.should.have.property('sentiment');
|
||||||
|
// msg.sentiment.should.have.property('score');
|
||||||
|
// msg.sentiment.score.should.be.a.Number();
|
||||||
|
// msg.sentiment.score.should.equal(-3);
|
||||||
|
// done();
|
||||||
|
// });
|
||||||
|
// var testString = '世界就是一个疯子的囚笼';
|
||||||
|
// var tokenOverrides = ['世界', '就', '是', '一个', '疯子', '的', '囚笼'];
|
||||||
|
// jn1.receive({ foo: testString, tokens: tokenOverrides });
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user