Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Depreciation warning from express-session #3872

Closed
boycce opened this issue Oct 28, 2016 · 24 comments
Closed

Depreciation warning from express-session #3872

boycce opened this issue Oct 28, 2016 · 24 comments

Comments

@boycce
Copy link

boycce commented Oct 28, 2016

Sails version: 0.12.8
Node version: 7.0.0
NPM version: 3.10.8
Operating system: Windows 7 (64bit)


A depreciation warning gets thrown when lifting sails and navigating to one of my routes. This started occuring after upgrading to Node 7.0.0.

(node:3244) DeprecationWarning: Using Buffer without new will soon stop working. Use new Buffer(), or preferably Buffer.from(), Buffer.allocUnsafe() or Buffer.alloc() instead.
at Buffer (buffer.js:79:13)
at C:\app\node_modules\crc\lib\crc32.js:17:11
at fn (C:\app\node_modules\crc\lib\create.js:5:12)
at hash (C:\app\node_modules\express-session\index.js:528:10)

Looks like express-session needs upgrading to the latest version (1.14.1)

@dougwilson
Copy link

This was just fixed in express-session a few hours ago. I had to wait for our dependency to publish to npm. I will publish a new version of express-session soon. You'll need 1.14.2+

@boycce
Copy link
Author

boycce commented Oct 31, 2016

Cool thanks, looks like 1.14.2 is published to npm.

@mikermcneil
Copy link
Member

@boycce @dougwilson Thanks guys. We'll get it sorted asap and publish sails 0.12.9.

@mikermcneil
Copy link
Member

and e256ecf

@sgress454
Copy link
Member

@boycce Sails 0.12.9 has been published, with @mikermcneil's patch. Give it a while when you have a chance and let us know that this issue has been resolved for you!

@mikermcneil mikermcneil added the waiting to close This label is deprecated. Please don't use it anymore. label Nov 4, 2016
@sailsbot sailsbot removed the waiting to close This label is deprecated. Please don't use it anymore. label Nov 6, 2016
@sailsbot sailsbot closed this as completed Nov 6, 2016
@kpturner
Copy link

kpturner commented Dec 3, 2016

I am on node 7.2 and Sails 0.12.11 and I still get this error

@mikermcneil
Copy link
Member

Reopening-- this should be fixed (see #3909 (comment)) but apparently not

@mikermcneil
Copy link
Member

@kpturner wondering if maybe your app needs a rm -rf node_modules && npm install? I noticed you mentioned you were on NPM 4, so maybe there was something cached?

(See expressjs/session#380)

@mikermcneil
Copy link
Member

Here are the Sails tests running on Node 7: https://travis-ci.org/balderdashy/sails/jobs/181786499

(I would expect to see the warning in there-- not guaranteed or anything, but probably)

But @kpturner if you find that the npm install doesn't do the trick, just let us know. Thanks!

@dmvianna
Copy link

dmvianna commented Dec 7, 2016

rm -rf node_modules && npm install does not do the trick for me.

Sails version: 0.12.10
Node version: 7.2.0
npm version: 3.10.9
OS: Linux 2.6.32 RHEL 6 x86_64

@mikermcneil
Copy link
Member

@dmvianna @kpturner would you guys paste your npm ls?

@dmvianna
Copy link

dmvianna commented Dec 7, 2016

Maybe you'll find this more interesting:

$ grep -rnw ./node_modules -e "= Buffer("
./node_modules/sails-postgresql/node_modules/pg/test/unit/client/md5-password-tests.js:6:  var salt = Buffer([1, 2, 3, 4]);

@dougwilson
Copy link

At this point, you should probably just upgrade to Node.js 7.2.1. The deprecation was decided to be a mistake and has been reverted in Node.js 7.2.1.

@mikermcneil
Copy link
Member

ah indeed

@mikermcneil
Copy link
Member

...but in a test? What?

@mikermcneil
Copy link
Member

But humor me, if you would:

npm ls crc

^^Looking for 3.4.1

@mikermcneil
Copy link
Member

(or higher)

@dmvianna
Copy link

dmvianna commented Dec 7, 2016

$ npm ls crc
reporting@1.0.0 /R/www/reporting-dev
└── (empty)

npm ERR! code 1

An for npm ls...

reporting@1.0.0 /R/www/reporting-dev
├─┬ barrels@1.5.0
│ └── async@0.9.2
├─┬ chai@3.4.0
│ ├── assertion-error@1.0.1
│ ├─┬ deep-eql@0.1.3
│ │ └── type-detect@0.1.1
│ └── type-detect@1.0.0
├── ejs@0.8.8
├─┬ grunt@0.4.2
│ ├── async@0.1.22
│ ├── coffee-script@1.3.3
│ ├── colors@0.6.2
│ ├── dateformat@1.0.2-1.2.3
│ ├── eventemitter2@0.4.14
│ ├── exit@0.1.2
│ ├─┬ findup-sync@0.1.3
│ │ ├─┬ glob@3.2.11
│ │ │ └── minimatch@0.3.0
│ │ └── lodash@2.4.2
│ ├── getobject@0.1.0
│ ├─┬ glob@3.1.21
│ │ ├── graceful-fs@1.2.3
│ │ └── inherits@1.0.2
│ ├── hooker@0.2.3
│ ├── iconv-lite@0.2.11
│ ├─┬ js-yaml@2.0.5
│ │ ├─┬ argparse@0.1.16
│ │ │ ├── underscore@1.7.0
│ │ │ └── underscore.string@2.4.0
│ │ └── esprima@1.0.4
│ ├── lodash@0.9.2
│ ├─┬ minimatch@0.2.14
│ │ ├── lru-cache@2.7.0
│ │ └── sigmund@1.0.1
│ ├─┬ nopt@1.0.10
│ │ └── abbrev@1.0.7
│ ├─┬ rimraf@2.0.3
│ │ └── graceful-fs@1.1.14
│ ├── underscore.string@2.2.1
│ └── which@1.0.9
├─┬ grunt-bower-task@0.3.4
│ ├─┬ bower@1.2.8
│ │ ├── archy@0.0.2
│ │ ├─┬ bower-config@0.5.2
│ │ │ ├── graceful-fs@2.0.3
│ │ │ ├── mout@0.9.1
│ │ │ └─┬ optimist@0.6.1
│ │ │   └── wordwrap@0.0.3
│ │ ├── bower-endpoint-parser@0.2.2
│ │ ├─┬ bower-json@0.4.0
│ │ │ ├── graceful-fs@2.0.3
│ │ │ └── intersect@0.0.3
│ │ ├── bower-logger@0.2.2
│ │ ├─┬ bower-registry-client@0.1.6
│ │ │ ├── async@0.2.10
│ │ │ ├─┬ bower-config@0.4.5
│ │ │ │ └── mout@0.6.0
│ │ │ ├── graceful-fs@2.0.3
│ │ │ ├── lru-cache@2.3.1
│ │ │ ├── request-replay@0.2.0
│ │ │ └── rimraf@2.2.8
│ │ ├─┬ cardinal@0.4.4
│ │ │ ├── ansicolors@0.2.1
│ │ │ └── redeyed@0.4.4
│ │ ├─┬ chalk@0.2.1
│ │ │ └── ansi-styles@0.2.0
│ │ ├── chmodr@0.1.2
│ │ ├─┬ decompress-zip@0.0.8
│ │ │ ├─┬ binary@0.3.0
│ │ │ │ ├── buffers@0.1.1
│ │ │ │ └─┬ chainsaw@0.1.0
│ │ │ │   └── traverse@0.3.9
│ │ │ ├── graceful-fs@3.0.8
│ │ │ ├── mkpath@0.1.0
│ │ │ ├── nopt@2.2.1
│ │ │ ├── q@1.0.1
│ │ │ ├── readable-stream@1.1.13
│ │ │ └── touch@0.0.2
│ │ ├─┬ fstream@0.1.31
│ │ │ ├── graceful-fs@3.0.8
│ │ │ └─┬ mkdirp@0.5.1
│ │ │   └── minimist@0.0.8
│ │ ├─┬ fstream-ignore@0.0.10
│ │ │ └── minimatch@0.3.0
│ │ ├─┬ glob@3.2.11
│ │ │ └── minimatch@0.3.0
│ │ ├── graceful-fs@2.0.3
│ │ ├─┬ handlebars@1.0.12
│ │ │ ├── optimist@0.3.7
│ │ │ └─┬ uglify-js@2.3.6
│ │ │   ├── async@0.2.10
│ │ │   └── optimist@0.3.7
│ │ ├─┬ inquirer@0.3.5
│ │ │ ├── async@0.2.10
│ │ │ ├─┬ cli-color@0.2.3
│ │ │ │ ├── es5-ext@0.9.2
│ │ │ │ └─┬ memoizee@0.2.6
│ │ │ │   ├── event-emitter@0.2.2
│ │ │ │   └── next-tick@0.1.0
│ │ │ ├── lodash@1.2.1
│ │ │ └── mute-stream@0.0.3
│ │ ├── junk@0.2.2
│ │ ├── lru-cache@2.3.1
│ │ ├── mkdirp@0.3.5
│ │ ├── mout@0.7.1
│ │ ├── nopt@2.1.2
│ │ ├── open@0.0.5
│ │ ├── osenv@0.0.3
│ │ ├── p-throttler@0.0.1
│ │ ├─┬ promptly@0.2.1
│ │ │ └─┬ read@1.0.7
│ │ │   └── mute-stream@0.0.5
│ │ ├── q@0.9.7
│ │ ├─┬ request@2.27.0
│ │ │ ├── aws-sign@0.3.0
│ │ │ ├── cookie-jar@0.3.0
│ │ │ ├── hawk@1.0.0
│ │ │ ├── oauth-sign@0.3.0
│ │ │ ├── qs@0.6.6
│ │ │ └── tunnel-agent@0.3.0
│ │ ├── retry@0.6.1
│ │ ├── rimraf@2.2.8
│ │ ├── semver@2.1.0
│ │ ├── stringify-object@0.1.8
│ │ ├─┬ sudo-block@0.2.1
│ │ │ └─┬ chalk@0.1.1
│ │ │   └── ansi-styles@0.1.2
│ │ ├─┬ tar@0.1.20
│ │ │ └── block-stream@0.0.8
│ │ ├─┬ tmp@0.0.28
│ │ │ └── os-tmpdir@1.0.1
│ │ └─┬ update-notifier@0.1.10
│ │   ├─┬ chalk@0.4.0
│ │   │ └── ansi-styles@1.0.0
│ │   ├─┬ configstore@0.3.2
│ │   │ ├── graceful-fs@3.0.8
│ │   │ ├─┬ js-yaml@3.4.2
│ │   │ │ ├─┬ argparse@1.0.2
│ │   │ │ │ └── sprintf-js@1.0.3
│ │   │ │ └── esprima@2.2.0
│ │   │ ├─┬ mkdirp@0.5.1
│ │   │ │ └── minimist@0.0.8
│ │   │ ├── object-assign@2.1.1
│ │   │ ├── osenv@0.1.3
│ │   │ ├── uuid@2.0.1
│ │   │ └── xdg-basedir@1.0.1
│ │   ├─┬ request@2.64.0
│ │   │ ├─┬ bl@1.0.0
│ │   │ │ └── readable-stream@2.0.2
│ │   │ ├── caseless@0.11.0
│ │   │ ├─┬ combined-stream@1.0.5
│ │   │ │ └── delayed-stream@1.0.0
│ │   │ ├── extend@3.0.0
│ │   │ ├── forever-agent@0.6.1
│ │   │ ├─┬ form-data@1.0.0-rc3
│ │   │ │ └── async@1.4.2
│ │   │ ├─┬ har-validator@1.8.0
│ │   │ │ ├─┬ chalk@1.1.1
│ │   │ │ │ ├── ansi-styles@2.1.0
│ │   │ │ │ └── strip-ansi@3.0.0
│ │   │ │ └─┬ is-my-json-valid@2.12.2
│ │   │ │   ├── generate-function@2.0.0
│ │   │ │   ├─┬ generate-object-property@1.2.0
│ │   │ │   │ └── is-property@1.0.2
│ │   │ │   └── jsonpointer@2.0.0
│ │   │ ├─┬ hawk@3.1.0
│ │   │ │ ├── boom@2.9.0
│ │   │ │ ├── cryptiles@2.0.5
│ │   │ │ ├── hoek@2.16.3
│ │   │ │ └── sntp@1.0.9
│ │   │ ├── http-signature@0.11.0
│ │   │ ├─┬ mime-types@2.1.7
│ │   │ │ └── mime-db@1.19.0
│ │   │ ├── oauth-sign@0.8.0
│ │   │ ├── qs@5.1.0
│ │   │ └── tunnel-agent@0.4.1
│ │   └── semver@2.3.2
│ ├── lodash@0.10.0
│ └── wrench@1.4.4
├─┬ grunt-contrib-clean@0.5.0
│ └── rimraf@2.2.8
├─┬ grunt-contrib-coffee@0.10.1
│ ├─┬ chalk@0.4.0
│ │ ├── ansi-styles@1.0.0
│ │ ├── has-color@0.1.7
│ │ └── strip-ansi@0.1.1
│ ├── coffee-script@1.7.1
│ └── lodash@2.4.2
├── grunt-contrib-concat@0.3.0
├── grunt-contrib-copy@0.5.0
├─┬ grunt-contrib-cssmin@0.9.0
│ ├─┬ chalk@0.4.0
│ │ └── ansi-styles@1.0.0
│ ├─┬ clean-css@2.1.8
│ │ └── commander@2.1.0
│ └─┬ maxmin@0.1.0
│   ├─┬ chalk@0.4.0
│   │ └── ansi-styles@1.0.0
│   ├─┬ gzip-size@0.1.1
│   │ ├─┬ concat-stream@1.5.0
│   │ │ ├─┬ readable-stream@2.0.2
│   │ │ │ ├── process-nextick-args@1.0.3
│   │ │ │ └── util-deprecate@1.0.1
│   │ │ └── typedarray@0.0.6
│   │ └─┬ zlib-browserify@0.0.3
│   │   └─┬ tape@0.2.2
│   │     ├── deep-equal@0.0.0
│   │     ├── defined@0.0.0
│   │     └── jsonify@0.0.0
│   └── pretty-bytes@0.1.2
├─┬ grunt-contrib-jst@0.6.0
│ ├─┬ chalk@0.4.0
│ │ └── ansi-styles@1.0.0
│ ├─┬ grunt-lib-contrib@0.7.1
│ │ └── strip-path@0.1.1
│ └── lodash@2.4.2
├─┬ grunt-contrib-less@0.11.1
│ ├── async@0.2.10
│ ├─┬ chalk@0.4.0
│ │ └── ansi-styles@1.0.0
│ ├─┬ less@1.7.5
│ │ ├─┬ clean-css@2.2.23
│ │ │ └── commander@2.2.0
│ │ ├── graceful-fs@3.0.8
│ │ ├── mime@1.2.11
│ │ ├─┬ mkdirp@0.5.1
│ │ │ └── minimist@0.0.8
│ │ ├─┬ request@2.40.0
│ │ │ ├── hawk@1.1.1
│ │ │ ├── mime-types@1.0.2
│ │ │ ├── qs@1.0.2
│ │ │ └── tunnel-agent@0.4.1
│ │ └─┬ source-map@0.1.43
│ │   └── amdefine@1.0.0
│ └── lodash@2.4.2
├─┬ grunt-contrib-uglify@0.4.1
│ ├─┬ chalk@0.4.0
│ │ └── ansi-styles@1.0.0
│ └─┬ uglify-js@2.4.24
│   ├── async@0.2.10
│   ├── source-map@0.1.34
│   ├── uglify-to-browserify@1.0.2
│   └─┬ yargs@3.5.4
│     ├── camelcase@1.2.1
│     ├── decamelize@1.0.0
│     ├── window-size@0.1.0
│     └── wordwrap@0.0.2
├─┬ grunt-contrib-watch@0.5.3
│ ├─┬ gaze@0.4.3
│ │ └─┬ globule@0.1.0
│ │   └── lodash@1.0.2
│ └─┬ tiny-lr@0.0.4
│   ├── debug@0.7.4
│   ├── faye-websocket@0.4.4
│   ├─┬ noptify@0.0.3
│   │ └── nopt@2.0.0
│   └── qs@0.5.6
├── grunt-karma@0.12.1 extraneous
├── grunt-sails-linker@0.9.6
├── grunt-simple-mocha@0.4.0 extraneous
├─┬ grunt-sync@0.0.8
│ └── promised-io@0.3.3
├─┬ include-all@0.1.6
│ └── underscore.string@2.3.1
├── karma@0.13.14 extraneous
├─┬ karma-babel-preprocessor@5.2.2
│ └─┬ babel-core@5.8.25
│   ├── babel-plugin-constant-folding@1.0.1
│   ├── babel-plugin-dead-code-elimination@1.0.2
│   ├── babel-plugin-eval@1.0.1
│   ├── babel-plugin-inline-environment-variables@1.0.1
│   ├── babel-plugin-jscript@1.0.4
│   ├── babel-plugin-member-expression-literals@1.0.1
│   ├── babel-plugin-property-literals@1.0.1
│   ├── babel-plugin-proto-to-assign@1.0.4
│   ├── babel-plugin-react-constant-elements@1.0.3
│   ├── babel-plugin-react-display-name@1.0.3
│   ├── babel-plugin-remove-console@1.0.1
│   ├── babel-plugin-remove-debugger@1.0.1
│   ├── babel-plugin-runtime@1.0.7
│   ├─┬ babel-plugin-undeclared-variables-check@1.0.2
│   │ └── leven@1.0.2
│   ├── babel-plugin-undefined-to-void@1.1.6
│   ├── babylon@5.8.23
│   ├── bluebird@2.10.2
│   ├─┬ chalk@1.1.1
│   │ ├── ansi-styles@2.1.0
│   │ ├── escape-string-regexp@1.0.3
│   │ ├── has-ansi@2.0.0
│   │ ├─┬ strip-ansi@3.0.0
│   │ │ └── ansi-regex@2.0.0
│   │ └── supports-color@2.0.0
│   ├── convert-source-map@1.1.1
│   ├── core-js@1.2.2
│   ├─┬ debug@2.2.0
│   │ └── ms@0.7.1
│   ├─┬ detect-indent@3.0.1
│   │ ├── get-stdin@4.0.1
│   │ └── minimist@1.2.0
│   ├── esutils@2.0.2
│   ├── fs-readdir-recursive@0.1.2
│   ├── globals@6.4.1
│   ├─┬ home-or-tmp@1.0.0
│   │ └── user-home@1.1.1
│   ├─┬ is-integer@1.0.6
│   │ └─┬ is-finite@1.0.1
│   │   └── number-is-nan@1.0.0
│   ├── js-tokens@1.0.1
│   ├── json5@0.4.0
│   ├─┬ line-numbers@0.2.0
│   │ └── left-pad@0.0.3
│   ├─┬ minimatch@2.0.10
│   │ └─┬ brace-expansion@1.1.1
│   │   ├── balanced-match@0.2.0
│   │   └── concat-map@0.0.1
│   ├─┬ output-file-sync@1.1.1
│   │ ├─┬ mkdirp@0.5.1
│   │ │ └── minimist@0.0.8
│   │ └── xtend@4.0.0
│   ├── path-exists@1.0.0
│   ├── path-is-absolute@1.0.0
│   ├── private@0.1.6
│   ├─┬ regenerator@0.8.35
│   │ ├─┬ commoner@0.10.3
│   │ │ ├── commander@2.5.1
│   │ │ ├─┬ glob@4.2.2
│   │ │ │ └── minimatch@1.0.0
│   │ │ ├── graceful-fs@3.0.8
│   │ │ ├── iconv-lite@0.4.13
│   │ │ ├── install@0.1.8
│   │ │ ├─┬ mkdirp@0.5.1
│   │ │ │ └── minimist@0.0.8
│   │ │ └── q@1.1.2
│   │ ├─┬ defs@1.1.1
│   │ │ ├─┬ alter@0.2.0
│   │ │ │ └── stable@0.1.5
│   │ │ ├── ast-traverse@0.1.1
│   │ │ ├── breakable@1.0.0
│   │ │ ├── esprima-fb@15001.1001.0-dev-harmony-fb
│   │ │ ├── simple-fmt@0.1.0
│   │ │ ├── simple-is@0.2.0
│   │ │ ├── stringmap@0.2.2
│   │ │ ├── stringset@0.2.1
│   │ │ ├── tryor@0.1.2
│   │ │ └─┬ yargs@3.27.0
│   │ │   ├─┬ cliui@2.1.0
│   │ │   │ ├─┬ center-align@0.1.1
│   │ │   │ │ └─┬ align-text@0.1.3
│   │ │   │ │   ├─┬ kind-of@2.0.1
│   │ │   │ │   │ └── is-buffer@1.1.0
│   │ │   │ │   ├── longest@1.0.1
│   │ │   │ │   └── repeat-string@1.5.2
│   │ │   │ ├── right-align@0.1.3
│   │ │   │ └── wordwrap@0.0.2
│   │ │   ├─┬ os-locale@1.4.0
│   │ │   │ └─┬ lcid@1.0.0
│   │ │   │   └── invert-kv@1.0.0
│   │ │   ├── window-size@0.1.2
│   │ │   └── y18n@3.2.0
│   │ ├── esprima-fb@15001.1.0-dev-harmony-fb
│   │ ├─┬ recast@0.10.24
│   │ │ ├── ast-types@0.8.5
│   │ │ ├── esprima-fb@15001.1.0-dev-harmony-fb
│   │ │ └── source-map@0.4.4
│   │ └── through@2.3.8
│   ├─┬ regexpu@1.3.0
│   │ ├── esprima@2.6.0
│   │ ├── regenerate@1.2.1
│   │ ├── regjsgen@0.2.0
│   │ └─┬ regjsparser@0.1.5
│   │   └── jsesc@0.5.0
│   ├── repeating@1.1.3
│   ├── resolve@1.1.6
│   ├── shebang-regex@1.0.0
│   ├── slash@1.0.0
│   ├── source-map@0.4.4
│   ├─┬ source-map-support@0.2.10
│   │ └── source-map@0.1.32
│   ├── to-fast-properties@1.0.1
│   ├── trim-right@1.0.1
│   └── try-resolve@1.0.1
├── karma-chai@0.1.0
├── karma-firefox-launcher@0.1.6
├── karma-mocha@0.2.0
├── karma-phantomjs-launcher@0.2.1
├── karma-requirejs@0.2.2
├─┬ karma-sinon-chai@1.1.0
│ ├── chai@3.2.0
│ ├─┬ sinon@1.16.1
│ │ ├── formatio@1.1.1
│ │ ├── lolex@1.3.1
│ │ ├── samsam@1.1.2
│ │ └── util@0.10.3
│ └── sinon-chai@2.8.0
├── lodash@3.10.1
├─┬ phantomjs@1.9.18
│ ├── adm-zip@0.4.4
│ ├─┬ fs-extra@0.23.1
│ │ ├── graceful-fs@4.1.2
│ │ ├── jsonfile@2.2.3
│ │ └─┬ rimraf@2.4.3
│ │   └─┬ glob@5.0.15
│ │     └── minimatch@3.0.0
│ ├── kew@0.4.0
│ ├─┬ npmconf@2.1.1
│ │ ├─┬ config-chain@1.1.9
│ │ │ └── proto-list@1.2.4
│ │ ├── inherits@2.0.1
│ │ ├─┬ mkdirp@0.5.1
│ │ │ └── minimist@0.0.8
│ │ ├── nopt@3.0.4
│ │ ├─┬ once@1.3.2
│ │ │ └── wrappy@1.0.1
│ │ ├─┬ osenv@0.1.3
│ │ │ └── os-homedir@1.0.1
│ │ └── uid-number@0.0.5
│ ├── progress@1.1.8
│ ├─┬ request@2.42.0
│ │ ├── aws-sign2@0.5.0
│ │ ├─┬ bl@0.9.4
│ │ │ └── readable-stream@1.0.33
│ │ ├── caseless@0.6.0
│ │ ├── forever-agent@0.5.2
│ │ ├─┬ form-data@0.1.4
│ │ │ ├── async@0.9.2
│ │ │ └─┬ combined-stream@0.0.7
│ │ │   └── delayed-stream@0.0.5
│ │ ├─┬ hawk@1.1.1
│ │ │ ├── boom@0.4.2
│ │ │ ├── cryptiles@0.2.2
│ │ │ ├── hoek@0.9.1
│ │ │ └── sntp@0.2.4
│ │ ├─┬ http-signature@0.10.1
│ │ │ ├── asn1@0.1.11
│ │ │ ├── assert-plus@0.1.5
│ │ │ └── ctype@0.5.3
│ │ ├── json-stringify-safe@5.0.1
│ │ ├── mime-types@1.0.2
│ │ ├── oauth-sign@0.4.0
│ │ ├── qs@1.2.2
│ │ ├── stringstream@0.0.4
│ │ ├── tough-cookie@2.2.0
│ │ └── tunnel-agent@0.4.1
│ └─┬ request-progress@0.3.1
│   └── throttleit@0.0.2
├─┬ rc@0.5.5
│ ├── deep-extend@0.2.11
│ ├── ini@1.3.4
│ ├── minimist@0.0.10
│ └── strip-json-comments@0.1.3
├── requirejs@2.1.20
├─┬ sails@0.11.2 -> /R/local/stow/node/lib/node_modules/sails
│ ├── UNMET DEPENDENCY anchor@~0.10.0
│ ├── UNMET DEPENDENCY async@~0.9.0
│ ├── UNMET DEPENDENCY captains-log@~0.11.8
│ ├── UNMET DEPENDENCY commander@~2.1.0
│ ├── UNMET DEPENDENCY connect@2.25.0
│ ├── UNMET DEPENDENCY connect-flash@~0.1.1
│ ├── UNMET DEPENDENCY cookie@0.1.2
│ ├── UNMET DEPENDENCY cookie-signature@1.0.4
│ ├── UNMET DEPENDENCY ejs-locals@~1.0.2
│ ├── UNMET DEPENDENCY express@3.16.0
│ ├── UNMET DEPENDENCY express-handlebars@~1.0.1
│ ├─┬ fs-extra@0.8.1
│ │ ├── jsonfile@1.1.1
│ │ ├── ncp@0.4.2
│ │ └── rimraf@2.2.8
│ ├── UNMET DEPENDENCY glob@~3.2.9
│ ├── UNMET DEPENDENCY grunt-cli@~0.1.11
│ ├── UNMET DEPENDENCY i18n@~0.5.0
│ ├── UNMET DEPENDENCY lodash@~2.4.1
│ ├─┬ merge-defaults@0.1.4
│ │ └── lodash@2.4.2
│ ├── UNMET DEPENDENCY method-override@~2.3.0
│ ├── UNMET DEPENDENCY mock-req@0.1.0
│ ├── UNMET DEPENDENCY mock-res@0.1.0
│ ├── node-uuid@1.4.3
│ ├── UNMET DEPENDENCY pluralize@~0.0.5
│ ├── UNMET DEPENDENCY prompt@~0.2.13
│ ├── UNMET DEPENDENCY reportback@~0.1.4
│ ├── UNMET DEPENDENCY sails-build-dictionary@~0.10.1
│ ├── UNMET DEPENDENCY sails-generate@~0.12.0
│ ├── UNMET DEPENDENCY sails-hook-sockets@^0.11.25
│ ├── UNMET DEPENDENCY sails-stringfile@~0.3.0
│ ├── UNMET DEPENDENCY sails-util@~0.10.3
│ ├── UNMET DEPENDENCY semver@~2.2.1
│ ├── UNMET DEPENDENCY skipper@~0.5.5
│ ├── UNMET DEPENDENCY uid-safe@^1.0.1
│ └── UNMET DEPENDENCY waterline@~0.10.17
├─┬ sails-disk@0.10.8
│ ├── async@0.2.10
│ ├── lodash@2.4.2
│ ├─┬ waterline-criteria@0.11.2
│ │ └── lodash@2.4.2
│ ├─┬ waterline-cursor@0.0.6
│ │ ├── async@0.9.2
│ │ └── lodash@2.4.2
│ └── waterline-errors@0.10.1
├─┬ sails-hook-babel@5.0.1
│ └─┬ babel@5.8.23
│   ├─┬ chokidar@1.2.0
│   │ ├─┬ anymatch@1.3.0
│   │ │ └─┬ micromatch@2.2.0
│   │ │   ├─┬ arr-diff@1.1.0
│   │ │   │ ├── arr-flatten@1.0.1
│   │ │   │ └── array-slice@0.2.3
│   │ │   ├── array-unique@0.2.1
│   │ │   ├─┬ braces@1.8.1
│   │ │   │ ├─┬ expand-range@1.8.1
│   │ │   │ │ └─┬ fill-range@2.2.2
│   │ │   │ │   ├── is-number@1.1.2
│   │ │   │ │   └─┬ randomatic@1.1.0
│   │ │   │ │     └── kind-of@1.1.0
│   │ │   │ ├── lazy-cache@0.2.3
│   │ │   │ ├── preserve@0.2.0
│   │ │   │ └── repeat-element@1.1.2
│   │ │   ├── expand-brackets@0.1.4
│   │ │   ├─┬ extglob@0.3.1
│   │ │   │ ├─┬ ansi-green@0.1.1
│   │ │   │ │ └── ansi-wrap@0.1.0
│   │ │   │ └── success-symbol@0.1.0
│   │ │   ├── filename-regex@2.0.0
│   │ │   ├── is-glob@1.1.3
│   │ │   ├── kind-of@1.1.0
│   │ │   ├─┬ object.omit@1.1.0
│   │ │   │ ├─┬ for-own@0.1.3
│   │ │   │ │ └── for-in@0.1.4
│   │ │   │ └── isobject@1.0.2
│   │ │   ├─┬ parse-glob@3.0.4
│   │ │   │ ├── glob-base@0.3.0
│   │ │   │ └── is-dotfile@1.0.1
│   │ │   └─┬ regex-cache@0.4.2
│   │ │     ├── is-equal-shallow@0.1.3
│   │ │     └── is-primitive@2.0.0
│   │ ├── arrify@1.0.0
│   │ ├── async-each@0.1.6
│   │ ├── UNMET OPTIONAL DEPENDENCY fsevents@^1.0.0
│   │ ├── glob-parent@2.0.0
│   │ ├─┬ is-binary-path@1.0.1
│   │ │ └── binary-extensions@1.3.1
│   │ ├─┬ is-glob@2.0.1
│   │ │ └── is-extglob@1.0.0
│   │ ├─┬ lodash.flatten@3.0.2
│   │ │ ├─┬ lodash._baseflatten@3.1.4
│   │ │ │ ├── lodash.isarguments@3.0.4
│   │ │ │ └── lodash.isarray@3.0.4
│   │ │ └── lodash._isiterateecall@3.0.9
│   │ └─┬ readdirp@2.0.0
│   │   ├── graceful-fs@4.1.2
│   │   ├── minimatch@2.0.10
│   │   └── readable-stream@2.0.2
│   ├─┬ commander@2.8.1
│   │ └── graceful-readlink@1.0.1
│   ├─┬ glob@5.0.15
│   │ ├── inflight@1.0.4
│   │ └── minimatch@3.0.0
│   └── source-map@0.4.4
├─┬ sails-memory@0.10.5
│ ├── async@0.2.10
│ ├── lodash@2.4.2
│ └── waterline-criteria@0.10.7
├─┬ sails-postgresql@0.10.16
│ ├── async@1.3.0
│ ├── lodash@3.10.1
│ ├─┬ pg@4.4.1
│ │ ├── buffer-writer@1.0.0
│ │ ├── generic-pool@2.1.1
│ │ ├── packet-reader@0.2.0
│ │ ├── pg-connection-string@0.1.3
│ │ ├─┬ pg-types@1.10.0
│ │ │ ├── ap@0.2.0
│ │ │ ├── postgres-array@1.0.0
│ │ │ ├── postgres-bytea@1.0.0
│ │ │ ├── postgres-date@1.0.0
│ │ │ └─┬ postgres-interval@1.0.0
│ │ │   └── xtend@4.0.0
│ │ ├─┬ pgpass@0.0.3
│ │ │ └─┬ split@0.3.3
│ │ │   └── through@2.3.8
│ │ └── semver@4.3.6
│ ├─┬ waterline-cursor@0.0.5
│ │ ├── async@0.9.2
│ │ └── lodash@2.4.2
│ ├── waterline-errors@0.10.1
│ └── waterline-sequel@0.5.0
├─┬ supertest@1.1.0
│ ├── methods@1.1.1
│ └─┬ superagent@1.3.0
│   ├── component-emitter@1.1.2
│   ├── cookiejar@2.0.1
│   ├── debug@2.2.0
│   ├── extend@1.2.1
│   ├─┬ form-data@0.2.0
│   │ ├── async@0.9.2
│   │ └─┬ mime-types@2.0.14
│   │   └── mime-db@1.12.0
│   ├── formidable@1.0.14
│   ├── methods@1.0.1
│   ├── mime@1.3.4
│   ├── qs@2.3.3
│   ├─┬ readable-stream@1.0.27-1
│   │ ├── core-util-is@1.0.1
│   │ ├── isarray@0.0.1
│   │ └── string_decoder@0.10.31
│   └── reduce-component@1.0.1
└─┬ winston@1.1.1
  ├── async@1.0.0
  ├── colors@1.0.3
  ├── cycle@1.0.3
  ├── eyes@0.1.8
  ├── isstream@0.1.2
  ├── pkginfo@0.3.1
  └── stack-trace@0.0.9

@kpturner
Copy link

kpturner commented Dec 7, 2016

In my case it can't be a caching problem - this was a clean install on a virgin server and the only one I have running node 7.

Output as requested

npm ls crc
├── crc@3.4.3  extraneous
├─┬ express-device@0.3.13
│ └─┬ express@3.21.2
│   └─┬ connect@2.30.2
│     └─┬ express-session@1.11.3
│       └── crc@3.3.0
└─┬ sails@0.11.5
  └─┬ connect@2.30.0
    └─┬ express-session@1.11.3
      └── crc@3.3.0

npm ERR! extraneous: crc@3.4.3 /usr/sails/projects/eventstest/node_modules/crc
[root@kpturner eventstest]#
[root@kpturner eventstest]# npm ls
events@0.0.0 /usr/sails/projects/eventstest
├── angular@1.5.9
├── angular-ui-bootstrap@0.13.4
├── async@1.5.2
├── bcryptjs@2.3.0
├── bootstrap@3.3.7
├─┬ captains-log@0.11.11
│ ├── colors@0.6.2
│ ├── lodash@2.4.1
│ ├─┬ merge-defaults@0.1.4
│ │ └── lodash@2.4.2
│ └─┬ rc@0.3.5
│   └── ini@1.1.0
├── child-process-debug@0.0.7
├─┬ connect-redis@1.4.5
│ ├─┬ debug@2.3.3
│ │ └── ms@0.7.2
│ └── redis@0.7.3
├── crc@3.4.3 extraneous
├─┬ dateformat@1.0.12
│ ├── get-stdin@4.0.1
│ └─┬ meow@3.7.0
│   ├─┬ camelcase-keys@2.1.0
│   │ └── camelcase@2.1.1
│   ├── decamelize@1.2.0
│   ├─┬ loud-rejection@1.6.0
│   │ ├─┬ currently-unhandled@0.4.1
│   │ │ └── array-find-index@1.0.2
│   │ └── signal-exit@3.0.1
│   ├── map-obj@1.0.1
│   ├── minimist@1.2.0
│   ├─┬ normalize-package-data@2.3.5
│   │ ├── hosted-git-info@2.1.5
│   │ ├─┬ is-builtin-module@1.0.0
│   │ │ └── builtin-modules@1.1.1
│   │ ├── semver@5.3.0
│   │ └─┬ validate-npm-package-license@3.0.1
│   │   ├─┬ spdx-correct@1.0.2
│   │   │ └── spdx-license-ids@1.2.2
│   │   └── spdx-expression-parse@1.0.4
│   ├── object-assign@4.1.0
│   ├─┬ read-pkg-up@1.0.1
│   │ ├─┬ find-up@1.1.2
│   │ │ └── path-exists@2.1.0
│   │ └─┬ read-pkg@1.1.0
│   │   ├─┬ load-json-file@1.1.0
│   │   │ ├─┬ parse-json@2.2.0
│   │   │ │ └─┬ error-ex@1.3.0
│   │   │ │   └── is-arrayish@0.2.1
│   │   │ ├── pify@2.3.0
│   │   │ └─┬ strip-bom@2.0.0
│   │   │   └── is-utf8@0.2.1
│   │   └── path-type@1.1.0
│   ├─┬ redent@1.0.0
│   │ ├─┬ indent-string@2.1.0
│   │ │ └─┬ repeating@2.0.1
│   │ │   └─┬ is-finite@1.0.2
│   │ │     └── number-is-nan@1.0.1
│   │ └── strip-indent@1.0.1
│   └── trim-newlines@1.0.0
├── ejs@0.8.8
├─┬ express-device@0.3.13
│ ├─┬ express@3.21.2
│ │ ├── basic-auth@1.0.4
│ │ ├── commander@2.6.0
│ │ ├─┬ connect@2.30.2
│ │ │ ├─┬ debug@2.2.0
│ │ │ │ └── ms@0.7.1
│ │ │ ├─┬ express-session@1.11.3
│ │ │ │ ├── crc@3.3.0
│ │ │ │ └─┬ uid-safe@2.0.0
│ │ │ │   └── base64-url@1.2.1
│ │ │ ├── pause@0.1.0
│ │ │ └── qs@4.0.0
│ │ ├── content-disposition@0.5.0
│ │ ├── content-type@1.0.2
│ │ ├── cookie@0.1.3
│ │ ├─┬ debug@2.2.0
│ │ │ └── ms@0.7.1
│ │ ├── depd@1.0.1
│ │ ├── escape-html@1.0.2
│ │ ├── etag@1.7.0
│ │ ├── fresh@0.3.0
│ │ ├── merge-descriptors@1.0.0
│ │ ├── methods@1.1.2
│ │ ├─┬ mkdirp@0.5.1
│ │ │ └── minimist@0.0.8
│ │ ├── parseurl@1.3.1
│ │ ├─┬ proxy-addr@1.0.10
│ │ │ ├── forwarded@0.1.0
│ │ │ └── ipaddr.js@1.0.5
│ │ ├── range-parser@1.0.3
│ │ ├─┬ send@0.13.0
│ │ │ ├── debug@2.2.0
│ │ │ ├── destroy@1.0.3
│ │ │ ├── ms@0.7.1
│ │ │ ├─┬ on-finished@2.3.0
│ │ │ │ └── ee-first@1.1.1
│ │ │ └── statuses@1.2.1
│ │ ├── utils-merge@1.0.0
│ │ └── vary@1.0.1
│ └── express-partials@0.3.0
├── express-session@1.14.2 extraneous
├─┬ fbgraph@1.3.0
│ ├── qs@1.2.2
│ └─┬ request@2.74.0
│   ├── aws-sign2@0.6.0
│   ├── aws4@1.5.0
│   ├─┬ bl@1.1.2
│   │ └─┬ readable-stream@2.0.6
│   │   ├── core-util-is@1.0.2
│   │   ├── isarray@1.0.0
│   │   ├── process-nextick-args@1.0.7
│   │   └── util-deprecate@1.0.2
│   ├── caseless@0.11.0
│   ├─┬ combined-stream@1.0.5
│   │ └── delayed-stream@1.0.0
│   ├── extend@3.0.0
│   ├── forever-agent@0.6.1
│   ├─┬ form-data@1.0.1
│   │ └─┬ async@2.1.4
│   │   └── lodash@4.17.2
│   ├─┬ har-validator@2.0.6
│   │ ├─┬ chalk@1.1.3
│   │ │ ├── ansi-styles@2.2.1
│   │ │ ├── escape-string-regexp@1.0.5
│   │ │ ├─┬ has-ansi@2.0.0
│   │ │ │ └── ansi-regex@2.0.0
│   │ │ ├── strip-ansi@3.0.1
│   │ │ └── supports-color@2.0.0
│   │ ├── commander@2.9.0
│   │ ├─┬ is-my-json-valid@2.15.0
│   │ │ ├── generate-function@2.0.0
│   │ │ ├─┬ generate-object-property@1.2.0
│   │ │ │ └── is-property@1.0.2
│   │ │ ├── jsonpointer@4.0.0
│   │ │ └── xtend@4.0.1
│   │ └─┬ pinkie-promise@2.0.1
│   │   └── pinkie@2.0.4
│   ├─┬ hawk@3.1.3
│   │ ├── boom@2.10.1
│   │ ├── cryptiles@2.0.5
│   │ ├── hoek@2.16.3
│   │ └── sntp@1.0.9
│   ├─┬ http-signature@1.1.1
│   │ ├── assert-plus@0.2.0
│   │ ├─┬ jsprim@1.3.1
│   │ │ ├── extsprintf@1.0.2
│   │ │ ├── json-schema@0.2.3
│   │ │ └── verror@1.3.6
│   │ └─┬ sshpk@1.10.1
│   │   ├── asn1@0.2.3
│   │   ├── assert-plus@1.0.0
│   │   ├── bcrypt-pbkdf@1.0.0
│   │   ├─┬ dashdash@1.14.1
│   │   │ └── assert-plus@1.0.0
│   │   ├── ecc-jsbn@0.1.1
│   │   ├─┬ getpass@0.1.6
│   │   │ └── assert-plus@1.0.0
│   │   ├── jodid25519@1.0.2
│   │   ├── jsbn@0.1.0
│   │   └── tweetnacl@0.14.4
│   ├── is-typedarray@1.0.0
│   ├── json-stringify-safe@5.0.1
│   ├─┬ mime-types@2.1.13
│   │ └── mime-db@1.25.0
│   ├── oauth-sign@0.8.2
│   ├── qs@6.2.1
│   ├── stringstream@0.0.5
│   ├─┬ tough-cookie@2.3.2
│   │ └── punycode@1.4.1
│   └── tunnel-agent@0.4.3
├─┬ googleapis@14.2.0
│ ├─┬ async@2.1.4
│ │ └── lodash@4.17.2
│ ├─┬ google-auth-library@0.9.10
│ │ ├── async@1.4.2
│ │ ├─┬ gtoken@1.2.1
│ │ │ └─┬ google-p12-pem@0.1.0
│ │ │   └── node-forge@0.6.45
│ │ ├─┬ jws@3.0.0
│ │ │ ├─┬ base64url@1.0.6
│ │ │ │ └─┬ meow@2.0.0
│ │ │ │   ├─┬ camelcase-keys@1.0.0
│ │ │ │   │ └── camelcase@1.2.1
│ │ │ │   ├─┬ indent-string@1.2.2
│ │ │ │   │ └── repeating@1.1.3
│ │ │ │   ├── minimist@1.2.0
│ │ │ │   └── object-assign@1.0.0
│ │ │ └─┬ jwa@1.0.2
│ │ │   ├── base64url@0.0.6
│ │ │   ├── buffer-equal-constant-time@1.0.1
│ │ │   └─┬ ecdsa-sig-formatter@1.0.8
│ │ │     └── safe-buffer@5.0.1
│ │ ├── lodash.noop@3.0.1
│ │ └── string-template@0.2.1
│ ├─┬ request@2.79.0
│ │ ├─┬ form-data@2.1.2
│ │ │ └── asynckit@0.4.0
│ │ ├── qs@6.3.0
│ │ └── uuid@3.0.1
│ └── string-template@1.0.0
├─┬ grunt@0.4.2
│ ├── async@0.1.22
│ ├── coffee-script@1.3.3
│ ├── dateformat@1.0.2-1.2.3
│ ├── eventemitter2@0.4.14
│ ├── exit@0.1.2
│ ├─┬ findup-sync@0.1.3
│ │ ├─┬ glob@3.2.11
│ │ │ └── minimatch@0.3.0
│ │ └── lodash@2.4.2
│ ├── getobject@0.1.0
│ ├─┬ glob@3.1.21
│ │ ├── graceful-fs@1.2.3
│ │ └── inherits@1.0.2
│ ├── hooker@0.2.3
│ ├── iconv-lite@0.2.11
│ ├─┬ js-yaml@2.0.5
│ │ ├─┬ argparse@0.1.16
│ │ │ └── underscore.string@2.4.0
│ │ └── esprima@1.0.4
│ ├── lodash@0.9.2
│ ├─┬ minimatch@0.2.14
│ │ ├── lru-cache@2.7.3
│ │ └── sigmund@1.0.1
│ ├─┬ nopt@1.0.10
│ │ └── abbrev@1.0.9
│ ├─┬ rimraf@2.0.3
│ │ └── graceful-fs@1.1.14
│ ├── underscore.string@2.2.1
│ └── which@1.0.9
├─┬ grunt-contrib-clean@0.5.0
│ └── rimraf@2.2.8
├─┬ grunt-contrib-coffee@0.10.1
│ ├─┬ chalk@0.4.0
│ │ ├── ansi-styles@1.0.0
│ │ ├── has-color@0.1.7
│ │ └── strip-ansi@0.1.1
│ ├─┬ coffee-script@1.7.1
│ │ └── mkdirp@0.3.5
│ └── lodash@2.4.2
├── grunt-contrib-concat@0.3.0
├── grunt-contrib-copy@0.5.0
├─┬ grunt-contrib-cssmin@0.9.0
│ ├─┬ chalk@0.4.0
│ │ ├── ansi-styles@1.0.0
│ │ └── strip-ansi@0.1.1
│ ├─┬ clean-css@2.1.8
│ │ └── commander@2.1.0
│ └─┬ maxmin@0.1.0
│   ├─┬ chalk@0.4.0
│   │ ├── ansi-styles@1.0.0
│   │ └── strip-ansi@0.1.1
│   ├─┬ gzip-size@0.1.1
│   │ ├─┬ concat-stream@1.4.10
│   │ │ └── typedarray@0.0.6
│   │ └─┬ zlib-browserify@0.0.3
│   │   └─┬ tape@0.2.2
│   │     ├── defined@0.0.0
│   │     └── jsonify@0.0.0
│   └── pretty-bytes@0.1.2
├─┬ grunt-contrib-jst@0.6.0
│ ├─┬ chalk@0.4.0
│ │ ├── ansi-styles@1.0.0
│ │ └── strip-ansi@0.1.1
│ ├─┬ grunt-lib-contrib@0.7.1
│ │ └── strip-path@0.1.1
│ └── lodash@2.4.2
├─┬ grunt-contrib-less@0.11.1
│ ├── async@0.2.10
│ ├─┬ chalk@0.4.0
│ │ ├── ansi-styles@1.0.0
│ │ └── strip-ansi@0.1.1
│ ├─┬ less@1.7.5
│ │ ├─┬ clean-css@2.2.23
│ │ │ └── commander@2.2.0
│ │ ├─┬ graceful-fs@3.0.11
│ │ │ └── natives@1.1.0
│ │ ├── mime@1.2.11
│ │ ├─┬ request@2.40.0
│ │ │ ├── aws-sign2@0.5.0
│ │ │ ├── forever-agent@0.5.2
│ │ │ ├─┬ form-data@0.1.4
│ │ │ │ ├── async@0.9.2
│ │ │ │ └─┬ combined-stream@0.0.7
│ │ │ │   └── delayed-stream@0.0.5
│ │ │ ├─┬ hawk@1.1.1
│ │ │ │ ├── boom@0.4.2
│ │ │ │ ├── cryptiles@0.2.2
│ │ │ │ ├── hoek@0.9.1
│ │ │ │ └── sntp@0.2.4
│ │ │ ├─┬ http-signature@0.10.1
│ │ │ │ ├── asn1@0.1.11
│ │ │ │ ├── assert-plus@0.1.5
│ │ │ │ └── ctype@0.5.3
│ │ │ ├── mime-types@1.0.2
│ │ │ ├── oauth-sign@0.3.0
│ │ │ └── qs@1.0.2
│ │ └─┬ source-map@0.1.43
│ │   └── amdefine@1.0.1
│ └── lodash@2.4.2
├─┬ grunt-contrib-uglify@0.4.1
│ ├─┬ chalk@0.4.0
│ │ ├── ansi-styles@1.0.0
│ │ └── strip-ansi@0.1.1
│ └─┬ uglify-js@2.7.5
│   ├── async@0.2.10
│   ├── source-map@0.5.6
│   ├── uglify-to-browserify@1.0.2
│   └─┬ yargs@3.10.0
│     ├── camelcase@1.2.1
│     ├─┬ cliui@2.1.0
│     │ ├─┬ center-align@0.1.3
│     │ │ ├─┬ align-text@0.1.4
│     │ │ │ ├─┬ kind-of@3.0.4
│     │ │ │ │ └── is-buffer@1.1.4
│     │ │ │ ├── longest@1.0.1
│     │ │ │ └── repeat-string@1.6.1
│     │ │ └── lazy-cache@1.0.4
│     │ └── right-align@0.1.3
│     └── window-size@0.1.0
├─┬ grunt-contrib-watch@0.5.3
│ ├─┬ gaze@0.4.3
│ │ └─┬ globule@0.1.0
│ │   └── lodash@1.0.2
│ └─┬ tiny-lr@0.0.4
│   ├── debug@0.7.4
│   ├── faye-websocket@0.4.4
│   ├─┬ noptify@0.0.3
│   │ └── nopt@2.0.0
│   └── qs@0.5.6
├── grunt-sails-linker@0.9.6
├─┬ grunt-sync@0.0.8
│ └── promised-io@0.3.3
├── heapdump@0.3.7
├─┬ include-all@0.1.6
│ └── underscore.string@2.3.1
├─┬ json2csv@2.12.0
│ ├─┬ cli-table@0.3.1
│ │ └── colors@1.0.3
│ ├─┬ commander@2.9.0
│ │ └── graceful-readlink@1.0.1
│ └─┬ lodash.get@3.7.0
│   ├── lodash._baseget@3.7.2
│   └─┬ lodash._topath@3.8.1
│     └── lodash.isarray@3.0.4
├── lodash@3.10.1
├─┬ machinepack-gravatar@1.2.0
│ ├── lodash@2.4.2
│ └─┬ machine@10.4.0
│   ├── convert-to-ecmascript-compatible-varname@0.1.5
│   ├── object-hash@0.3.0
│   ├── rttc@7.4.0
│   └── switchback@2.0.2
├─┬ machinepack-passwords@2.3.0
│ └── bcrypt-nodejs@0.0.3
├─┬ ng-dialog@0.4.0
│ └── angular@1.3.20
├─┬ nodemailer@1.11.0
│ ├─┬ libmime@1.2.0
│ │ ├── iconv-lite@0.4.15
│ │ ├── libbase64@0.1.0
│ │ └── libqp@1.1.0
│ ├─┬ mailcomposer@2.1.0
│ │ └─┬ buildmail@2.0.0
│ │   ├── addressparser@0.3.2
│ │   └── needle@0.10.0
│ ├─┬ needle@0.11.0
│ │ └── iconv-lite@0.4.11
│ ├─┬ nodemailer-direct-transport@1.1.0
│ │ └── smtp-connection@1.3.8
│ └─┬ nodemailer-smtp-transport@1.1.0
│   ├── clone@1.0.2
│   └── nodemailer-wellknown@0.1.10
├─┬ nodemailer-dkim@1.0.4
│ └─┬ dkim-signer@0.2.2
│   └─┬ libmime@2.1.2
│     └── iconv-lite@0.4.13
├─┬ nodemailer-html-to-text@1.0.2
│ └─┬ html-to-text@1.6.2
│   ├── htmlparser@1.7.7
│   ├─┬ optimist@0.6.1
│   │ └── wordwrap@0.0.2
│   └── underscore@1.7.0
├─┬ passport@0.2.2
│ ├── passport-strategy@1.0.0
│ └── pause@0.0.1
├─┬ passport-facebook@2.1.1
│ └─┬ passport-oauth2@1.3.0
│   ├── oauth@0.9.14
│   └── uid2@0.0.3
├─┬ passport-google-oauth@0.2.0
│ ├── passport-oauth@1.0.0
│ └── pkginfo@0.3.1
├── passport-local@1.0.0
├─┬ passport-remember-me@0.0.1
│ ├─┬ passport@0.1.18
│ │ └── pause@0.0.1
│ └── pkginfo@0.2.3
├─┬ passport-twitter@1.0.4
│ ├── passport-oauth1@1.1.0
│ └─┬ xtraverse@0.1.0
│   └── xmldom@0.1.27
├─┬ rc@0.5.5
│ ├── deep-extend@0.2.11
│ ├── ini@1.3.4
│ ├── minimist@0.0.10
│ └── strip-json-comments@0.1.3
├─┬ redis@2.6.3
│ ├── double-ended-queue@2.1.0-0
│ ├── redis-commands@1.3.0
│ └── redis-parser@2.3.0
├─┬ sails@0.11.5
│ ├─┬ anchor@0.10.5
│ │ ├─┬ geojsonhint@1.1.0
│ │ │ ├── colors@0.6.2
│ │ │ ├─┬ concat-stream@1.4.10
│ │ │ │ ├── inherits@2.0.1
│ │ │ │ ├─┬ readable-stream@1.1.13
│ │ │ │ │ ├── core-util-is@1.0.1
│ │ │ │ │ ├── isarray@0.0.1
│ │ │ │ │ └── string_decoder@0.10.31
│ │ │ │ └── typedarray@0.0.6
│ │ │ ├─┬ jsonlint-lines@1.6.0
│ │ │ │ ├── JSV@4.0.2
│ │ │ │ └─┬ nomnom@1.8.1
│ │ │ │   ├─┬ chalk@0.4.0
│ │ │ │   │ ├── ansi-styles@1.0.0
│ │ │ │   │ ├── has-color@0.1.7
│ │ │ │   │ └── strip-ansi@0.1.1
│ │ │ │   └── underscore@1.6.0
│ │ │ ├── minimist@1.1.1
│ │ │ └─┬ optimist@0.6.1
│ │ │   ├── minimist@0.0.10
│ │ │   └── wordwrap@0.0.3
│ │ ├── lodash@3.9.3
│ │ └── validator@3.41.2
│ ├── async@0.9.2
│ ├── commander@2.1.0
│ ├─┬ connect@2.30.0
│ │ ├── basic-auth-connect@1.0.0
│ │ ├─┬ body-parser@1.13.3
│ │ │ ├─┬ debug@2.2.0
│ │ │ │ └── ms@0.7.1
│ │ │ └─┬ raw-body@2.1.7
│ │ │   ├── bytes@2.4.0
│ │ │   └── iconv-lite@0.4.13
│ │ ├── bytes@2.1.0
│ │ ├─┬ compression@1.5.2
│ │ │ ├─┬ accepts@1.2.13
│ │ │ │ └── negotiator@0.5.3
│ │ │ ├── compressible@2.0.9
│ │ │ └─┬ debug@2.2.0
│ │ │   └── ms@0.7.1
│ │ ├─┬ connect-timeout@1.6.2
│ │ │ ├── debug@2.2.0
│ │ │ └── ms@0.7.1
│ │ ├── cookie@0.1.3
│ │ ├── cookie-parser@1.3.5
│ │ ├─┬ csurf@1.8.3
│ │ │ └─┬ csrf@3.0.4
│ │ │   ├── base64-url@1.3.3
│ │ │   ├── rndm@1.2.0
│ │ │   ├── tsscmp@1.0.5
│ │ │   └─┬ uid-safe@2.1.3
│ │ │     └── random-bytes@1.0.0
│ │ ├─┬ debug@2.2.0
│ │ │ └── ms@0.7.1
│ │ ├─┬ errorhandler@1.4.3
│ │ │ ├─┬ accepts@1.3.3
│ │ │ │ └── negotiator@0.6.1
│ │ │ └── escape-html@1.0.3
│ │ ├─┬ express-session@1.11.3
│ │ │ ├── crc@3.3.0
│ │ │ └── uid-safe@2.0.0
│ │ ├─┬ finalhandler@0.4.0
│ │ │ ├─┬ debug@2.2.0
│ │ │ │ └── ms@0.7.1
│ │ │ └── unpipe@1.0.0
│ │ ├─┬ http-errors@1.3.1
│ │ │ └── statuses@1.3.1
│ │ ├─┬ morgan@1.6.1
│ │ │ └─┬ debug@2.2.0
│ │ │   └── ms@0.7.1
│ │ ├─┬ multiparty@3.3.2
│ │ │ ├── readable-stream@1.1.14
│ │ │ └── stream-counter@0.2.0
│ │ ├── on-headers@1.0.1
│ │ ├── pause@0.0.1
│ │ ├── qs@2.4.2
│ │ ├─┬ response-time@2.3.2
│ │ │ └── depd@1.1.0
│ │ ├── serve-favicon@2.3.2
│ │ ├─┬ serve-index@1.7.3
│ │ │ ├── batch@0.5.3
│ │ │ ├─┬ debug@2.2.0
│ │ │ │ └── ms@0.7.1
│ │ │ └── escape-html@1.0.3
│ │ ├─┬ serve-static@1.10.3
│ │ │ ├── escape-html@1.0.3
│ │ │ └─┬ send@0.13.2
│ │ │   ├── debug@2.2.0
│ │ │   ├── depd@1.1.0
│ │ │   ├── destroy@1.0.4
│ │ │   ├── ms@0.7.1
│ │ │   └── statuses@1.2.1
│ │ ├─┬ type-is@1.6.14
│ │ │ └── media-typer@0.3.0
│ │ └── vhost@3.0.2
│ ├── connect-flash@0.1.1
│ ├── cookie@0.1.2
│ ├── cookie-signature@1.0.6
│ ├── ejs-locals@1.0.2
│ ├─┬ express-handlebars@2.0.1
│ │ ├─┬ glob@5.0.15
│ │ │ ├─┬ inflight@1.0.6
│ │ │ │ └── wrappy@1.0.2
│ │ │ ├─┬ minimatch@3.0.3
│ │ │ │ └─┬ brace-expansion@1.1.6
│ │ │ │   ├── balanced-match@0.4.2
│ │ │ │   └── concat-map@0.0.1
│ │ │ └── once@1.4.0
│ │ ├── graceful-fs@3.0.11
│ │ ├─┬ handlebars@3.0.3
│ │ │ └─┬ uglify-js@2.3.6
│ │ │   ├── async@0.2.10
│ │ │   └── optimist@0.3.7
│ │ ├─┬ object.assign@1.1.1
│ │ │ └── object-keys@1.0.11
│ │ └─┬ promise@6.1.0
│ │   └── asap@1.0.0
│ ├─┬ fs-extra@0.8.1
│ │ ├── jsonfile@1.1.1
│ │ ├── mkdirp@0.3.5
│ │ ├── ncp@0.4.2
│ │ └── rimraf@2.2.8
│ ├─┬ glob@3.2.11
│ │ ├── inherits@2.0.3
│ │ └── minimatch@0.3.0
│ ├─┬ grunt-cli@0.1.13
│ │ └── resolve@0.3.1
│ ├─┬ grunt-contrib-watch@0.6.1
│ │ ├── async@0.2.10
│ │ ├── gaze@0.5.2
│ │ └─┬ tiny-lr-fork@0.0.5
│ │   ├── debug@0.7.4
│ │   └── qs@0.5.6
│ ├─┬ i18n@0.5.0
│ │ ├── mustache@2.3.0
│ │ └── sprintf@0.1.5
│ ├── lodash@2.4.2
│ ├─┬ method-override@2.3.7
│ │ └── vary@1.1.0
│ ├── mock-req@0.1.0
│ ├── mock-res@0.1.0
│ ├── node-uuid@1.4.7
│ ├── pluralize@0.0.12
│ ├─┬ prompt@0.2.14
│ │ ├─┬ read@1.0.7
│ │ │ └── mute-stream@0.0.6
│ │ ├── revalidator@0.1.8
│ │ ├─┬ utile@0.2.1
│ │ │ ├── async@0.2.10
│ │ │ ├── deep-equal@0.0.0
│ │ │ └── i@0.3.5
│ │ └─┬ winston@0.8.3
│ │   └── async@0.2.10
│ ├─┬ reportback@0.1.9
│ │ ├── lodash@2.4.2
│ │ └── switchback@1.1.3
│ ├─┬ sails-build-dictionary@0.10.1
│ │ └── lodash@2.4.2
│ ├─┬ sails-generate@0.12.4
│ │ ├── async@0.2.10
│ │ ├── lodash@2.4.2
│ │ ├─┬ sails-generate-adapter@0.10.6
│ │ │ └── lodash@2.4.2
│ │ ├─┬ sails-generate-api@0.10.1
│ │ │ ├── async@0.2.10
│ │ │ └── lodash@2.4.2
│ │ ├─┬ sails-generate-backend@0.12.6
│ │ │ └── lodash@2.4.2
│ │ ├─┬ sails-generate-controller@0.10.9
│ │ │ ├── lodash@2.4.2
│ │ │ ├── pluralize@0.0.9
│ │ │ └── underscore.string@2.3.3
│ │ ├── sails-generate-frontend@0.11.7
│ │ ├── sails-generate-generator@0.10.11
│ │ ├─┬ sails-generate-gruntfile@0.10.11
│ │ │ └── lodash@2.4.2
│ │ ├─┬ sails-generate-model@0.10.12
│ │ │ ├── lodash@2.4.2
│ │ │ └── underscore.string@2.3.3
│ │ ├─┬ sails-generate-new@0.10.29
│ │ │ ├── async@1.2.1
│ │ │ ├─┬ cross-spawn-async@2.2.5
│ │ │ │ ├─┬ lru-cache@4.0.2
│ │ │ │ │ ├── pseudomap@1.0.2
│ │ │ │ │ └── yallist@2.0.0
│ │ │ │ └─┬ which@1.2.12
│ │ │ │   └── isexe@1.1.2
│ │ │ ├── lodash@3.9.3
│ │ │ └─┬ merge-defaults@0.2.1
│ │ │   └── lodash@2.4.2
│ │ ├── sails-generate-sails.io.js@0.12.5
│ │ ├─┬ sails-generate-views@0.10.8
│ │ │ └── lodash@2.4.2
│ │ └─┬ sails-generate-views-jade@0.10.4
│ │   └── lodash@2.4.2
│ ├─┬ sails-hook-sockets@0.12.3
│ │ ├── lodash@2.4.2
│ │ ├─┬ machinepack-urls@3.1.1
│ │ │ └─┬ machine@4.1.1
│ │ │   ├── lodash@2.4.2
│ │ │   ├── rttc@1.0.2
│ │ │   └── switchback@1.1.3
│ │ ├── semver@4.3.6
│ │ ├─┬ socket.io@1.4.8
│ │ │ ├─┬ debug@2.2.0
│ │ │ │ └── ms@0.7.1
│ │ │ ├─┬ engine.io@1.6.11
│ │ │ │ ├─┬ accepts@1.1.4
│ │ │ │ │ ├─┬ mime-types@2.0.14
│ │ │ │ │ │ └── mime-db@1.12.0
│ │ │ │ │ └── negotiator@0.4.9
│ │ │ │ ├── base64id@0.1.0
│ │ │ │ ├─┬ debug@2.2.0
│ │ │ │ │ └── ms@0.7.1
│ │ │ │ ├─┬ engine.io-parser@1.2.4
│ │ │ │ │ ├── after@0.8.1
│ │ │ │ │ ├── arraybuffer.slice@0.0.6
│ │ │ │ │ ├── base64-arraybuffer@0.1.2
│ │ │ │ │ ├── blob@0.0.4
│ │ │ │ │ ├── has-binary@0.1.6
│ │ │ │ │ └── utf8@2.1.0
│ │ │ │ └─┬ ws@1.1.0
│ │ │ │   ├── options@0.0.6
│ │ │ │   └── ultron@1.0.2
│ │ │ ├─┬ has-binary@0.1.7
│ │ │ │ └── isarray@0.0.1
│ │ │ ├─┬ socket.io-adapter@0.4.0
│ │ │ │ ├─┬ debug@2.2.0
│ │ │ │ │ └── ms@0.7.1
│ │ │ │ └─┬ socket.io-parser@2.2.2
│ │ │ │   ├── debug@0.7.4
│ │ │ │   └── json3@3.2.6
│ │ │ └─┬ socket.io-parser@2.2.6
│ │ │   ├── benchmark@1.0.0
│ │ │   ├── component-emitter@1.1.2
│ │ │   ├─┬ debug@2.2.0
│ │ │   │ └── ms@0.7.1
│ │ │   └── json3@3.3.2
│ │ └─┬ socket.io-client@1.4.8
│ │   ├── backo2@1.0.2
│ │   ├── component-bind@1.0.0
│ │   ├── component-emitter@1.2.0
│ │   ├─┬ debug@2.2.0
│ │   │ └── ms@0.7.1
│ │   ├─┬ engine.io-client@1.6.11
│ │   │ ├── component-inherit@0.0.3
│ │   │ ├─┬ debug@2.2.0
│ │   │ │ └── ms@0.7.1
│ │   │ ├── has-cors@1.1.0
│ │   │ ├── parsejson@0.0.1
│ │   │ ├── parseqs@0.0.2
│ │   │ ├── ws@1.0.1
│ │   │ ├── xmlhttprequest-ssl@1.5.1
│ │   │ └── yeast@0.1.2
│ │   ├── indexof@0.0.1
│ │   ├── object-component@0.0.3
│ │   ├─┬ parseuri@0.0.4
│ │   │ └─┬ better-assert@1.0.2
│ │   │   └── callsite@1.0.0
│ │   └── to-array@0.1.4
│ ├─┬ sails-stringfile@0.3.2
│ │ └── lodash@2.4.2
│ ├─┬ sails-util@0.10.6
│ │ ├── lodash@2.4.2
│ │ ├── switchback@1.1.3
│ │ └── underscore.string@2.3.3
│ ├── semver@4.3.6
│ ├─┬ skipper@0.5.9
│ │ ├── async@1.4.2
│ │ ├── colors@1.1.2
│ │ ├── dot-access@1.0.0
│ │ ├── lodash@2.4.2
│ │ ├── multiparty@3.2.10
│ │ ├── semver@5.0.3
│ │ ├─┬ skipper-disk@0.5.7
│ │ │ ├─┬ debug@2.2.0
│ │ │ │ └── ms@0.7.1
│ │ │ └─┬ fs-extra@0.30.0
│ │ │   ├── jsonfile@2.4.0
│ │ │   └─┬ rimraf@2.5.4
│ │ │     └─┬ glob@7.1.1
│ │ │       └── minimatch@3.0.3
│ │ └── string_decoder@0.10.31
│ ├─┬ uid-safe@1.1.0
│ │ ├── base64-url@1.2.1
│ │ └── native-or-bluebird@1.1.2
│ └─┬ waterline@0.10.31
│   ├─┬ anchor@0.11.3
│   │ ├─┬ geojsonhint@1.1.0
│   │ │ ├─┬ jsonlint-lines@1.6.0
│   │ │ │ ├── JSV@4.0.2
│   │ │ │ └─┬ nomnom@1.8.1
│   │ │ │   ├─┬ chalk@0.4.0
│   │ │ │   │ ├── ansi-styles@1.0.0
│   │ │ │   │ └── strip-ansi@0.1.1
│   │ │ │   └── underscore@1.6.0
│   │ │ └── minimist@1.1.1
│   │ ├── lodash@3.10.1
│   │ └── validator@4.4.0
│   ├── async@1.2.1
│   ├── bluebird@2.9.34
│   ├── deep-diff@0.3.4
│   ├── lodash@3.9.3
│   ├─┬ waterline-criteria@0.11.2
│   │ └── lodash@2.4.2
│   └── waterline-schema@0.1.20
├─┬ sails-disk@0.10.10
│ ├── async@0.2.10
│ ├─┬ fs-extra@0.30.0
│ │ ├── graceful-fs@4.1.11
│ │ ├── jsonfile@2.4.0
│ │ ├── klaw@1.3.1
│ │ ├── path-is-absolute@1.0.1
│ │ └─┬ rimraf@2.5.4
│ │   └─┬ glob@7.1.1
│ │     ├── fs.realpath@1.0.0
│ │     └── minimatch@3.0.3
│ ├── waterline-criteria@1.0.1
│ ├── waterline-cursor@0.0.7
│ └── waterline-errors@0.10.1
├── sails-generate-auth@0.3.1
├─┬ sails-hook-email@0.12.1
│ ├── async@0.9.0
│ ├── ejs@2.5.3
│ ├── lodash@3.2.0
│ └── nodemailer-smtp-pool@1.2.0
├─┬ sails-mysql@0.11.5
│ ├── async@1.5.2
│ ├── lodash@3.10.1
│ ├─┬ mysql@2.10.2
│ │ ├── bignumber.js@2.1.4
│ │ └─┬ readable-stream@1.1.13
│ │   ├── core-util-is@1.0.2
│ │   ├── inherits@2.0.1
│ │   ├── isarray@0.0.1
│ │   └── string_decoder@0.10.31
│ ├─┬ waterline-cursor@0.0.6
│ │ ├── async@0.9.2
│ │ └── lodash@2.4.2
│ ├── waterline-errors@0.10.1
│ └─┬ waterline-sequel@0.5.7
│   └── lodash@3.10.0
├─┬ twit@2.2.5
│ ├── bluebird@3.4.6
│ └── mime@1.3.4
├── validator@3.43.0
└─┬ winston@1.1.2
  ├── async@1.0.0
  ├── colors@1.0.3
  ├── cycle@1.0.3
  ├── eyes@0.1.8
  ├── isstream@0.1.2
  └── stack-trace@0.0.9

npm ERR! extraneous: crc@3.4.3 /usr/sails/projects/eventstest/node_modules/crc
npm ERR! extraneous: express-session@1.14.2 /usr/sails/projects/eventstest/node_modules/express-session

@kpturner
Copy link

kpturner commented Dec 7, 2016

In addition to the previous comment, for me the warning arrives as soon as connection is made from a browser. It also occurs when the application is running under a service (with forever) and the service is stopped.

@dougwilson
Copy link

@kpturner the issue in sails wasn't fixed until version 0.12.9, but your install has an older version.

@kpturner
Copy link

kpturner commented Dec 8, 2016

Yes you are right. The global install of sails is v0.12.11 but the application has a built in dependency on ~0.11.5.

However, if I force it to use 0.12.11 it all falls apart - none of the passport code seems to work properly. Also the dependencies for sails.js pulls in express-handlebars will installs a version of graceful-fs which will fail on node 7.

So, all in all, I think I will have to live with the warning as I don't have time to investigate all the issues that have arisen from using 0.12.11 at the moment :(

@dougwilson
Copy link

@kpturner another option is just upgrade to Node.js 7.2.1. The deprecation was decided to be a mistake and has been reverted in Node.js 7.2.1.

@sgress454
Copy link
Member

Not sure what's up with the extraneous in the npm ls output above, but on a fresh install of Sails v0.12.11 using NPM 7.0.0, I no longer get the deprecation warning. As @dougwilson points out, this warning isn't really relevant anymore anyway, so between those two things I'm calling this good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

7 participants