Repository Analysis

node-red/node-red

Low-code programming for event-driven applications

89.6 Strong AI signal View on GitHub
89.6
Adjusted Score
89.6
Raw Score
100%
Time Factor
2026-05-29
Last Push
23,201
Stars
JavaScript
Language
76,930
Lines of Code
265
Files
703
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 657HIGH 0MEDIUM 1LOW 45

Pattern Findings

703 matches across 5 categories. Click a row to expand file-level details.

Hallucination Indicators657 hits · 6850 pts
SeverityFileLineSnippet
CRITICALtest/unit/@node-red/util/lib/log_spec.js69 console.log.calledOnce.should.be.true();
CRITICALtest/unit/@node-red/util/lib/log_spec.js90 console.log.calledOnce.should.be.true();
CRITICALtest/unit/@node-red/util/lib/log_spec.js95 console.log.calledOnce.should.be.true();
CRITICALtest/unit/@node-red/util/lib/util_spec.js130 cloned.object.subobject.should.not.equal(msg.object.subobject);
CRITICALtest/unit/@node-red/util/lib/util_spec.js216 msg.a.b.c.should.eql('bar');
CRITICALtest/unit/@node-red/util/lib/util_spec.js222 msg.a.b.c.should.eql('bar');
CRITICALtest/unit/@node-red/util/lib/util_spec.js331 msg.a.should.not.have.property("b[2]");
CRITICALtest/unit/@node-red/editor-api/lib/auth/index_spec.js44 req.body.should.have.a.property("client_secret","test_value");
CRITICALtest/unit/@node-red/editor-api/lib/auth/index_spec.js53 req.body.should.have.a.property("client_secret","not_available");
CRITICALtest/unit/@node-red/editor-api/lib/auth/index_spec.js94 resp.prompts.should.have.a.lengthOf(2);
CRITICALtest/unit/@node-red/editor-api/lib/auth/index_spec.js110 resp.prompts.should.have.a.lengthOf(1);
CRITICALtest/unit/@node-red/editor-api/lib/auth/index_spec.js145 passport.authenticate.called.should.be.false();
CRITICALtest/unit/@node-red/editor-api/lib/auth/index_spec.js160 passport.authenticate.called.should.be.true();
CRITICALtest/unit/@node-red/editor-api/lib/auth/index_spec.js161 Permissions.hasPermission.called.should.be.false();
CRITICALtest/unit/@node-red/editor-api/lib/auth/index_spec.js180 passport.authenticate.called.should.be.true();
CRITICALtest/unit/@node-red/editor-api/lib/auth/index_spec.js181 Permissions.hasPermission.called.should.be.true();
CRITICALtest/unit/@node-red/editor-api/lib/auth/users_spec.js46 user.should.not.have.a.property("password");
CRITICALtest/unit/@node-red/editor-api/lib/auth/users_spec.js85 user.should.not.have.a.property("password");
CRITICALtest/unit/@node-red/editor-api/lib/auth/users_spec.js166 user.should.not.have.a.property("password");
CRITICALtest/unit/@node-red/editor-api/lib/auth/users_spec.js178 user.should.not.have.a.property("password");
CRITICALtest/unit/@node-red/editor-api/lib/auth/tokens_spec.js170 savedSession.should.not.have.a.property("1234");
CRITICAL…t/unit/@node-red/editor-api/lib/admin/settings_spec.js88 res.body.should.not.have.property("editorTheme");
CRITICALtest/unit/@node-red/editor-api/lib/admin/flows_spec.js78 res.body.should.have.a.property('rev','123');
CRITICALtest/unit/@node-red/editor-api/lib/admin/flows_spec.js79 res.body.should.have.a.property('flows');
CRITICALtest/unit/@node-red/editor-api/lib/admin/flows_spec.js80 res.body.flows.should.have.lengthOf(3);
CRITICALtest/unit/@node-red/editor-api/lib/admin/flows_spec.js98 res.body.should.have.a.property('code','invalid_api_version');
CRITICALtest/unit/@node-red/editor-api/lib/admin/flows_spec.js185 res.body.should.have.a.property('code','invalid_api_version');
CRITICALtest/unit/@node-red/editor-api/lib/admin/flows_spec.js233 res.body.should.have.a.property('started', true);
CRITICALtest/unit/@node-red/editor-api/lib/admin/flows_spec.js234 res.body.should.have.a.property('state', "started");
CRITICALtest/unit/@node-red/editor-api/lib/admin/flows_spec.js264 res.body.should.have.a.property('started', false);
CRITICALtest/unit/@node-red/editor-api/lib/admin/flows_spec.js265 res.body.should.have.a.property('state', "stopped");
CRITICALtest/unit/@node-red/editor-api/lib/admin/nodes_spec.js70 res.body.should.be.an.Array();
CRITICALtest/unit/@node-red/editor-api/lib/admin/nodes_spec.js274 res.body.should.have.a.property('code','random_error');
CRITICALtest/unit/@node-red/editor-api/lib/admin/nodes_spec.js323 res.body.should.have.a.property('code','random_error');
CRITICALtest/unit/@node-red/editor-api/lib/admin/nodes_spec.js448 res.body.module.should.be.an.Array();
CRITICALtest/unit/@node-red/editor-api/lib/admin/nodes_spec.js449 res.body.module.should.have.lengthOf(3);
CRITICALtest/unit/@node-red/editor-api/lib/admin/flow_spec.js70 res.body.should.has.a.property('id','123');
CRITICALtest/unit/@node-red/editor-api/lib/admin/flow_spec.js114 res.body.should.has.a.property('id','123');
CRITICALtest/unit/@node-red/editor-api/lib/admin/flow_spec.js128 res.body.should.has.a.property('code','random_error');
CRITICALtest/unit/@node-red/editor-api/lib/admin/flow_spec.js129 res.body.should.has.a.property('message','random error');
CRITICALtest/unit/@node-red/editor-api/lib/admin/flow_spec.js169 res.body.should.has.a.property('id','123');
CRITICALtest/unit/@node-red/editor-api/lib/admin/flow_spec.js186 res.body.should.has.a.property('code','random_error');
CRITICALtest/unit/@node-red/editor-api/lib/admin/flow_spec.js187 res.body.should.has.a.property('message','random error');
CRITICALtest/unit/@node-red/editor-api/lib/admin/flow_spec.js240 res.body.should.has.a.property('code','random_error');
CRITICALtest/unit/@node-red/editor-api/lib/admin/flow_spec.js241 res.body.should.has.a.property('message','random error');
CRITICAL…st/unit/@node-red/editor-api/lib/admin/context_spec.js161 res.body.should.has.a.property('code', 'unexpected_error');
CRITICAL…st/unit/@node-red/editor-api/lib/admin/context_spec.js162 res.body.should.has.a.property('message', 'error');
CRITICAL…st/unit/@node-red/editor-api/lib/admin/context_spec.js266 res.body.should.has.a.property('code', 'unexpected_error');
CRITICAL…st/unit/@node-red/editor-api/lib/admin/context_spec.js267 res.body.should.has.a.property('message', 'error');
CRITICALtest/unit/@node-red/editor-api/lib/editor/index_spec.js45 comms.init.called.should.be.false();
CRITICALtest/unit/@node-red/editor-api/lib/editor/index_spec.js46 info.init.called.should.be.false();
CRITICALtest/unit/@node-red/editor-api/lib/editor/theme_spec.js43 context.page.should.have.a.property("title", "Node-RED");
CRITICALtest/unit/@node-red/editor-api/lib/editor/theme_spec.js44 context.page.should.have.a.property("favicon", "favicon.ico");
CRITICALtest/unit/@node-red/editor-api/lib/editor/theme_spec.js45 context.page.should.have.a.property("tabicon");
CRITICALtest/unit/@node-red/editor-api/lib/editor/theme_spec.js46 context.page.tabicon.should.have.a.property("icon", "red/images/node-red-icon-black.svg");
CRITICALtest/unit/@node-red/editor-api/lib/editor/theme_spec.js47 context.page.tabicon.should.have.a.property("colour", "#8f0000");
CRITICALtest/unit/@node-red/editor-api/lib/editor/theme_spec.js49 context.header.should.have.a.property("title", "Node-RED");
CRITICALtest/unit/@node-red/editor-api/lib/editor/theme_spec.js50 context.header.should.have.a.property("image", "red/images/node-red.svg");
CRITICALtest/unit/@node-red/editor-api/lib/editor/theme_spec.js52 context.asset.should.have.a.property("red", "red/red.min.js");
CRITICALtest/unit/@node-red/editor-api/lib/editor/theme_spec.js53 context.asset.should.have.a.property("main", "red/main.min.js");
597 more matches not shown…
Over-Commented Block31 hits · 30 pts
SeverityFileLineSnippet
LOWGruntfile.js81 jshint: {
LOWtest/unit/node-red/lib/red_spec.js41 // runtime.init.restore();
LOWtest/unit/@node-red/editor-api/lib/editor/index_spec.js121 done();
LOW…t/unit/@node-red/editor-api/lib/editor/locales_spec.js41 // callback();
LOW…t/unit/@node-red/editor-api/lib/editor/locales_spec.js121 // var app;
LOW…t/unit/@node-red/editor-api/lib/editor/locales_spec.js141 // }
LOW…t/unit/@node-red/editor-api/lib/editor/locales_spec.js161 // done();
LOWtest/unit/@node-red/runtime/lib/nodes/Node_spec.js601 // it('emits messages without cloning req or res', function(done) {
LOWtest/unit/@node-red/runtime/lib/nodes/Node_spec.js621 // msg.req.should.be.exactly(message.req);
LOWtest/unit/@node-red/runtime/lib/nodes/Node_spec.js641 //
LOWtest/unit/@node-red/runtime/lib/nodes/Node_spec.js661 // send: (node,dst,msg) => { setImmediate(function() { flow.getNode(dst).receive(msg) })}
LOWtest/unit/@node-red/runtime/lib/flows/index_spec.js441 c.should.equal(2);
LOWtest/unit/@node-red/runtime/lib/flows/index_spec.js461 // flows.handleError(originalConfig[0],"message",{});
LOWtest/unit/@node-red/runtime/lib/flows/index_spec.js481 // storage.getFlows = function() {
LOWtest/unit/@node-red/runtime/lib/flows/index_spec.js501 // });
LOWtest/unit/@node-red/runtime/lib/flows/index_spec.js521 // flows.startFlows();
LOWtest/unit/@node-red/runtime/lib/flows/index_spec.js541 // try {
LOWtest/unit/@node-red/registry/lib/loader_spec.js421 // result["node-red"] = {
LOWtest/unit/@node-red/registry/lib/loader_spec.js441 // loader.init({nodes:nodes,log:{info:function(){},_:function(){}},settings:{available:function(){return tru
LOWtest/unit/@node-red/registry/lib/loader_spec.js461 // module.nodes.DuffNode.should.have.property("namespace","node-red");
LOWtest/nodes/core/parsers/70-JSON_spec.js221 // var logEvents = helper.log().args.filter(function(evt) {
LOWtest/nodes/core/common/60-link_spec.js181 });
LOWtest/nodes/core/common/60-link_spec.js201 // var n4 = helper.getNode("n4");
LOWtest/editor/wdio.conf.js21 // ==================
LOWtest/editor/wdio.conf.js41 // time. Depending on the number of capabilities, WebdriverIO launches several test
LOWtest/editor/wdio.conf.js61 // 5 instances get started at a time.
LOWtest/editor/wdio.conf.js81 coloredLogs: true,
LOWtest/editor/wdio.conf.js101 //
LOWtest/editor/wdio.conf.js121 // screenWidth: [320,480,640,1024]
LOWtest/editor/wdio.conf.js141 // Test reporter for stdout.
LOWscripts/build-custom-theme.js1#!/usr/bin/env node
Hyper-Verbose Identifiers8 hits · 8 pts
SeverityFileLineSnippet
LOW…st/unit/@node-red/registry/lib/externalModules_spec.js28async function setupExternalModulesPackage(dependencies) {
LOWtest/nodes/core/network/21-httprequest_spec.js190 function getSslTestURLWithoutProtocol(url) {
LOWtest/nodes/core/network/21-mqtt_spec.js730function buildBasicMQTTSendRecvFlow(brokerOptions, inOptions, outOptions) {
LOWtest/nodes/core/function/10-switch_spec.js125 function customFlowMessageSwitchTest(flow, shouldReceive, message, done) {
LOWtest/nodes/core/function/10-switch_spec.js150 function customFlowSequenceSwitchTest(flow, seq_in, seq_out, repair, modifier, done) {
LOWtest/nodes/core/function/10-switch_spec.js952 function customFlowSequenceMultiSwitchTest(flow, seq_in, outs, repair, done) {
LOWtest/nodes/core/function/89-trigger_spec.js1178 function mapiDoneTriggerTestHelper(done, nodeSetting, msgAndTimings) {
LOWtest/nodes/core/function/89-delay_spec.js182 function genericRateLimitSECONDSTest(aLimit, nbUnit, runtimeInMillis, rateValue, done) {
Fake / Example Data6 hits · 6 pts
SeverityFileLineSnippet
LOW…lib/storage/localfilesystem/projects/ssh/index_spec.js248 comment: 'test@test.com',
LOW…lib/storage/localfilesystem/projects/ssh/index_spec.js271 comment: 'test@test.com',
LOW…lib/storage/localfilesystem/projects/ssh/index_spec.js295 comment: 'test@test.com',
LOW…lib/storage/localfilesystem/projects/ssh/index_spec.js319 comment: 'test@test.com',
LOW…lib/storage/localfilesystem/projects/ssh/index_spec.js344 comment: 'test@test.com',
LOW…lib/storage/localfilesystem/projects/ssh/index_spec.js371 comment: 'test@test.com',
AI Slop Vocabulary1 hit · 2 pts
SeverityFileLineSnippet
MEDIUMpackage-lock.json12213 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz",