Hi, I experienced an issue opening /red in the browser. I was told to make a separate post for this.
Basically, there is an i18next node_module for translating languages. Deep within that codebase, there is a bug where if req.param.lng is not included, it breaks. Most of the requests from the /red web page include lng=en-US, but there is a request somewhere that doesn't (chrome and firefox).
Below is my stack trace, and my express server work around.
Welcome to Node-RED
===================
17 Oct 13:47:30 - [info] Node-RED version: v1.0.2-git
17 Oct 13:47:30 - [info] Node.js version: v8.9.4
17 Oct 13:47:30 - [info] Darwin 17.4.0 x64 LE
17 Oct 13:47:30 - [info] Loading palette nodes
17 Oct 13:47:35 - [info] Context store : 'default' [module=memory]
17 Oct 13:47:35 - [info] User directory : /project/nodered/flows
17 Oct 13:47:35 - [warn] Projects disabled : set editorTheme.projects.enabled=true to enable
17 Oct 13:47:35 - [info] Flows file : /project/nodered/flows/flows_clutch.json
17 Oct 13:47:35 - [warn]
---------------------------------------------------------------------
Your flow credentials file is encrypted using a system-generated key.
If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.
You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.
---------------------------------------------------------------------
17 Oct 13:47:35 - [info] Starting flows
17 Oct 13:47:35 - [info] Started flows
17 Oct 13:47:56 - [error] TypeError: Cannot read property 'indexOf' of undefined
at ResourceStore.getResource (/project/node_modules/i18next/dist/commonjs/ResourceStore.js:83:15)
at ResourceStore.getResourceBundle (/project/node_modules/i18next/dist/commonjs/ResourceStore.js:174:19)
at I18n._this2.(anonymous function) [as getResourceBundle] (/project/node_modules/i18next/dist/commonjs/i18next.js:172:56)
at loadResource (/project/node_modules/@node-red/editor-api/lib/editor/locales.js:25:26)
at /project/node_modules/@node-red/editor-api/lib/editor/locales.js:48:27
at done (/project/node_modules/i18next/dist/commonjs/i18next.js:307:23)
at /project/node_modules/i18next/dist/commonjs/i18next.js:321:11
at Connector.prepareLoading (/project/node_modules/i18next/dist/commonjs/BackendConnector.js:217:37)
at Connector.load (/project/node_modules/i18next/dist/commonjs/BackendConnector.js:229:12)
at I18n.loadResources (/project/node_modules/i18next/dist/commonjs/i18next.js:239:40)
at setLng (/project/node_modules/i18next/dist/commonjs/i18next.js:320:16)
at I18n.changeLanguage (/project/node_modules/i18next/dist/commonjs/i18next.js:330:9)
at get (/project/node_modules/@node-red/editor-api/lib/editor/locales.js:47:16)
at Layer.handle [as handle_request] (/project/node_modules/express/lib/router/layer.js:95:5)
at next (/project/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/project/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/project/node_modules/express/lib/router/layer.js:95:5)
at /project/node_modules/express/lib/router/index.js:281:22
at param (/project/node_modules/express/lib/router/index.js:354:14)
at param (/project/node_modules/express/lib/router/index.js:365:14)
at Function.process_params (/project/node_modules/express/lib/router/index.js:410:3)
at next (/project/node_modules/express/lib/router/index.js:275:10)
at SendStream.error (/project/node_modules/serve-static/index.js:121:7)
at emitOne (events.js:116:13)
at SendStream.emit (events.js:211:7)
at SendStream.error (/project/node_modules/send/index.js:270:17)
at SendStream.onStatError (/project/node_modules/send/index.js:421:12)
at next (/project/node_modules/send/index.js:735:16)
at onstat (/project/node_modules/send/index.js:724:14)
at FSReqWrap.oncomplete (fs.js:152:21)
17 Oct 13:47:56 - [error] TypeError: Cannot read property 'indexOf' of undefined
at ResourceStore.getResource (/project/node_modules/i18next/dist/commonjs/ResourceStore.js:83:15)
at ResourceStore.getResourceBundle (/project/node_modules/i18next/dist/commonjs/ResourceStore.js:174:19)
at I18n._this2.(anonymous function) [as getResourceBundle] (/project/node_modules/i18next/dist/commonjs/i18next.js:172:56)
at loadResource (/project/node_modules/@node-red/editor-api/lib/editor/locales.js:25:26)
at /project/node_modules/@node-red/editor-api/lib/editor/locales.js:48:27
at done (/project/node_modules/i18next/dist/commonjs/i18next.js:307:23)
at /project/node_modules/i18next/dist/commonjs/i18next.js:321:11
at Connector.prepareLoading (/project/node_modules/i18next/dist/commonjs/BackendConnector.js:217:37)
at Connector.load (/project/node_modules/i18next/dist/commonjs/BackendConnector.js:229:12)
at I18n.loadResources (/project/node_modules/i18next/dist/commonjs/i18next.js:239:40)
at setLng (/project/node_modules/i18next/dist/commonjs/i18next.js:320:16)
at I18n.changeLanguage (/project/node_modules/i18next/dist/commonjs/i18next.js:330:9)
at get (/project/node_modules/@node-red/editor-api/lib/editor/locales.js:47:16)
at Layer.handle [as handle_request] (/project/node_modules/express/lib/router/layer.js:95:5)
at next (/project/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/project/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/project/node_modules/express/lib/router/layer.js:95:5)
at /project/node_modules/express/lib/router/index.js:281:22
at param (/project/node_modules/express/lib/router/index.js:354:14)
at param (/project/node_modules/express/lib/router/index.js:365:14)
at Function.process_params (/project/node_modules/express/lib/router/index.js:410:3)
at next (/project/node_modules/express/lib/router/index.js:275:10)
at SendStream.error (/project/node_modules/serve-static/index.js:121:7)
at emitOne (events.js:116:13)
at SendStream.emit (events.js:211:7)
at SendStream.error (/project/node_modules/send/index.js:270:17)
at SendStream.onStatError (/project/node_modules/send/index.js:421:12)
at next (/project/node_modules/send/index.js:735:16)
at onstat (/project/node_modules/send/index.js:724:14)
at FSReqWrap.oncomplete (fs.js:152:21)
17 Oct 13:47:56 - [error] TypeError: Cannot read property 'indexOf' of undefined
at ResourceStore.getResource (/project/node_modules/i18next/dist/commonjs/ResourceStore.js:83:15)
at ResourceStore.getResourceBundle (/project/node_modules/i18next/dist/commonjs/ResourceStore.js:174:19)
at I18n._this2.(anonymous function) [as getResourceBundle] (/project/node_modules/i18next/dist/commonjs/i18next.js:172:56)
at loadResource (/project/node_modules/@node-red/editor-api/lib/editor/locales.js:25:26)
at /project/node_modules/@node-red/editor-api/lib/editor/locales.js:48:27
at done (/project/node_modules/i18next/dist/commonjs/i18next.js:307:23)
at /project/node_modules/i18next/dist/commonjs/i18next.js:321:11
at Connector.prepareLoading (/project/node_modules/i18next/dist/commonjs/BackendConnector.js:217:37)
at Connector.load (/project/node_modules/i18next/dist/commonjs/BackendConnector.js:229:12)
at I18n.loadResources (/project/node_modules/i18next/dist/commonjs/i18next.js:239:40)
at setLng (/project/node_modules/i18next/dist/commonjs/i18next.js:320:16)
at I18n.changeLanguage (/project/node_modules/i18next/dist/commonjs/i18next.js:330:9)
at get (/project/node_modules/@node-red/editor-api/lib/editor/locales.js:47:16)
at Layer.handle [as handle_request] (/project/node_modules/express/lib/router/layer.js:95:5)
at next (/project/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/project/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/project/node_modules/express/lib/router/layer.js:95:5)
at /project/node_modules/express/lib/router/index.js:281:22
at param (/project/node_modules/express/lib/router/index.js:354:14)
at param (/project/node_modules/express/lib/router/index.js:365:14)
at Function.process_params (/project/node_modules/express/lib/router/index.js:410:3)
at next (/project/node_modules/express/lib/router/index.js:275:10)
at SendStream.error (/project/node_modules/serve-static/index.js:121:7)
at emitOne (events.js:116:13)
at SendStream.emit (events.js:211:7)
at SendStream.error (/project/node_modules/send/index.js:270:17)
at SendStream.onStatError (/project/node_modules/send/index.js:421:12)
at next (/project/node_modules/send/index.js:735:16)
at onstat (/project/node_modules/send/index.js:724:14)
at FSReqWrap.oncomplete (fs.js:152:21)
17 Oct 13:47:56 - [error] TypeError: Cannot read property 'indexOf' of undefined
at ResourceStore.getResource (/project/node_modules/i18next/dist/commonjs/ResourceStore.js:83:15)
at ResourceStore.getResourceBundle (/project/node_modules/i18next/dist/commonjs/ResourceStore.js:174:19)
at I18n._this2.(anonymous function) [as getResourceBundle] (/project/node_modules/i18next/dist/commonjs/i18next.js:172:56)
at loadResource (/project/node_modules/@node-red/editor-api/lib/editor/locales.js:25:26)
at /project/node_modules/@node-red/editor-api/lib/editor/locales.js:48:27
at done (/project/node_modules/i18next/dist/commonjs/i18next.js:307:23)
at /project/node_modules/i18next/dist/commonjs/i18next.js:321:11
at Connector.prepareLoading (/project/node_modules/i18next/dist/commonjs/BackendConnector.js:217:37)
at Connector.load (/project/node_modules/i18next/dist/commonjs/BackendConnector.js:229:12)
at I18n.loadResources (/project/node_modules/i18next/dist/commonjs/i18next.js:239:40)
at setLng (/project/node_modules/i18next/dist/commonjs/i18next.js:320:16)
at I18n.changeLanguage (/project/node_modules/i18next/dist/commonjs/i18next.js:330:9)
at get (/project/node_modules/@node-red/editor-api/lib/editor/locales.js:47:16)
at Layer.handle [as handle_request] (/project/node_modules/express/lib/router/layer.js:95:5)
at next (/project/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/project/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/project/node_modules/express/lib/router/layer.js:95:5)
at /project/node_modules/express/lib/router/index.js:281:22
at param (/project/node_modules/express/lib/router/index.js:354:14)
at param (/project/node_modules/express/lib/router/index.js:365:14)
at Function.process_params (/project/node_modules/express/lib/router/index.js:410:3)
at next (/project/node_modules/express/lib/router/index.js:275:10)
at SendStream.error (/project/node_modules/serve-static/index.js:121:7)
at emitOne (events.js:116:13)
at SendStream.emit (events.js:211:7)
at SendStream.error (/project/node_modules/send/index.js:270:17)
at SendStream.onStatError (/project/node_modules/send/index.js:421:12)
at next (/project/node_modules/send/index.js:735:16)
at onstat (/project/node_modules/send/index.js:724:14)
at FSReqWrap.oncomplete (fs.js:152:21)
TypeError: Cannot read property 'indexOf' of undefined
at ResourceStore.getResource (/project/node_modules/i18next/dist/commonjs/ResourceStore.js:83:15)
at ResourceStore.getResourceBundle (/project/node_modules/i18next/dist/commonjs/ResourceStore.js:174:19)
at I18n._this2.(anonymous function) [as getResourceBundle] (/project/node_modules/i18next/dist/commonjs/i18next.js:172:56)
at /project/node_modules/@node-red/runtime/lib/api/nodes.js:374:55
at Array.forEach (<anonymous>)
at /project/node_modules/@node-red/runtime/lib/api/nodes.js:372:26
at done (/project/node_modules/i18next/dist/commonjs/i18next.js:307:23)
at /project/node_modules/i18next/dist/commonjs/i18next.js:321:11
at Connector.prepareLoading (/project/node_modules/i18next/dist/commonjs/BackendConnector.js:217:37)
at Connector.load (/project/node_modules/i18next/dist/commonjs/BackendConnector.js:229:12)
at I18n.loadResources (/project/node_modules/i18next/dist/commonjs/i18next.js:239:40)
at setLng (/project/node_modules/i18next/dist/commonjs/i18next.js:320:16)
at I18n.changeLanguage (/project/node_modules/i18next/dist/commonjs/i18next.js:330:9)
at /project/node_modules/@node-red/runtime/lib/api/nodes.js:369:28
at new Promise (<anonymous>)
at Object.getModuleCatalogs (/project/node_modules/@node-red/runtime/lib/api/nodes.js:364:16)
at getModuleCatalogs (/project/node_modules/@node-red/editor-api/lib/admin/nodes.js:166:26)
at Layer.handle [as handle_request] (/project/node_modules/express/lib/router/layer.js:95:5)
at next (/project/node_modules/express/lib/router/route.js:137:13)
at /project/node_modules/@node-red/editor-api/lib/auth/index.js:68:28
at complete (/project/node_modules/passport/lib/middleware/authenticate.js:263:13)
at /project/node_modules/passport/lib/middleware/authenticate.js:270:15
at pass (/project/node_modules/passport/lib/authenticator.js:431:14)
at Authenticator.transformAuthInfo (/project/node_modules/passport/lib/authenticator.js:453:5)
at /project/node_modules/passport/lib/middleware/authenticate.js:267:22
at IncomingMessage.req.login.req.logIn (/project/node_modules/passport/lib/http/request.js:55:13)
at Strategy.strategy.success (/project/node_modules/passport/lib/middleware/authenticate.js:248:13)
at verified (/project/node_modules/passport-http-bearer/lib/strategy.js:126:10)
at /project/node_modules/@node-red/editor-api/lib/auth/strategies.js:37:21
at <anonymous>
at process._tickDomainCallback (internal/process/next_tick.js:228:7)
my package-lock.js file:
"node-red": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/node-red/-/node-red-1.0.2.tgz",
"integrity": "sha512-QSyPpAGGVFgVlKyumWFd8j2hd420+sh8DSxlvAtatDVaIG3+MaAD3eDLg49HIwRyAhiROVS1XNWkqyq/H1/cBA==",
"requires": {
"@node-red/editor-api": "1.0.2",
"@node-red/nodes": "1.0.2",
"@node-red/runtime": "1.0.2",
"@node-red/util": "1.0.2",
"basic-auth": "2.0.1",
"bcrypt": "3.0.6",
"bcryptjs": "2.4.3",
"express": "4.17.1",
"fs-extra": "8.1.0",
"node-red-node-rbe": "^0.2.5",
"node-red-node-tail": "^0.0.3",
"nopt": "4.0.1",
"semver": "6.3.0"
},
"dependencies": {
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
}
}
},
"node-red-node-mongodb": {
"version": "0.0.14",
"resolved": "https://registry.npmjs.org/node-red-node-mongodb/-/node-red-node-mongodb-0.0.14.tgz",
"integrity": "sha512-hlXhi7+BuQVamJ/y3qxvoGWGReivRtkgPmZy0UEO0gkWAzgjI2OplMfXAYKA0viqQS2Qd4DlPFpap3a4nS9M5w==",
"requires": {
"mongodb": "^2.2.34"
}
},
"node-red-node-rbe": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/node-red-node-rbe/-/node-red-node-rbe-0.2.5.tgz",
"integrity": "sha512-WPwIOZIdDprgfqOe8bEun47wkFFc+5Uw/1w3O/kZn/kS2IpI1q+wijUDK+Hw8q4d8KgA58B30wh+10UvXzsPDA=="
},
"node-red-node-tail": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/node-red-node-tail/-/node-red-node-tail-0.0.3.tgz",
"integrity": "sha512-wEiT7bSeU9oVHPK7S+mHb3cR6cIf9l205wTiHzhnUAuoDJS+IdwQkkpFgKTYmkL4Py2LvqCU90h85YpQul7QFQ==",
"requires": {
"tail": "^2.0.2"
}
},
"@node-red/editor-api": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@node-red/editor-api/-/editor-api-1.0.2.tgz",
"integrity": "sha512-yUvTU5b7gDL35NIC2qC54NY0uuIAewVzcPWsc+Rbjy9YpY1DUD2Gt5Ub9gR2QPWYtVPG4zSPOBtPhZEcZvBSxQ==",
"requires": {
"@node-red/editor-client": "1.0.2",
"@node-red/util": "1.0.2",
"bcrypt": "3.0.6",
"bcryptjs": "2.4.3",
"body-parser": "1.19.0",
"clone": "2.1.2",
"cors": "2.8.5",
"express": "4.17.1",
"express-session": "1.16.2",
"memorystore": "1.6.1",
"mime": "2.4.4",
"mustache": "3.0.2",
"oauth2orize": "1.11.0",
"passport": "0.4.0",
"passport-http-bearer": "1.0.1",
"passport-oauth2-client-password": "0.1.2",
"when": "3.7.8",
"ws": "6.2.1"
}
},
"@node-red/editor-client": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@node-red/editor-client/-/editor-client-1.0.2.tgz",
"integrity": "sha512-BhgzwWjxjrQJnZC/BMIZvco4H5ksZl+qh+3hy40ReDrNpp8xSc3mDIFoB785CZrYBtFMhasE2q0kqdYuNKE/Zw=="
},
"@node-red/nodes": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@node-red/nodes/-/nodes-1.0.2.tgz",
"integrity": "sha512-o5N0FZnLAEd1lF2ArLGoETosukFVI+nPTHWKUOoSd069eLuaS262BOTbbnk/oY4H2DEWQzjGZ2KKBItWlhbpXQ==",
"requires": {
"ajv": "6.10.2",
"body-parser": "1.19.0",
"cheerio": "0.22.0",
"content-type": "1.0.4",
"cookie": "0.4.0",
"cookie-parser": "1.4.4",
"cors": "2.8.5",
"cron": "1.7.1",
"denque": "1.4.1",
"fs-extra": "8.1.0",
"fs.notify": "0.0.4",
"hash-sum": "2.0.0",
"https-proxy-agent": "2.2.2",
"iconv-lite": "0.5.0",
"is-utf8": "0.2.1",
"js-yaml": "3.13.1",
"media-typer": "1.1.0",
"mqtt": "2.18.8",
"multer": "1.4.2",
"mustache": "3.0.2",
"on-headers": "1.0.2",
"raw-body": "2.4.1",
"request": "2.88.0",
"ws": "6.2.1",
"xml2js": "0.4.19"
},
"dependencies": {
"ajv": {
"version": "6.10.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
"integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
"requires": {
"fast-deep-equal": "^2.0.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
},
"debug": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
"requires": {
"ms": "^2.1.1"
}
},
"http-errors": {
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz",
"integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==",
"requires": {
"depd": "~1.1.2",
"inherits": "2.0.4",
"setprototypeof": "1.1.1",
"statuses": ">= 1.5.0 < 2",
"toidentifier": "1.0.0"
}
},
"https-proxy-agent": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz",
"integrity": "sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg==",
"requires": {
"agent-base": "^4.3.0",
"debug": "^3.1.0"
}
},
"iconv-lite": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.0.tgz",
"integrity": "sha512-NnEhI9hIEKHOzJ4f697DMz9IQEXr/MMJ5w64vN2/4Ai+wRnvV7SBrL0KLoRlwaKVghOc7LQ5YkPLuX146b6Ydw==",
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
},
"media-typer": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz",
"integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw=="
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"raw-body": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz",
"integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==",
"requires": {
"bytes": "3.1.0",
"http-errors": "1.7.3",
"iconv-lite": "0.4.24",
"unpipe": "1.0.0"
},
"dependencies": {
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
}
}
}
}
},
"@node-red/registry": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@node-red/registry/-/registry-1.0.2.tgz",
"integrity": "sha512-i6TZvVriini0732IN2DVMofkG8RmiaLKpkHaP1aRceHvweDQB4yorcQsPDxqU+uiJo3lQlc1oB5j13X3mdq8DQ==",
"requires": {
"@node-red/util": "1.0.2",
"semver": "6.3.0",
"uglify-js": "3.6.0",
"when": "3.7.8"
},
"dependencies": {
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
}
}
},
"@node-red/runtime": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@node-red/runtime/-/runtime-1.0.2.tgz",
"integrity": "sha512-YMKu5HA4WWYdf2PinysONiEFkmoz+PHD4u9ormREBXPr4iCWmZ2+XqL4QRGAc/RA8FJQ8liCr2rLDUvAuSSVOQ==",
"requires": {
"@node-red/registry": "1.0.2",
"@node-red/util": "1.0.2",
"clone": "2.1.2",
"express": "4.17.1",
"fs-extra": "8.1.0",
"json-stringify-safe": "5.0.1",
"when": "3.7.8"
}
},
"@node-red/util": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@node-red/util/-/util-1.0.2.tgz",
"integrity": "sha512-DwaS8ZDcIFcMUQCWpMEVt38Pr6H2JBCeghZEs5v6nH+pnemUi1x6Mi+CSvwywVc4WN4uzGhVr8dWxFh1Q6/iEQ==",
"requires": {
"clone": "2.1.2",
"i18next": "15.1.2",
"json-stringify-safe": "5.0.1",
"jsonata": "1.6.5",
"when": "3.7.8"
}
},