1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00
Commit Graph

455 Commits

Author SHA1 Message Date
Mark Hindess
3840bd117c Fix refactoring error; rename info to id. 2014-10-30 08:08:41 +00:00
Nick O'Leary
6169e4299a Add initial subflow tests 2014-10-29 21:44:33 +00:00
Nick O'Leary
d9648ca76b Add subflow support 2014-10-29 20:26:25 +00:00
Nick O'Leary
57ae297efd Clone messages before any node.receive call 2014-10-25 23:12:30 +01:00
Anna Thomas
bc8e459ae6 Node does not clone first message sent
Tests updated to mirror this behaviour
    Annotated algorithm
2014-10-21 14:08:35 +01:00
Nick O'Leary
d4a21be666 Clone settings to avoid modifying original values 2014-10-09 14:21:53 +01:00
Nick O'Leary
489c552dbe Reset settings between tests 2014-10-03 15:05:37 +01:00
Nick O'Leary
c223e7f58f Avoid writing unchanged settings 2014-10-03 14:47:23 +01:00
Nick O'Leary
9152daa13b Fix race condition on saving config 2014-09-23 17:09:23 +01:00
Nick O'Leary
6305c5b55f Use request.del in cli request module 2014-09-23 16:35:17 +01:00
Nick O'Leary
723a3e628e Add cli tests 2014-09-23 00:14:30 +01:00
Nick O'Leary
af0b740fbd Rework nr-cli
- better componentisation
- add 'search' option to look for npm modules
- add 'target' option to point at non-default installs
2014-09-22 22:59:42 +01:00
Nick O'Leary
31255bd66b Handle blank config file 2014-09-22 21:35:30 +01:00
Nick O'Leary
8d54126127 Pretty-print the .config.json file for ease of debug 2014-09-22 14:34:53 +01:00
Nick O'Leary
55c830b812 Add disableEditor option
Closes #409
2014-09-22 14:34:17 +01:00
Nick O'Leary
9bfc6d376b Use module:node name to generate set id 2014-09-22 13:15:19 +01:00
Nick O'Leary
c98b9dfaa3 Don't filter errored nodes in result list 2014-09-20 22:42:48 +01:00
Nick O'Leary
ea89aff3db Handle node-load errors properly
Fixes #403
Certain load errors were causing start-up to fail. In particular,
an npm module with a missing .js file.
2014-09-20 22:25:00 +01:00
Nick O'Leary
f939d52551 Restore node ids from config list 2014-09-20 21:29:46 +01:00
Nick O'Leary
da61fe12d0 Add dynamic node api
Closes #322
- nodes modules can be installed/removed dynamically at runtime
- nodes can be enabled/disabled
- onpaletteadd/onpaletteremove api added to node definitions
- initial implementation of nr-cli
2014-09-17 23:57:29 +01:00
Mark Hindess
c0fcc20f23 Add ensureBuffer helper for nodes. 2014-09-10 12:46:56 +01:00
Mark Hindess
0a009e2a15 Rename RED.utils to RED.util. Fixes #364. 2014-09-03 13:20:45 +01:00
Mark Hindess
a9e72858df Add ensure string helper for nodes. 2014-08-28 14:25:41 +01:00
Mark Hindess
7abae51b42 Fix --help so it doesn't crash. 2014-08-28 13:59:56 +01:00
Nick O'Leary
7042d87444 Handle missing file/modules in Add node api 2014-08-18 21:59:19 +01:00
Nick O'Leary
4d6846047f Dynamic node add not listing added types properly 2014-08-18 21:12:15 +01:00
Nick O'Leary
e8c4caaf74 Remove cheerio parse of node html files on start-up 2014-08-18 14:34:47 +01:00
Nick O'Leary
fb2f307a26 Remove unnecessary semicolon 2014-08-07 22:24:02 +01:00
Nick O'Leary
58c2f5dd3d Add remove node api 2014-08-07 22:20:06 +01:00
Nick O'Leary
fde77cec5d Add rest endpoint for add/remove and send updates to editor 2014-08-07 13:46:38 +01:00
Nick O'Leary
960d15491d Add node add/remove/enable/disable apis to registry 2014-08-04 17:12:54 +01:00
Nick O'Leary
f7f58a2347 Add registry test for node module loading 2014-08-03 21:17:24 +01:00
Nick O'Leary
1697aee9f6 Add loadNode api to registry.js 2014-08-01 23:42:01 +01:00
Nick O'Leary
79e9641c09 Big rework of registry.js
Part of #322

Loads node.html files before node.js files

Adds helper.unload which must be called by node tests
to clear the registery of nodes
2014-08-01 22:05:49 +01:00
Nick O'Leary
8e8e13a3a2 Add comms.stop to tidy up keepalive timer 2014-08-01 21:55:05 +01:00
Nick O'Leary
989f3459d5 Merge pull request #323 from zobalogh/further-registry-tests
Adding test for registry cheerio
2014-07-31 17:25:31 +01:00
Nick O'Leary
b8f40d4e39 Merge pull request #319 from hindessm/restrict-library-entry-names
Prohibit library entry names from containing '../'.
2014-07-31 17:24:57 +01:00
zobalogh
401afcbadd Adding test for registry cheerio 2014-07-31 16:49:19 +01:00
zobalogh
d9544e4ac5 Adding registry node load tests 2014-07-31 14:43:26 +01:00
Mark Hindess
b7428ab627 Prohibit library entry names from containing '../'. 2014-07-31 13:59:24 +01:00
Nick O'Leary
f4ffdce3d0 Merge pull request #317 from hindessm/fix-flows-missing-types-logic
Fix missing types logic.
2014-07-31 10:01:27 +01:00
Mark Hindess
2f882913f0 Fix missing types logic.
missingTypes.length was greater than zero so the only way it can be
zero immediately afterwards is if splice is called so move the zero
check after the splice.

Despite what istanbul reports this function is covered by the tests.
2014-07-31 08:36:54 +01:00
Mark Hindess
e407fc857e Fix HTTP response; 204 should be code not body. 2014-07-31 07:04:10 +01:00
Mark Hindess
195f581da7 Remove redundant assignment.
The publish immediately overwrites this time so there isn't much
point setting it.
2014-07-30 14:33:31 +01:00
Mark Hindess
8e30910065 Add webSocketKeepAliveTime setting to aid testing. 2014-07-30 14:33:31 +01:00
hbeeken
796810f460 Test to ensure credential definition is defined after index.registerType 2014-07-29 14:58:49 +01:00
Nick O'Leary
e07a523c3b Fix node html compression and refactor registry 2014-07-28 16:37:39 +01:00
Nick O'Leary
76a6730ef4 Merge pull request #289 from zobalogh/storage-interface-dev
Defining storage interface
2014-07-25 15:00:40 +01:00
Nick O'Leary
0c8b54253a Merge pull request #300 from zobalogh/ui-caller-delivery
Removing accidental requires
2014-07-25 15:00:22 +01:00
zobalogh
1f09c29aeb Removing accidental requires 2014-07-25 14:50:54 +01:00
zobalogh
d58788f721 Defining storage interface. 2014-07-25 14:44:15 +01:00
Nick O'Leary
e299baf1a0 Refactor inner workings of registry.js 2014-07-24 23:16:41 +01:00
Nick O'Leary
af1bcf33c1 Merge pull request #297 from zobalogh/ui-caller-delivery
Adding UI unit tests
2014-07-24 16:26:45 +01:00
Nick O'Leary
7abda9bc52 Merge pull request #298 from hindessm/test-comms
Add comms tests
2014-07-24 15:29:06 +01:00
Mark Hindess
8506fd0c4b Do not crash on malformed json message on websocket. 2014-07-24 14:46:04 +01:00
zobalogh
6c093eef99 Fixing settings usage in UI 2014-07-24 14:35:01 +01:00
Nick O'Leary
166a798c09 Merge pull request #293 from hindessm/remove-some-unused-variables
Remove some unused variables.
2014-07-24 12:35:54 +01:00
Mark Hindess
e96fff573d Remove some unused variables. 2014-07-23 23:04:08 +01:00
Mark Hindess
f331d906b4 Fail with error rather than silently on storage init problems. 2014-07-23 22:54:16 +01:00
Mark Hindess
406581d522 Remove unused references to red/red.js 2014-07-23 20:02:28 +01:00
Mark Hindess
d51eadb6c2 Remove spurious require of the events singleton. 2014-07-22 12:43:02 +01:00
Nick O'Leary
d1300c0632 Remove unnecessary semi-colon 2014-07-21 16:18:22 +01:00
Nick O'Leary
014fca2d61 Add some function-level docs 2014-07-21 16:07:28 +01:00
Nick O'Leary
fea6280bff Tidy up runtime credentials 2014-07-21 15:56:38 +01:00
Mark Hindess
63ebee22dd Add missing require. 2014-07-21 13:29:54 +01:00
Nick O'Leary
4302deb5a6 Change credential boolean prefix 2014-07-20 20:42:41 +01:00
Nick O'Leary
b604db83f6 Tweak the credential handling
- use node.credentials rather than node._creds for consistency with the runtime
 - simplify the structure of node.credentials
2014-07-19 00:25:22 +01:00
Nick O'Leary
aa35484a30 Prepopulate node credentials if present 2014-07-18 14:23:32 +01:00
Nick O'Leary
a6a0352b70 Add credential registration to RED.nodes.registerType 2014-07-18 14:20:49 +01:00
Nick O'Leary
84a0e8ceff Add version information to /settings 2014-07-17 21:32:30 +01:00
Antoine Aflalo
4d97d9d300 Rewrite credentials API to work with save on deploy. 2014-07-16 11:25:40 +03:00
Nick O'Leary
cfd590a397 Merge pull request #267 from hindessm/flows-tests
Flows tests
2014-07-15 17:03:16 +01:00
zobalogh
4a514b9060 Removing orphaned function. 2014-07-15 15:32:56 +01:00
Mark Hindess
fe9ff0a297 Fix jshint complaints. 2014-07-14 21:46:36 +01:00
Mark Hindess
7281d273a1 Remove unused code. 2014-07-14 21:45:03 +01:00
Mark Hindess
66459f1bd6 Short circuit the null message case. 2014-07-10 14:25:32 +01:00
Mark Hindess
d371511d1d Refactor common log code. 2014-07-10 14:25:32 +01:00
Dave C-J
9bc9994354 Fix for missingType(s) - to close #259
(thanks to toksea for spotting it)
2014-07-08 08:49:48 +01:00
Nick O'Leary
9db1166ce0 Fix logHandler array handling
Fixes #257
2014-07-02 16:31:02 +01:00
Nick O'Leary
9f3233175b Fix node html generation 2014-07-01 23:48:26 +01:00
Nick O'Leary
649c82f7d7 Fix all jshint warnings in core code 2014-07-01 23:46:25 +01:00
Nick O'Leary
479a02cc16 Enable npm nodes to provide custom icons 2014-06-25 10:30:52 +01:00
Nick O'Leary
842e7cf5f5 Allow retained status message to be cleared 2014-06-21 22:43:48 +01:00
Nick O'Leary
dded87c134 Log close errors rather than pass up the stack 2014-06-08 23:28:46 +01:00
Nick O'Leary
749eaa2181 Add flowFilePretty option 2014-06-07 22:33:29 +01:00
Nick O'Leary
70147d0b6b Remove 'retined' property from node.status calls 2014-05-30 20:30:26 +01:00
Antoine Aflalo
f822827454 Credentials into RED 2014-05-16 10:07:43 +03:00
Nick O'Leary
525321ec7f Fix node emitter 2014-05-15 20:55:01 +01:00
Nick O'Leary
8f1dd62515 Allow Serial nodes to close asynchonously 2014-05-14 21:34:17 +01:00
Nick O'Leary
c317ccc36d Allow nodes to close asynchronously 2014-05-14 21:18:47 +01:00
Dave Conway-Jones
7e4fa5fa45 Merge pull request #204 from tedgoddard/patch-1
support for use_strict - patch for server.js file
Removes redundant variable declaration.
(now handled in storage)
2014-05-14 11:25:38 +01:00
Antoine Aflalo
6a7b3cf62c REST API for Credentials
Adding RED.nodes.registerCredentials to register the credentials definition server sided.
Adding the property credentials in the template definition client-side.

Connecting the editor to the credential API.
I added a TODO for the validation of Credentials field.
As the other field, the developer should be able to set the credentials as required and also give a validation function.
2014-05-09 13:47:21 +03:00
Nick O'Leary
da3fbd3b62 Initialise Node earlier in registry life-cycle 2014-05-08 22:58:30 +01:00
Nick O'Leary
c99f0d895f Add comms back to RED interface 2014-05-08 16:55:08 +01:00
Nick O'Leary
7ecb80bf40 Add node status updates 2014-05-08 14:15:54 +01:00
Nick O'Leary
16f8673ec0 Add comms module 2014-05-07 20:47:25 +01:00
Nick O'Leary
3c176d0b94 Handle parse errors in template file 2014-05-07 20:45:26 +01:00
Nick O'Leary
7b0a1b2463 Fix flow backup for first run, add tests 2014-05-07 00:33:50 +01:00
Dave C-J
d1318d215c change preferred name of backup file to flows.backup
(even if it is the previous version :-)
relates to Issue #184
2014-05-06 16:02:18 +01:00
Dave C-J
67d1e2acd8 Create a copy of the previous flow file (flow.previous) before each deploy
closes #184
In case of emergency you can now find the previous flow file before you hit 
deploy in a file called flow.previous . As indicated it is the flow that was 
running prior to you hitting deploy...
2014-05-06 15:22:58 +01:00
Nick O'Leary
44e8aeaae4 Remove console.log in credentials 2014-05-06 14:25:53 +01:00
Nick O'Leary
5e5d3d3000 Log.addHandler missing its implementation 2014-05-06 13:06:06 +01:00
Nick O'Leary
7674492819 Fix node loading order 2014-05-05 00:10:50 +01:00
Nick O'Leary
da8ef7acc6 Minify node .html files before sending 2014-05-04 17:30:55 +01:00
Nick O'Leary
ff49d2b217 Migrate to new node function style 2014-05-03 23:32:04 +01:00
Nick O'Leary
7eed375111 Split up nodes.js into components 2014-05-03 22:28:17 +01:00
Dave C-J
a9e07f8b78 Updated credentials storage so there is a .._cred.... file per flow.
Allows swapping flows more easily without having to re-enter credentials.
Thus also added *_cred* to .gitignore
2014-05-02 14:35:51 +01:00
Nick O'Leary
84093bcb6e Make node loading more asynchronouse 2014-05-02 11:16:07 +01:00
Nick O'Leary
b5a8a7288b Tidy up ajax usage 2014-04-21 22:42:46 +01:00
Nick O'Leary
b6fd103b37 /nodes end-point should be text/html not json 2014-04-21 22:17:52 +01:00
Nick O'Leary
6a17a7d4c2 Add version information to log output 2014-04-21 21:55:28 +01:00
Nick O'Leary
d00624f9e3 Tidy up REST interface
- Ensure application/json where appropriate
 - Use jquery api rather than d3
2014-04-20 22:35:38 +01:00
Ted Goddard
440d649cd6 support for use_strict
variable appears unused but results in

ReferenceError: flowfile is not defined

when node is invoked with --use_strict
2014-04-17 10:54:55 -06:00
Nick O'Leary
896b52ed9e Fix node tests 2014-04-13 22:32:33 +01:00
Nick O'Leary
92d10384ba Avoid adding null req/res properties to messages 2014-04-13 22:12:57 +01:00
Nick O'Leary
43073de10b Add nodesExcludes option 2014-04-08 13:33:09 +01:00
Nick O'Leary
0b8e8de260 Allow nodesDir to be an array of paths 2014-04-07 22:01:33 +01:00
Nick O'Leary
22db06046b Fix mocha dependency 2014-03-31 13:38:35 +01:00
Nick O'Leary
bc8683f40a Skip non-existent node directories 2014-03-21 14:05:27 +00:00
Nick O'Leary
77f1ee9f64 Tidy up nodes module exports 2014-03-06 22:44:34 +00:00
Nick O'Leary
f7792c66b4 Add cmd-line help and reduce node error output by default
Added nopt package dependency - npm update required!

Added -v cmdline option to show node module load errors, which are otherwise hidden by default with only a summary shown
2014-03-06 22:32:23 +00:00
Nick O'Leary
7c24d4d760 Separate out httpAdmin and httpNode 2014-02-16 00:39:30 +00:00
Nick O'Leary
2afe474ec8 Merge pull request #139 from skynetim/storage
Remove some sync calls from localfilesystem.js.
2014-02-02 12:22:23 -08:00
Nick O'Leary
cfd8d137cf Add config-node sidebar tab
Accessed from the drop-down menu
2014-01-25 22:31:43 +00:00
Nick Niemeir
288b129ec3 Make more promisey 2014-01-16 06:28:10 +00:00
Nick Niemeir
3c41b2624a First pass at removing sync calls 2014-01-16 05:59:13 +00:00
Nick O'Leary
02df584af6 Allow storage module to be set explicitly
Rather than just by name
2013-12-19 11:05:03 +00:00
Nicholas O'Leary
ce7bf78349 Non-Cloning of req/res properties caused them to be lost
The previous fix to not clone the req/res objects introduced a bug where the req/res objects were lost from all but the first clone made out of a particular node.
2013-12-05 14:39:26 +00:00
Nicholas O'Leary
0507578c98 Always clone messages to ensure no cross-pollution
Part of #85

A function that returns the same message to multiple outputs, where each output is wired to at most one node was not having its messages cloned due to the change I made in #85 to be slightly more efficient. By returning the same message to each output, cross pollution was possible.
2013-11-29 19:56:46 +00:00
Nicholas O'Leary
0bc0dc3a2b Cannot clone http.req/http.res properties
Temporary fixes #97
2013-11-28 16:06:17 +00:00
Nicholas O'Leary
0aa17662f5 Posting to /flows should block until successfully saved, or fail
Mentioned in #76
2013-11-22 21:07:29 +00:00
Nicholas O'Leary
3054b04378 Storage object null when adding twitter credentials as first ever node 2013-11-22 13:54:10 +00:00
Nicholas O'Leary
e1dbb95396 Deep-clone messages when there are multiple recipients
Fixes #85

As well as adding deep-clone (via the new dependency on the 'clone' module), we no longer clone the message if there is a single recipient. This makes simple node-to-node flows more efficient.

I've done some simple profiling using process.hrtime to time how long the Node.send function takes, and at best, this change is neutral to performance.
2013-11-21 14:03:17 +00:00
Nicholas O'Leary
48c4786d66 Ignore node_modules dir when scanning for nodes 2013-11-20 13:55:21 +00:00
Nicholas O'Leary
3a52397744 Add nodesDir property to all nodes files to exist elsewhere 2013-11-13 17:02:29 +00:00
Nicholas O'Leary
848a69dc26 Make storage.init return a promise to async initialisation
part of #62
2013-11-12 17:13:06 +00:00
Nicholas O'Leary
29734dd994 Add unit test for localfilestorage
Stage 2 of #62
2013-11-10 22:19:01 +00:00
Nicholas O'Leary
95bef6b6ca Abstract all file-system operations
Stage 1 of  #62
2013-11-10 00:05:58 +00:00
Nicholas O'Leary
8befd44195 Rename workspaces to tabs/sheets 2013-10-30 21:45:45 +00:00
Nicholas O'Leary
3604286793 Save/restore tabs 2013-10-25 21:34:00 +01:00
Nicholas O'Leary
fa8dcdc87f Add NODE_RED_HOME env variable 2013-10-20 22:08:38 +01:00
Nicholas O'Leary
5e8e35e6fa Allow icons to be bundled with nodes 2013-10-13 21:01:46 +01:00
Nicholas O'Leary
eb9b31a21b Bit more of a shuffle round of the shutdown handling 2013-10-13 19:14:39 +01:00
Dave C-J
e60120f7c9 Make RED.stop as per @knollery suggestion. 2013-10-13 10:25:01 +01:00
Dave C-J
1fb185d081 Catch SIGINT (ctrl-C/break) and try to close nodes prior to exit. 2013-10-12 22:00:34 +01:00
Nicholas O'Leary
f5a8230f3e Fix camel case of flowFile 2013-10-05 21:20:11 +01:00
Nicholas O'Leary
ef0e5b98c2 Allow flows file to be set in settings 2013-10-04 17:28:15 +01:00
Nicholas O'Leary
e4f105c7a1 Make the runtime embeddedable 2013-09-26 21:13:09 +01:00
Nicholas O'Leary
0ecbbca7e4 Restructure server code to make embedding easier 2013-09-20 17:15:45 +01:00
Nicholas O'Leary
6f8adc9f14 Create lib dir on start-up if needed 2013-09-20 14:21:53 +01:00
Nicholas O'Leary
3b22b585d0 Allow nodes types to initialise asynchronously at start
The code scans the flows that are to be started and checks all
of the necessary node types are registered; if not, it doesn't
start the flows.

An event is emitted when each node type is registered - allowing
the server to track when all of the 'missing' node types register
and then start the flows.

This is a step towards adding node-types without restarting.
2013-09-18 21:15:23 +01:00
Nicholas O'Leary
327ab49622 Fixes #19 - httpRoot and httpAuth not taking effect
We were attaching the editor app rather than the main app to the
server, which meant the root and auth routes were ignored.
2013-09-13 23:24:35 +01:00
Dave C-J
88eb2cddc2 Added Quick catch for gross deploy errors... (only reports in console log... no UI notification) 2013-09-13 17:23:23 +01:00
Nicholas O'Leary
95675bc6bc Start to add server-side events 2013-09-09 20:03:22 +01:00
Nicholas O'Leary
32796dd74c Got to start somewhere 2013-09-05 15:02:48 +01:00