sails: Sails 1.0.0-33 doesn't boot on Node 8.3.0 when accessing `require('sails').config`
Sails version: 1.0.0-36 Node version: 8.3.0 NPM version: 5.3.0 Operating system: Debian GNU/Linux 8.7 (jessie)
Our project uses Sails 1.0.0-33, it boots perfectly on Node 8.2.0, but it breaks on Node 8.3.0. The error is:
TypeError: Cannot match against 'undefined' or 'null'.
at Object.<anonymous> (/home/sadasant/code/github.com/project/api/services/IntercomService.js:5:37)
at Module._compile (module.js:573:30)
at Object.Module._extensions..js (module.js:584:10)
at Module.load (module.js:507:32)
at tryModuleLoad (module.js:470:12)
at Function.Module._load (module.js:462:3)
at Module.require (module.js:517:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/home/sadasant/code/github.com/project/api/services/IntercomEmailSender.js:5:93)
at Module._compile (module.js:573:30)
at Object.Module._extensions..js (module.js:584:10)
at Module.load (module.js:507:32)
at tryModuleLoad (module.js:470:12)
at Function.Module._load (module.js:462:3)
at Module.require (module.js:517:17)
at require (internal/module.js:11:18)
at /home/sadasant/code/github.com/project/node_modules/include-all/lib/help-include-all-sync.js:293:33
at Array.forEach (<anonymous>)
at _recursivelyIncludeAll (/home/sadasant/code/github.com/project/node_modules/include-all/lib/help-include-all-sync.js:178:11)
at includeAll (/home/sadasant/code/github.com/project/node_modules/include-all/lib/help-include-all-sync.js:317:5)
at helpBuildDictionary (/home/sadasant/code/github.com/project/node_modules/include-all/lib/help-build-dictionary.js:46:13)
at Function.module.exports.optional (/home/sadasant/code/github.com/project/node_modules/include-all/index.js:67:10)
at Hook.loadServices (/home/sadasant/code/github.com/project/node_modules/sails/lib/hooks/moduleloader/index.js:339:18)
at Hook.wrapper [as loadServices] (/home/sadasant/code/github.com/project/node_modules/@sailshq/lodash/lib/index.js:3250:19)
at Hook.loadModules (/home/sadasant/code/github.com/project/node_modules/sails/lib/hooks/services/index.js:68:21)
at Hook.wrapper [as loadModules] (/home/sadasant/code/github.com/project/node_modules/@sailshq/lodash/lib/index.js:3250:19)
at modules (/home/sadasant/code/github.com/project/node_modules/sails/lib/hooks/index.js:79:25)
at runTask (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:1662:17)
at /home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:1602:17
at processQueue (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:1612:17)
at Object.auto (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:1598:9)
at Hook.load (/home/sadasant/code/github.com/project/node_modules/sails/lib/hooks/index.js:73:13)
at Hook.wrapper [as load] (/home/sadasant/code/github.com/project/node_modules/@sailshq/lodash/lib/index.js:3250:19)[67/795]
at modules (/home/sadasant/code/github.com/project/node_modules/sails/lib/hooks/index.js:79:25)
at runTask (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:1662:17)
at /home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:1602:17
at processQueue (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:1612:17)
at Object.auto (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:1598:9)
at Hook.load (/home/sadasant/code/github.com/project/node_modules/sails/lib/hooks/index.js:73:13)
at Hook.wrapper [as load] (/home/sadasant/code/github.com/project/node_modules/@sailshq/lodash/lib/index.js:3250:19)
at loadHook (/home/sadasant/code/github.com/project/node_modules/sails/lib/app/private/loadHooks.js:206:17)
at /home/sadasant/code/github.com/project/node_modules/sails/lib/app/private/loadHooks.js:328:13
at /home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:3047:20
at eachOfArrayLike (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:1002:13)
at eachOf (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:1052:9)
at Object.eachLimit (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:3111:7)
at load (/home/sadasant/code/github.com/project/node_modules/sails/lib/app/private/loadHooks.js:326:17)
at /home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:3671:13
at replenish (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:884:21)
at iterateeCallback (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:869:21)
at /home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:847:20
at /home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:3676:17
at /home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:339:31
at /home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:952:25
at iteratorCallback (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:997:17)
at /home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:847:20
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
at Function.Module.runMain (module.js:611:11)
at startup (bootstrap_node.js:158:16)
at bootstrap_node.js:578:3
--
at /home/sadasant/code/github.com/project/node_modules/include-all/lib/help-include-all-sync.js:298:25
at Array.forEach (<anonymous>)
at _recursivelyIncludeAll (/home/sadasant/code/github.com/project/node_modules/include-all/lib/help-include-all-sync.js:178:11)
at includeAll (/home/sadasant/code/github.com/project/node_modules/include-all/lib/help-include-all-sync.js:317:5)
at helpBuildDictionary (/home/sadasant/code/github.com/project/node_modules/include-all/lib/help-build-dictionary.js:46:13)
at Function.module.exports.optional (/home/sadasant/code/github.com/project/node_modules/include-all/index.js:67:10)
at Hook.loadServices (/home/sadasant/code/github.com/project/node_modules/sails/lib/hooks/moduleloader/index.js:339:18)
at Hook.wrapper [as loadServices] (/home/sadasant/code/github.com/project/node_modules/@sailshq/lodash/lib/index.js:3250:19)
at Hook.loadModules (/home/sadasant/code/github.com/project/node_modules/sails/lib/hooks/services/index.js:68:21)
at Hook.wrapper [as loadModules] (/home/sadasant/code/github.com/project/node_modules/@sailshq/lodash/lib/index.js:3250:19)
at modules (/home/sadasant/code/github.com/project/node_modules/sails/lib/hooks/index.js:79:25)
at runTask (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:1662:17)
at /home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:1602:17
at processQueue (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:1612:17)
at Object.auto (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:1598:9)
at Hook.load (/home/sadasant/code/github.com/project/node_modules/sails/lib/hooks/index.js:73:13)
at Hook.wrapper [as load] (/home/sadasant/code/github.com/project/node_modules/@sailshq/lodash/lib/index.js:3250:19)
at loadHook (/home/sadasant/code/github.com/project/node_modules/sails/lib/app/private/loadHooks.js:206:17)
at /home/sadasant/code/github.com/project/node_modules/sails/lib/app/private/loadHooks.js:328:13
at /home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:3047:20
at eachOfArrayLike (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:1002:13)
at eachOf (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:1052:9)
at Object.eachLimit (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:3111:7)
at load (/home/sadasant/code/github.com/project/node_modules/sails/lib/app/private/loadHooks.js:326:17)
at /home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:3671:13
at replenish (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:884:21)
at iterateeCallback (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:869:21)
at /home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:847:20
at /home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:3676:17
at /home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:339:31
at /home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:952:25
at iteratorCallback (/home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:997:17)
at /home/sadasant/code/github.com/project/node_modules/sails/node_modules/async/dist/async.js:847:20
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
at Function.Module.runMain (module.js:611:11)
at startup (bootstrap_node.js:158:16)
at bootstrap_node.js:578:3
error: A hook (`services`) failed to load!
error: A hook (`orm`) failed to load!
Match against undefined or null is just when we try to deconstruct Sails to get a configuration value in a service file.
My code looks like this:
let sails = require('sails')
let {config: { url: websiteUrl }} = sails
I tried removing let sails = require('sails') but it then it says that sails is undefined 🤔 however, it should be globally available, right?
Node 8.2.0 works perfectly though.
Also: Doing require('sails') and then using sails.<property> from a function and not at load time works.
Edit: I had 1.0.0-33 at the beginning, then upraded to 1.0.0-36 and I get the same.
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 19 (11 by maintainers)
@sgress454 I have dug up some more and found what we think is a bug, either in Sails or Node 8.3.0
Here is a reproducible case. I’ve included our theory and instructions in the project’s README.md https://github.com/sean-clayton/sails-node-8-3-0
If you have any questions, please feel free to ask away 😸