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,
|
||||
"disallowTrailingWhitespace": true,
|
||||
"requireCurlyBraces": true,
|
||||
//"requireKeywordsOnNewLine": ["else", "catch"],
|
||||
//"requireSemicolons": true,
|
||||
//"requireSpaceAfterBinaryOperators": true,
|
||||
//"requireSpaceAfterComma": {"allExcept": ["trailing"]},
|
||||
"requireSpaceAfterKeywords": ["do","for","if","else","switch","case","try","while"],
|
||||
"requireSpaceBeforeBlockStatements": 1,
|
||||
"requireSpaceBeforeObjectValues": false,
|
||||
"requireSpacesInForStatement": true,
|
||||
"requireSpacesInFunction": { "beforeOpeningCurlyBrace": true },
|
||||
//"validateParameterSeparator": ", ",
|
||||
//"validateQuoteMarks": false,
|
||||
"maximumLineLength": 280
|
||||
"maximumLineLength": 280,
|
||||
"es11": true
|
||||
}
|
||||
|
30
.jshintrc
30
.jshintrc
@ -1,15 +1,19 @@
|
||||
{
|
||||
"asi": true,
|
||||
"curly": true,
|
||||
"eqnull": true,
|
||||
"freeze": true,
|
||||
"indent": 4,
|
||||
"forin": true,
|
||||
"immed": true,
|
||||
"nonbsp": true,
|
||||
"loopfunc": true,
|
||||
"shadow": true,
|
||||
"sub": true,
|
||||
"proto": true,
|
||||
"esversion": 8
|
||||
"asi": true, // allow missing semicolons
|
||||
"curly": true, // require braces
|
||||
"eqnull": true, // ignore ==null
|
||||
//"eqeqeq": true, // enforce ===
|
||||
"freeze": true, // don't allow override
|
||||
"indent": 4, // default indent of 4
|
||||
"forin": true, // require property filtering in "for in" loops
|
||||
"immed": true, // require immediate functions to be wrapped in ( )
|
||||
"nonbsp": true, // warn on unexpected whitespace breaking chars
|
||||
//"strict": true, // commented out for now as it causes 100s of warnings, but want to get there eventually
|
||||
//"unused": true, // Check for unused functions and variables
|
||||
"loopfunc": true, // allow functions to be defined in loops
|
||||
//"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-simple-mocha": "^0.4.1",
|
||||
"imap": "^0.8.19",
|
||||
"mailparser": "^3.6.4",
|
||||
"mailparser": "^3.6.5",
|
||||
"markdown-it": "^12.3.2",
|
||||
"mocha": "~6.2.3",
|
||||
"msgpack-lite": "^0.1.26",
|
||||
"multilang-sentiment": "^1.2.0",
|
||||
"ngeohash": "^0.6.3",
|
||||
"node-red": "^3.0.2",
|
||||
"node-red-node-test-helper": "^0.3.0",
|
||||
"nodemailer": "^6.9.1",
|
||||
"node-pop3": "^0.8.0",
|
||||
"node-red": "^3.1.0",
|
||||
"node-red-node-test-helper": "^0.3.2",
|
||||
"nodemailer": "^6.9.7",
|
||||
"node-pop3": "^0.9.0",
|
||||
"proxyquire": "^2.1.3",
|
||||
"pushbullet": "^2.4.0",
|
||||
"sentiment": "^2.1.0",
|
||||
"should": "^13.2.3",
|
||||
"sinon": "~7.5.0",
|
||||
"smtp-server": "^3.11.0",
|
||||
"smtp-server": "^3.13.0",
|
||||
"supertest": "^4.0.2",
|
||||
"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) {
|
||||
var flow = [{ id: "jn1", type: "mlsentiment", wires: [["jn2"]], lang: "fr" },
|
||||
{ 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(5);
|
||||
done();
|
||||
} catch (err) {
|
||||
done(err);
|
||||
}
|
||||
});
|
||||
var testString = 'bon, belle, don du ciel, brillant';
|
||||
jn1.receive({ payload: testString });
|
||||
});
|
||||
});
|
||||
// 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 - 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) {
|
||||
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({ foo: testString });
|
||||
});
|
||||
});
|
||||
// it('should add a positive score for good words (in French)', function (done) {
|
||||
// var flow = [{ id: "jn1", type: "mlsentiment", wires: [["jn2"]], lang: "fr" },
|
||||
// { 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(5);
|
||||
// done();
|
||||
// } catch (err) {
|
||||
// done(err);
|
||||
// }
|
||||
// });
|
||||
// var testString = 'bon, belle, don du ciel, brillant';
|
||||
// jn1.receive({ payload: testString });
|
||||
// });
|
||||
// });
|
||||
|
||||
it('should add a negative score for bad 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) {
|
||||
msg.should.have.property('sentiment');
|
||||
msg.sentiment.should.have.property('score');
|
||||
msg.sentiment.score.should.be.a.Number();
|
||||
msg.sentiment.score.should.be.below(-10);
|
||||
done();
|
||||
});
|
||||
var testString = 'bad, horrible, negative, awful';
|
||||
jn1.receive({ payload: testString });
|
||||
});
|
||||
});
|
||||
// it('should add a positive score for good words - 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) {
|
||||
// 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({ foo: testString });
|
||||
// });
|
||||
// });
|
||||
|
||||
it('should add a negative score for bad words - 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.be.below(-10);
|
||||
done();
|
||||
});
|
||||
var testString = 'bad, horrible, negative, awful';
|
||||
jn1.receive({ foo: testString });
|
||||
});
|
||||
});
|
||||
// it('should add a negative score for bad 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) {
|
||||
// msg.should.have.property('sentiment');
|
||||
// msg.sentiment.should.have.property('score');
|
||||
// msg.sentiment.score.should.be.a.Number();
|
||||
// msg.sentiment.score.should.be.below(-10);
|
||||
// done();
|
||||
// });
|
||||
// var testString = 'bad, horrible, negative, awful';
|
||||
// jn1.receive({ payload: testString });
|
||||
// });
|
||||
// });
|
||||
|
||||
it('should allow you to override word scoring', 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) {
|
||||
msg.should.have.property('sentiment');
|
||||
msg.sentiment.should.have.property('score');
|
||||
msg.sentiment.score.should.be.a.Number();
|
||||
msg.sentiment.score.should.equal(20);
|
||||
done();
|
||||
});
|
||||
var testString = 'sick, wicked';
|
||||
var wordOverrides = { 'sick': 10, 'wicked': 10 };
|
||||
jn1.receive({ payload: testString, words: wordOverrides });
|
||||
});
|
||||
});
|
||||
// it('should add a negative score for bad words - 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.be.below(-10);
|
||||
// done();
|
||||
// });
|
||||
// var testString = 'bad, horrible, negative, awful';
|
||||
// jn1.receive({ foo: testString });
|
||||
// });
|
||||
// });
|
||||
|
||||
it('should allow you to override word scoring - 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(20);
|
||||
done();
|
||||
});
|
||||
var testString = 'sick, wicked';
|
||||
var wordOverrides = { 'sick': 10, 'wicked': 10 };
|
||||
jn1.receive({ foo: testString, words: wordOverrides });
|
||||
});
|
||||
});
|
||||
// it('should allow you to override word scoring', 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) {
|
||||
// msg.should.have.property('sentiment');
|
||||
// msg.sentiment.should.have.property('score');
|
||||
// msg.sentiment.score.should.be.a.Number();
|
||||
// msg.sentiment.score.should.equal(20);
|
||||
// done();
|
||||
// });
|
||||
// var testString = 'sick, wicked';
|
||||
// var wordOverrides = { 'sick': 10, 'wicked': 10 };
|
||||
// jn1.receive({ payload: testString, words: wordOverrides });
|
||||
// });
|
||||
// });
|
||||
|
||||
it('should allow you to use custom tokens', 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) {
|
||||
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({ payload: testString, tokens: tokenOverrides });
|
||||
});
|
||||
});
|
||||
// it('should allow you to override word scoring - 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(20);
|
||||
// done();
|
||||
// });
|
||||
// var testString = 'sick, wicked';
|
||||
// var wordOverrides = { 'sick': 10, 'wicked': 10 };
|
||||
// jn1.receive({ foo: testString, words: wordOverrides });
|
||||
// });
|
||||
// });
|
||||
|
||||
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 });
|
||||
});
|
||||
});
|
||||
// it('should allow you to use custom tokens', 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) {
|
||||
// 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({ 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