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

473 Commits

Author SHA1 Message Date
Nick O'Leary
d5f2255a68 Handle null coreNodesPath 2016-01-06 17:01:12 +00:00
Nick O'Leary
05b58e9263 Allow core nodes dir to be provided to runtime via settings 2016-01-06 17:01:12 +00:00
Nick O'Leary
4a91c27e4b Allow server to be option on red.init 2016-01-06 17:01:12 +00:00
Nick O'Leary
3a03d46d8d Fix lint error in registry.js 2016-01-06 17:01:12 +00:00
Nick O'Leary
f03aff7006 Tidy up API passed to node modules 2016-01-06 17:01:12 +00:00
Nick O'Leary
043b8a3105 Register node message catalog directly, not via event 2016-01-06 17:01:12 +00:00
Nick O'Leary
1dd9984521 Pickup default language from i18n module 2016-01-06 17:01:12 +00:00
Nick O'Leary
d2be7f8c8f Move locale files under api/runtime components 2016-01-06 17:01:12 +00:00
Nick O'Leary
88dc202db2 Fix node test helper for api/runtime changes 2016-01-06 17:01:12 +00:00
Nick O'Leary
87d77efa57 Add flow reload admin api 2016-01-06 17:01:11 +00:00
Nick O'Leary
35c4a41d7b Node id generation should only be done in runtime/util 2016-01-06 17:01:11 +00:00
Nick O'Leary
1ca3ca07d5 api/nodes accessing comms module incorrectly 2016-01-06 17:01:11 +00:00
Nick O'Leary
d673846e3d WIP: runtime api for node modules 2016-01-06 17:01:11 +00:00
Nick O'Leary
f62b7afede Remove all uses of fs.exists as it is deprecated
The tests still use it in places - particular localfilesystem tests,
but those tests need to be redone with sinon stubbing in place and
not rely on real fs operations.
2016-01-06 17:01:11 +00:00
Nick O'Leary
45f67191ba Improve node registry test coverage 2016-01-06 17:01:11 +00:00
Nick O'Leary
93f5da325b Fix node test helper for runtime/api changes 2016-01-06 17:01:11 +00:00
Nick O'Leary
8fb955e182 Move comms from runtime to api component 2016-01-06 17:01:11 +00:00
Nick O'Leary
9f5e6a4b37 Update tests for runtime/api separation 2016-01-06 17:01:11 +00:00
Nick O'Leary
f43738446e WIP: separate runtime and api components 2016-01-06 17:01:11 +00:00
Nick O'Leary
4eb5058e68 Add readOnly setting to prevent file writes in localfilesystem storage 2015-12-13 22:45:44 +00:00
Nick O'Leary
50d0a88276 Ensure tabs are removed from runtime on partial deploy 2015-12-10 15:47:15 +00:00
Dave Conway-Jones
a95f44d68b remove annoying comma from comm.js
OCD reasons only
2015-12-09 13:37:20 +00:00
Nick O'Leary
cb01920ee6 Allow nodes to be installed by path name 2015-11-09 16:52:14 +00:00
Nick O'Leary
437b01a0ff Move node installer to its own module 2015-11-09 11:29:48 +00:00
Nick O'Leary
075a2abf71 Use child_process.execFile to prevent command injection 2015-11-08 14:26:11 +00:00
Nick O'Leary
985875cc75 Move node install/remove from server component to node engine 2015-11-08 14:06:36 +00:00
Nick O'Leary
a0aee2021d Tidy up sheets/flows labelling 2015-11-05 14:22:15 +00:00
Nick O'Leary
c90fd1e6d8 Move credential http API handling to api component 2015-11-04 11:13:43 +00:00
Nick O'Leary
71ecb89abc Merge branch 'flowengine' 2015-11-03 20:24:55 +00:00
Nick O'Leary
7b6bc1d3bc Increase default api request limit to 1mb
- expose it via settings.apiMaxLength
 - audit log api errors
2015-11-03 11:23:37 +00:00
Nick O'Leary
ab87fa9ce4 Ensure status/errors from global config nodes propagate properly 2015-11-03 10:20:00 +00:00
Nick O'Leary
d1940a023a Complete test coverage on flow engine refactor 2015-11-02 15:58:40 +00:00
Nick O'Leary
ec25191c98 Flow Engine refactor
Each flow/tab now exists as its own logical object. This is the ground
work for allowing flows to be added/removed/updated independently.
2015-11-02 15:58:29 +00:00
Nick O'Leary
f626ee060a Allow properties to be specified by environment variables
A property set to $(ABC) will be substituted with the environment
variable ABC - if it exists. If the property doesn't exist, the property
is left unchanged.
2015-10-23 22:14:39 +01:00
Nick O'Leary
d668d43a0a Move to express 4.x 2015-10-02 21:27:31 +01:00
Dave Conway-Jones
cc6e0937a0 initialise status.text to be blank string if not set.
(and change test to use .text rather than .message)
(not that it matters at this level of test)
2015-10-02 21:27:30 +01:00
Nick O'Leary
a6644ad5ff Add status node 2015-10-02 21:27:29 +01:00
Nick O'Leary
cbdd4de630 Errors in subflows propagate up to nearest catch node 2015-10-02 21:27:29 +01:00
Nick O'Leary
3a6192bf73 Catch node can target specific nodes 2015-10-02 21:27:28 +01:00
Nick O'Leary
3963fa9738 Allow a language catalog to be a partial catalog 2015-09-24 21:56:45 +01:00
Nick O'Leary
5193d7bddb Stop sending messages to ws connections that have errored
Fixes #708
2015-07-30 22:09:01 +01:00
Nick O'Leary
eb57089f06 Add flag to disable build check for tests 2015-07-22 11:41:58 +01:00
Nick O'Leary
a76e4fede1 Handle null acceptedLanguages
Closes #704
2015-07-19 22:11:25 +01:00
Nick O'Leary
9fb81b2814 Permit login with blank scope
Required for the editor, which doesn't know the appropriate scope
for the user logging in. The user will adopt their default permission
scope once logged in.
2015-07-15 10:12:45 +01:00
Nick O'Leary
846ab08661 Allow node modules to declare supported versions of node-red 2015-07-10 21:42:14 +01:00
Nick O'Leary
f70e9ea076 Ensure RED._ is defined before initialising settings
- remove permissions requirement from locales files so the
   login dialog can be nls'd
2015-07-08 17:08:07 +01:00
Nick O'Leary
6cfa4976fe Fix nodes.install.installing message id 2015-07-02 13:25:15 +01:00
Nick O'Leary
61e0923fc4 Restore when module dependency in red/api/nodes 2015-07-02 10:49:40 +01:00
Nick O'Leary
9ca102cf81 Ensure error messages are toStringed 2015-07-02 10:49:39 +01:00
Nick O'Leary
48df31d7b7 NLS deprecated node message 2015-07-02 10:49:39 +01:00
Nick O'Leary
99a51b07ac Catch error loop detection nls 2015-07-02 10:49:39 +01:00
Allen Boone
a6974371b0 Fixed acceptedLanguage typo 2015-07-02 10:49:39 +01:00
Nick O'Leary
f0b4cb608a Return locale specific node help 2015-07-02 10:49:39 +01:00
Allen Boone
284d7e26d1 Initialize list of supported languages from directories in the locale folder. 2015-07-02 10:49:39 +01:00
Allen Boone
e6ed8ee509 locale exposed to editor 2015-07-02 10:49:39 +01:00
Scott Yoshizawa
2563649b3e NLS /red/nodes
NLS other js files under /red

NLS /red files (changed based on Nick's review)
2015-07-02 10:49:39 +01:00
Nick O'Leary
f5fc8f763f Pick up desired language from query string 2015-07-02 10:49:38 +01:00
Nick O'Leary
6249083431 Extract all core runtime messages 2015-06-29 16:04:00 +01:00
Nick O'Leary
a7900940da Expose i18n in editor 2015-06-29 16:03:59 +01:00
Nick O'Leary
008bc98070 Ensure node help is blank if otherwise undefined 2015-06-29 16:03:59 +01:00
Nick O'Leary
0705589cc2 Load base locales in editor 2015-06-29 16:03:59 +01:00
Nick O'Leary
b2caba593f Add locales api endpoint 2015-06-29 16:03:59 +01:00
Nick O'Leary
6d4c64fcd5 i18n enable runtime node files 2015-06-29 16:03:59 +01:00
Nick O'Leary
7d41781fb4 Add initial red/i18n implementation 2015-06-29 16:03:59 +01:00
Nick O'Leary
a0ce095807 Error generating complete flow library list on OSX
Must use path.join to concatenate paths safely.
2015-06-29 16:00:10 +01:00
Nick O'Leary
72570e4510 Fix scope of knownUnknowns variable 2015-06-17 14:27:49 +01:00
Nick O'Leary
3002aead6b Add better install message on missing nodes 2015-06-17 14:18:47 +01:00
Nick O'Leary
31c979f30f Add deprecated node list 2015-06-16 15:32:41 +01:00
Nick O'Leary
21d0adbdae Handle null message in catch loop detection 2015-06-15 15:22:51 +01:00
Nick O'Leary
c5fd3a5753 Detect and prevent Catch node loops 2015-06-15 15:09:50 +01:00
Nick O'Leary
bb1fe8daef Allow nodesExcludes to specify node module name 2015-06-08 23:17:45 +01:00
Nick O'Leary
c5d8e09b41 Only delete node type from registry if id matches
If a node is moved out of node-red core to an npm installable
package, the first time NR runs after the move it correctly
deletes the node-red version from the registry. However it was
also removing the node constructors registered by the new
npm installed version as it wasn't checking what it was removing
came from the now-removed node.
2015-06-08 16:32:50 +01:00
Nick O'Leary
f8853af902 Enabling metric/audit logging takes precedence over level 2015-06-02 16:23:38 +01:00
Nick O'Leary
4248d20f39 Add RED.util.generateId and ensure HTTP node adds proper id 2015-06-02 15:54:37 +01:00
Nick O'Leary
53258eeede Restore ability to add nodes by filename 2015-05-27 14:11:11 +01:00
Nick O'Leary
7de0216976 Add audit log entries on API calls
Closes #627
2015-05-14 14:22:56 +01:00
Nick O'Leary
0bef04ae0a Set NODE_ENV in grunt dev task to serve non-minified assets 2015-05-11 20:24:15 +01:00
Nick O'Leary
7112fd2a22 Partial deploy containing deleted subflow throws error 2015-05-05 13:53:40 +01:00
Nick O'Leary
86013c7db4 Ensure node.credentials exists for nodes with registered creds
Fixes #639
2015-05-04 23:28:55 +01:00
Nick O'Leary
51fce9343b Ensure errors in node.receive are handled 2015-05-02 22:15:33 +01:00
Scott Yoshizawa
deaef3ab86 Corrected based on knolleary's comments. 2015-05-01 09:37:23 -04:00
Scott Yoshizawa
276d893198 Added the capability to register custom loggers (for Issue #626) 2015-04-30 17:01:22 -04:00
Nick O'Leary
1c1a85dcef editorTheme: allow header logo/title to be a link 2015-04-22 14:03:42 +01:00
drwoods
9ad1f769d3 localfilesystem tests failing on Windows 2015-04-20 10:13:00 -04:00
dceejay
6f84526364 Remove pre-req for mkdirp package.
(fs-extra has all the features needed already)
2015-04-14 18:41:48 +01:00
Nick O'Leary
8f16695f06 Add theme tests 2015-04-13 22:15:15 +01:00
Nick O'Leary
5af6ac3e80 Rename menu ids to be logically consistent 2015-04-13 16:48:38 +01:00
Nick O'Leary
0d557094b2 Move help customisation under menu settings 2015-04-13 15:32:11 +01:00
Nick O'Leary
a2aa78afd4 Add main menu customisation 2015-04-13 13:55:17 +01:00
Nick O'Leary
b0de8abb63 Customise help link label/url 2015-04-13 11:35:52 +01:00
Nick O'Leary
6ff540ed08 Customise login image 2015-04-13 10:37:30 +01:00
Nick O'Leary
2b8ed9850b Pass deployButton and userMenu theme options to ui 2015-04-13 09:48:49 +01:00
Nick O'Leary
c9d2d301aa Add editorTheme setting 2015-04-13 00:11:11 +01:00
Nick O'Leary
1406503e10 Add build info to README 2015-04-09 10:22:05 +01:00
Nick O'Leary
203d3f672c Add build step to Grunt file 2015-04-09 10:22:05 +01:00
Nick O'Leary
e1f0969957 Add dedicated route for editor index.html 2015-04-08 21:29:55 +01:00
Nick O'Leary
e1dd8cf2ab Restore node order in palette following async changes
The move to async loading of node files led to them appearing
out of order in the palette.
2015-04-08 20:17:24 +01:00
Nick O'Leary
2fe9c1e55f Change node config load to be async 2015-04-07 23:46:52 +01:00
Nick O'Leary
9dd7e2e43d Refactor registry structure
Splits registry up into smaller components.

Unit tests still drive api via registry/index_spec - still
need to split them up into the currently blank _spec files
2015-04-07 16:02:15 +01:00
Nick O'Leary
5efbdf5d04 Revert removal of flow storage api
Whilst we know with the file system storage inplementation
getLibraryEntry is a suitable replacement for getFlow, this
may not be the case with other implementations.

The storage code uses the deprecated functions if they are
present - so the core code should call them and let the storage
layer decide what it calls.
2015-04-05 20:54:11 +01:00
Nick O'Leary
f459ff8ad0 Remove use of deprecated storage api 2015-04-04 19:25:07 +01:00
Nick O'Leary
b96ea36b70 Deprecate getAllFlows/getFlow/saveFlow storage functions
They were specialised versions of get/saveLibraryEntry that
complicated the interface.

This change removes them from localfilesystem, but the top
level module checks for their existence and uses them if
they are there - for backwards compatibility.
2015-04-03 23:05:56 +01:00
Nick O'Leary
e543cc0fed Log settings file in use on start up 2015-04-03 23:05:15 +01:00
Nick O'Leary
fbfc5c8a2d Add error codes to api responses 2015-03-31 22:29:42 +01:00
Nick O'Leary
b201828236 Remove 'loaded' property from external node info object
and fix everything that doing this broke
2015-03-30 21:49:20 +01:00
Nick O'Leary
2a8a885271 Standardise API error response format 2015-03-30 14:16:04 +01:00
Nick O'Leary
7adefd6ee0 Add access_token expiry 2015-03-30 14:14:32 +01:00
Nick O'Leary
f967a5ecdc Fix auth on comms link and for anon user
The move to honour scope level of token broke the comms link
checking as well as the permissions checking for anon users.
2015-03-29 22:27:07 +01:00
Nick O'Leary
c8d6dc2531 Auth permission should honour the token scope 2015-03-29 21:59:48 +01:00
Nick O'Leary
cc1d080a5a Remove add/removeNode by filename api
Only support add/remove by module name
2015-03-26 11:39:35 +00:00
Nick O'Leary
dd7f4f6752 Filter loaded property from /nodes endpoint 2015-03-26 11:38:51 +00:00
Nick O'Leary
9daeba02b5 Flow.registerType should indicate if type was missing or not 2015-03-26 11:37:24 +00:00
Nick O'Leary
2a57d0b6d0 auth/login should return empty object when insecure 2015-03-25 20:33:29 +00:00
Nick O'Leary
20bdea7ae0 Increase registry test coverage 2015-03-22 22:54:52 +00:00
Nick O'Leary
e19b8d35a9 Modules not properly removed from config.json 2015-03-22 21:48:12 +00:00
Nick O'Leary
81df74dfc8 Server not waiting for settings to load 2015-03-22 20:55:38 +00:00
Nick O'Leary
153fa7478f Increase flows test coverage 2015-03-22 20:12:10 +00:00
Nick O'Leary
36f299c031 Improve core test coverage 2015-03-21 17:42:06 +00:00
Nick O'Leary
b61a250d58 Debug message formatting mangling brackets 2015-03-20 22:09:58 +00:00
dceejay
a9789697e7 add bcrypt as optional dependency to speed up Pi,
but not force compile on Windows.
Fix to close Issue #585
2015-03-19 11:36:48 +00:00
Nick O'Leary
be61cf6a88 Add node.error handling to core nodes 2015-03-16 13:58:01 +00:00
Nick O'Leary
46f2f752b0 Node on deleted tab not removed on partial deploy 2015-03-15 21:27:11 +00:00
Nick O'Leary
51e891ff88 Move sessionStorageModule into main storageModule
Fixes #586

 - add get/saveSessions to main storage module
 - handle storage modules without those functions
 - store .session file in userDir
2015-03-13 23:37:59 +00:00
Nick O'Leary
731efe1c01 Add credential extract unit tests 2015-03-13 21:26:50 +00:00
Nick O'Leary
f77dd06e65 Partial deploy with missing type breaks flow diff
Another refactor of Flow lifecycle.
 - diffFlow made a private static function
 - applyConfig now diffConfig - which returns a diff object that
   can be passed to .stop/.start to be properly applied
2015-03-13 17:54:58 +00:00
Nick O'Leary
af20f3df64 Partial deploy with missing node type breaks deploy 2015-03-13 13:15:20 +00:00
Nick O'Leary
0f3cc3196c Log-in window incorrect
fixes #583
2015-03-09 20:02:13 +00:00
dceejay
acc0e0875b few more tests for permissions and strategies
reset log flags at end of log test
2015-03-07 13:22:21 +00:00
dceejay
69f85bd688 boost api index, nodes index and nodes Node test coverage 2015-03-06 22:58:30 +00:00
dceejay
910d983b82 More tests for red, log, info and util. 2015-03-06 14:14:47 +00:00
dceejay
082ce798d8 slightly enhance test coverage for info and log and settings. 2015-03-06 10:18:33 +00:00
dceejay
234abd82a2 Move away from __defineGetter syntax, in red and server
Bump test coverage forwards a bit
2015-03-06 10:17:00 +00:00
Nick O'Leary
10b092a9a7 Ignore 'type' when detecting config nodes 2015-03-04 22:38:53 +00:00
Nick O'Leary
444a897410 Resort to NODE_RED_HOME if User HOME not found
Fixes #575
2015-03-04 21:47:38 +00:00
Nick O'Leary
34364f5627 Allow node to register multiple close handlers
Closes #573
2015-03-04 21:42:11 +00:00
dceejay
81dcfecb4e Catch very early exit null pointer when ctrl-c hit during startup. 2015-03-02 17:32:22 +00:00
Nick O'Leary
00d0f8cfc7 Invoke catch node only when msg is provided 2015-02-26 22:40:54 +00:00
Nick O'Leary
c80a44933c Add errorHandler tests 2015-02-26 22:40:54 +00:00
Nick O'Leary
5599b999ec Add catch node 2015-02-26 22:40:53 +00:00
Nick O'Leary
393fc349b9 Fix saving for node-library content 2015-02-26 17:08:20 +00:00
Nick O'Leary
061c44f958 Move shebang to the correct red.js 2015-02-26 13:24:38 +00:00
Nick O'Leary
f5d8433341 Add node-red-pi command 2015-02-26 11:38:05 +00:00
Nick O'Leary
f78a71e8ed Load flows file from userDir when appropriate 2015-02-26 11:30:20 +00:00
Nick O'Leary
ce1cd1ab9c Change default data dir
Changes the default location for user data to $HOME/.node-red.
2015-02-25 14:25:01 +00:00
Nick O'Leary
d148a23ed6 Handle config nodes appearing out of order in flow
The editor ensures config nodes appear first in the flow file. The
code in the runtime and editor assumes this to be the case, so that
when a node is instantiated that requires a config node, it can assume
the config node already exists.

This change allows a config node to appear in the flow file after a
node that wants to use it. In both the editor and runtime, the code
now scans for config nodes and handles them first.
2015-02-24 23:04:55 +00:00
dceejay
049a5f1be6 revert small whitespace change to server start messages. 2015-02-24 22:22:16 +00:00
Nick O'Leary
f3880b7601 Fix credential pruning and start/stop log messages 2015-02-24 22:03:04 +00:00
dceejay
dc7701ad70 Add node.js version to startup log msgs for debug. 2015-02-23 19:30:29 +00:00
Nick O'Leary
5e2c51a741 Handle deleted tab when diffing flows 2015-02-22 22:59:26 +00:00
Nick O'Leary
3849855b57 Rename _id to _msgid to avoid mongo clash 2015-02-06 16:36:32 +00:00