Closed egamma closed 7 years ago
From @banyudu on March 22, 2017 3:24
I have this issue, too.
Message
[npm] Module 'https-proxy-agent' is extraneous
was generated by the extension 'npm'.
From @ttraenkler on March 24, 2017 15:1
Visual Studio Code 1.10.2 on latest macOS Sierra 10.12.3 warning for "dependencies" in package.json: 'Module 'node-pre-gyp' is extraneous' Here a list of the extensions installed:
From @sandy081 on March 27, 2017 6:51
These problems are generated from the extension npm
. Please file issue against that extension.
From @sandy081 on March 27, 2017 15:31
@tyrsius Ca you please provide the screenshot of the problems you are seeing in the problems panel?
@tyrsius @ttraenkler @banyudu this warning is correct and indicates that you have a module in your node_modules folder that isn't listed in the package.json. This can happen when it was installed without the --save
or --savedev
options.
Why is this bad? When the folder is shared through an SCM system and the node_modules are not checked in, then your team mate cannot just run npm install
to have the same modules installed as you have.
The fix is to add these modules as devDependencies
in your package.json file.
@tyrsius the warning will no appear when you follow your steps and do an npm install in a fresh folder.
From @tyrsius on March 28, 2017 15:23
@egamma If I follow the steps I posted in my initial post, in a new folder with a fresh npm install, I get this warning. I am sorry, but this warning is not correct.
From @ttraenkler on March 28, 2017 15:27
@egamma I am using "yarn add" to add dependencies, not "npm install", which "adds" the --save parameter implicitly.
From @tyrsius on March 28, 2017 15:41
The install process is too long to capture in a gif. However, as you can see from this screenshot of the terminal, the only thing in this folder before I ran yarn
was the package.json
file, no node_modules
folder. After installing, you can see the problems for extraneous packages.
From @banyudu on March 29, 2017 1:44
@egamma Yes, it works with npm. But if someone use yarn or cnpm instead of npm, things are different.
npm install --save-dev eslint
should create only one directory named 'eslint' under node_modules, while yarn add eslint
and cnpm install --save-dev eslint
will create lots of directories(or symbolic links) under node_modules.
These directories(or symbolic links) will trigger the extraneous warn.
I followed the steps and didn't get the warning. Not clear what the difference between yours and my setup is.
This warning actually comes from npm
and is derived from the output of npm ls --depth 0 --json
. Can you run this command from the command line in the root of the workspace and include the output.
/tmp/test $ rm -r * /tmp/test $ ls /tmp/test $ yarn add eslint yarn add v0.21.3 info No lockfile found. [1/4] π Resolving packages... [2/4] π Fetching packages... [3/4] π Linking dependencies... [4/4] π Building fresh packages... success Saved lockfile. success Saved 134 new dependencies. ββ acorn-jsx@3.0.1 ββ acorn@4.0.4 ββ ajv-keywords@1.5.1 ββ ajv@4.11.5 ββ ansi-escapes@1.4.0 ββ ansi-regex@2.1.1 ββ ansi-styles@2.2.1 ββ argparse@1.0.9 ββ array-union@1.0.2 ββ array-uniq@1.0.3 ββ arrify@1.0.1 ββ babel-code-frame@6.22.0 ββ balanced-match@0.4.2 ββ brace-expansion@1.1.6 ββ buffer-shims@1.0.0 ββ caller-path@0.1.0 ββ callsites@0.2.0 ββ chalk@1.1.3 ββ circular-json@0.3.1 ββ cli-cursor@1.0.2 ββ cli-width@2.1.0 ββ co@4.6.0 ββ code-point-at@1.1.0 ββ concat-map@0.0.1 ββ concat-stream@1.6.0 ββ core-util-is@1.0.2 ββ d@1.0.0 ββ debug@2.6.3 ββ deep-is@0.1.3 ββ del@2.2.2 ββ doctrine@2.0.0 ββ es5-ext@0.10.15 ββ es6-iterator@2.0.1 ββ es6-map@0.1.5 ββ es6-set@0.1.5 ββ es6-symbol@3.1.1 ββ es6-weak-map@2.0.2 ββ escape-string-regexp@1.0.5 ββ escope@3.6.0 ββ eslint@3.18.0 ββ espree@3.4.0 ββ esprima@3.1.3 ββ esquery@1.0.0 ββ esrecurse@4.1.0 ββ estraverse@4.2.0 ββ esutils@2.0.2 ββ event-emitter@0.3.5 ββ exit-hook@1.1.1 ββ fast-levenshtein@2.0.6 ββ figures@1.7.0 ββ file-entry-cache@2.0.0 ββ flat-cache@1.2.2 ββ fs.realpath@1.0.0 ββ generate-function@2.0.0 ββ generate-object-property@1.2.0 ββ glob@7.1.1 ββ globals@9.17.0 ββ globby@5.0.0 ββ graceful-fs@4.1.11 ββ has-ansi@2.0.0 ββ ignore@3.2.6 ββ imurmurhash@0.1.4 ββ inflight@1.0.6 ββ inherits@2.0.3 ββ inquirer@0.12.0 ββ interpret@1.0.1 ββ is-fullwidth-code-point@1.0.0 ββ is-my-json-valid@2.16.0 ββ is-path-cwd@1.0.0 ββ is-path-in-cwd@1.0.0 ββ is-path-inside@1.0.0 ββ is-property@1.0.2 ββ is-resolvable@1.0.0 ββ isarray@1.0.0 ββ js-tokens@3.0.1 ββ js-yaml@3.8.2 ββ json-stable-stringify@1.0.1 ββ jsonify@0.0.0 ββ jsonpointer@4.0.1 ββ levn@0.3.0 ββ lodash@4.17.4 ββ minimatch@3.0.3 ββ minimist@0.0.8 ββ mkdirp@0.5.1 ββ ms@0.7.2 ββ mute-stream@0.0.5 ββ natural-compare@1.4.0 ββ number-is-nan@1.0.1 ββ object-assign@4.1.1 ββ once@1.4.0 ββ onetime@1.1.0 ββ optionator@0.8.2 ββ os-homedir@1.0.2 ββ path-is-absolute@1.0.1 ββ path-is-inside@1.0.2 ββ path-parse@1.0.5 ββ pify@2.3.0 ββ pinkie-promise@2.0.1 ββ pinkie@2.0.4 ββ pluralize@1.2.1 ββ prelude-ls@1.1.2 ββ process-nextick-args@1.0.7 ββ progress@1.1.8 ββ readable-stream@2.2.6 ββ readline2@1.0.1 ββ rechoir@0.6.2 ββ require-uncached@1.0.3 ββ resolve-from@1.0.1 ββ resolve@1.3.2 ββ restore-cursor@1.0.1 ββ rimraf@2.6.1 ββ run-async@0.1.0 ββ rx-lite@3.1.2 ββ shelljs@0.7.7 ββ slice-ansi@0.0.4 ββ sprintf-js@1.0.3 ββ string_decoder@0.10.31 ββ string-width@1.0.2 ββ strip-ansi@3.0.1 ββ strip-bom@3.0.0 ββ strip-json-comments@2.0.1 ββ supports-color@2.0.0 ββ table@3.8.3 ββ text-table@0.2.0 ββ through@2.3.8 ββ tryit@1.0.3 ββ type-check@0.3.2 ββ typedarray@0.0.6 ββ user-home@2.0.0 ββ util-deprecate@1.0.2 ββ wordwrap@1.0.0 ββ wrappy@1.0.2 ββ write@0.2.1 ββ xtend@4.0.1 β¨ Done in 16.43s. /tmp/test $ npm ls --depth 0 --json. @ /private/tmp/test βββ acorn@4.0.4 βββ acorn-jsx@3.0.1 βββ ajv@4.11.5 βββ ajv-keywords@1.5.1 βββ ansi-escapes@1.4.0 βββ ansi-regex@2.1.1 βββ ansi-styles@2.2.1 βββ argparse@1.0.9 βββ array-union@1.0.2 βββ array-uniq@1.0.3 βββ arrify@1.0.1 βββ babel-code-frame@6.22.0 βββ balanced-match@0.4.2 βββ brace-expansion@1.1.6 βββ buffer-shims@1.0.0 βββ caller-path@0.1.0 βββ callsites@0.2.0 βββ chalk@1.1.3 βββ circular-json@0.3.1 βββ cli-cursor@1.0.2 βββ cli-width@2.1.0 βββ co@4.6.0 βββ code-point-at@1.1.0 βββ concat-map@0.0.1 βββ concat-stream@1.6.0 βββ core-util-is@1.0.2 βββ d@1.0.0 βββ debug@2.6.3 βββ deep-is@0.1.3 βββ del@2.2.2 βββ doctrine@2.0.0 βββ es5-ext@0.10.15 βββ es6-iterator@2.0.1 βββ es6-map@0.1.5 βββ es6-set@0.1.5 βββ es6-symbol@3.1.1 βββ es6-weak-map@2.0.2 βββ escape-string-regexp@1.0.5 βββ escope@3.6.0 βββ eslint@3.18.0 βββ espree@3.4.0 βββ esprima@3.1.3 βββ esquery@1.0.0 βββ esrecurse@4.1.0 βββ estraverse@4.2.0 βββ esutils@2.0.2 βββ event-emitter@0.3.5 βββ exit-hook@1.1.1 βββ fast-levenshtein@2.0.6 βββ figures@1.7.0 βββ file-entry-cache@2.0.0 βββ flat-cache@1.2.2 βββ fs.realpath@1.0.0 βββ generate-function@2.0.0 βββ generate-object-property@1.2.0 βββ glob@7.1.1 βββ globals@9.17.0 βββ globby@5.0.0 βββ graceful-fs@4.1.11 βββ has-ansi@2.0.0 βββ ignore@3.2.6 βββ imurmurhash@0.1.4 βββ inflight@1.0.6 βββ inherits@2.0.3 βββ inquirer@0.12.0 βββ interpret@1.0.1 βββ is-fullwidth-code-point@1.0.0 βββ is-my-json-valid@2.16.0 βββ is-path-cwd@1.0.0 βββ is-path-in-cwd@1.0.0 βββ is-path-inside@1.0.0 βββ is-property@1.0.2 βββ is-resolvable@1.0.0 βββ isarray@1.0.0 βββ js-tokens@3.0.1 βββ js-yaml@3.8.2 βββ json-stable-stringify@1.0.1 βββ jsonify@0.0.0 βββ jsonpointer@4.0.1 βββ levn@0.3.0 βββ lodash@4.17.4 βββ minimatch@3.0.3 βββ minimist@0.0.8 βββ mkdirp@0.5.1 βββ ms@0.7.2 βββ mute-stream@0.0.5 βββ natural-compare@1.4.0 βββ number-is-nan@1.0.1 βββ object-assign@4.1.1 βββ once@1.4.0 βββ onetime@1.1.0 βββ optionator@0.8.2 βββ os-homedir@1.0.2 βββ path-is-absolute@1.0.1 βββ path-is-inside@1.0.2 βββ path-parse@1.0.5 βββ pify@2.3.0 βββ pinkie@2.0.4 βββ pinkie-promise@2.0.1 βββ pluralize@1.2.1 βββ prelude-ls@1.1.2 βββ process-nextick-args@1.0.7 βββ progress@1.1.8 βββ readable-stream@2.2.6 βββ readline2@1.0.1 βββ rechoir@0.6.2 βββ require-uncached@1.0.3 βββ resolve@1.3.2 βββ resolve-from@1.0.1 βββ restore-cursor@1.0.1 βββ rimraf@2.6.1 βββ run-async@0.1.0 βββ rx-lite@3.1.2 βββ shelljs@0.7.7 βββ slice-ansi@0.0.4 βββ sprintf-js@1.0.3 βββ string-width@1.0.2 βββ string_decoder@0.10.31 βββ strip-ansi@3.0.1 βββ strip-bom@3.0.0 βββ strip-json-comments@2.0.1 βββ supports-color@2.0.0 βββ table@3.8.3 βββ text-table@0.2.0 βββ through@2.3.8 βββ tryit@1.0.3 βββ type-check@0.3.2 βββ typedarray@0.0.6 βββ user-home@2.0.0 βββ util-deprecate@1.0.2 βββ wordwrap@1.0.0 βββ wrappy@1.0.2 βββ write@0.2.1 βββ xtend@4.0.1
/tmp/test $
Environment: yarn 0.21.3 macOS Sierra 10.12.3 node: v4.8.0 npm: v2.15.11
You should be able to reproduce this issue with the popular create-react-app tool from Facebook that bootstraps a preconfigured standard React app. I cannot tell if this is an issue related to Visual Studio Code, NPM, or this tool, but from the other comments it seems it pops up elsewhere as well.
dust:test thomas$ npm ls --depth 0 --json.
test@0.1.0 /Users/thomas/Desktop/test
βββ node-pre-gyp@0.6.34 extraneous
βββ react@15.4.2
βββ react-dom@15.4.2
βββ react-scripts@0.9.5
npm ERR! extraneous: node-pre-gyp@0.6.34 /Users/thomas/Desktop/test/node_modules/node-pre-gyp
The steps I used to produce the project
thomas$ create-react-app --version
1.0.4
thomas$ create-react-app test
Creating a new React app in /Users/thomas/Desktop/test.
Installing packages. This might take a couple minutes.
Installing react-scripts...
yarn add v0.21.3
info No lockfile found.
[1/4] π Resolving packages...
[2/4] π Fetching packages...
[3/4] π Linking dependencies...
warning "babel-loader@6.2.10" has unmet peer dependency "babel-core@^6.0.0".
warning "babel-loader@6.2.10" has unmet peer dependency "webpack@1 || 2 || ^2.1.0-beta || ^2.2.0-rc".
warning "eslint-config-react-app@0.6.2" has unmet peer dependency "babel-eslint@^7.0.0".
warning "eslint-config-react-app@0.6.2" has unmet peer dependency "eslint@^3.16.1".
warning "eslint-config-react-app@0.6.2" has unmet peer dependency "eslint-plugin-flowtype@^2.21.0".
warning "eslint-config-react-app@0.6.2" has unmet peer dependency "eslint-plugin-import@^2.0.1".
warning "eslint-config-react-app@0.6.2" has unmet peer dependency "eslint-plugin-jsx-a11y@^2.0.0 || ^3.0.0 || ^4.0.0".
warning "eslint-config-react-app@0.6.2" has unmet peer dependency "eslint-plugin-react@^6.4.1".
warning "eslint-loader@1.6.0" has unmet peer dependency "eslint@>=1.6.0 <4.0.0".
warning "extract-text-webpack-plugin@1.0.1" has unmet peer dependency "webpack@^1.9.11".
warning "eslint-plugin-jsx-a11y@4.0.0" has unmet peer dependency "eslint@^2.10.2 || 3.x".
warning "eslint-plugin-import@2.0.1" has unmet peer dependency "eslint@2.x - 3.x".
warning "eslint-plugin-flowtype@2.21.0" has unmet peer dependency "eslint@>=2.0.0".
warning "eslint-plugin-react@6.4.1" has unmet peer dependency "eslint@^2.0.0 || ^3.0.0".
warning "html-webpack-plugin@2.24.0" has unmet peer dependency "webpack@1 || ^2.1.0-beta".
warning "url-loader@0.5.7" has unmet peer dependency "file-loader@*".
warning "webpack-dev-server@1.16.2" has unmet peer dependency "webpack@>=1.3.0 <3".
warning "webpack-dev-middleware@1.10.1" has unmet peer dependency "webpack@1 || ^2.1.0-beta || ^2.2.0-rc.0".
[4/4] π Building fresh packages...
success Saved lockfile.
success Saved 758 new dependencies.
ββ abab@1.0.3
ββ abbrev@1.1.0
ββ accepts@1.3.3
ββ acorn-globals@3.1.0
ββ acorn-jsx@3.0.1
ββ acorn@4.0.4
ββ ajv-keywords@1.5.1
ββ ajv@4.11.5
ββ align-text@0.1.4
ββ alphanum-sort@1.0.2
ββ amdefine@1.0.1
ββ ansi-escapes@1.4.0
ββ ansi-html@0.0.5
ββ ansi-regex@2.1.1
ββ ansi-styles@2.2.1
ββ ansicolors@0.2.1
ββ anymatch@1.3.0
ββ append-transform@0.4.0
ββ aproba@1.1.1
ββ are-we-there-yet@1.1.2
ββ argparse@1.0.9
ββ aria-query@0.3.0
ββ arr-diff@2.0.0
ββ arr-flatten@1.0.1
ββ array-equal@1.0.0
ββ array-flatten@1.1.1
ββ array-union@1.0.2
ββ array-uniq@1.0.3
ββ array-unique@0.2.1
ββ arrify@1.0.1
ββ asap@2.0.5
ββ asn1@0.2.3
ββ assert-plus@1.0.0
ββ assert@1.4.1
ββ ast-types-flow@0.0.7
ββ async-each@1.0.1
ββ async@1.5.2
ββ asynckit@0.4.0
ββ autoprefixer@6.7.2
ββ aws-sign2@0.6.0
ββ aws4@1.6.0
ββ babel-code-frame@6.22.0
ββ babel-core@6.22.1
ββ babel-eslint@7.1.1
ββ babel-generator@6.24.0
ββ babel-helper-builder-binary-assignment-operator-visitor@6.22.0
ββ babel-helper-builder-react-jsx@6.23.0
ββ babel-helper-call-delegate@6.22.0
ββ babel-helper-define-map@6.23.0
ββ babel-helper-explode-assignable-expression@6.22.0
ββ babel-helper-function-name@6.23.0
ββ babel-helper-get-function-arity@6.22.0
ββ babel-helper-hoist-variables@6.22.0
ββ babel-helper-optimise-call-expression@6.23.0
ββ babel-helper-regex@6.22.0
ββ babel-helper-remap-async-to-generator@6.22.0
ββ babel-helper-replace-supers@6.23.0
ββ babel-helpers@6.23.0
ββ babel-jest@18.0.0
ββ babel-loader@6.2.10
ββ babel-messages@6.23.0
ββ babel-plugin-check-es2015-constants@6.22.0
ββ babel-plugin-istanbul@3.1.2
ββ babel-plugin-jest-hoist@18.0.0
ββ babel-plugin-syntax-async-functions@6.13.0
ββ babel-plugin-syntax-class-properties@6.13.0
ββ babel-plugin-syntax-exponentiation-operator@6.13.0
ββ babel-plugin-syntax-flow@6.18.0
ββ babel-plugin-syntax-jsx@6.18.0
ββ babel-plugin-syntax-object-rest-spread@6.13.0
ββ babel-plugin-syntax-trailing-function-commas@6.22.0
ββ babel-plugin-transform-async-to-generator@6.22.0
ββ babel-plugin-transform-class-properties@6.22.0
ββ babel-plugin-transform-es2015-arrow-functions@6.22.0
ββ babel-plugin-transform-es2015-block-scoped-functions@6.22.0
ββ babel-plugin-transform-es2015-block-scoping@6.23.0
ββ babel-plugin-transform-es2015-classes@6.23.0
ββ babel-plugin-transform-es2015-computed-properties@6.22.0
ββ babel-plugin-transform-es2015-destructuring@6.23.0
ββ babel-plugin-transform-es2015-duplicate-keys@6.22.0
ββ babel-plugin-transform-es2015-for-of@6.23.0
ββ babel-plugin-transform-es2015-function-name@6.22.0
ββ babel-plugin-transform-es2015-literals@6.22.0
ββ babel-plugin-transform-es2015-modules-amd@6.24.0
ββ babel-plugin-transform-es2015-modules-commonjs@6.24.0
ββ babel-plugin-transform-es2015-modules-systemjs@6.23.0
ββ babel-plugin-transform-es2015-modules-umd@6.24.0
ββ babel-plugin-transform-es2015-object-super@6.22.0
ββ babel-plugin-transform-es2015-parameters@6.23.0
ββ babel-plugin-transform-es2015-shorthand-properties@6.22.0
ββ babel-plugin-transform-es2015-spread@6.22.0
ββ babel-plugin-transform-es2015-sticky-regex@6.22.0
ββ babel-plugin-transform-es2015-template-literals@6.22.0
ββ babel-plugin-transform-es2015-typeof-symbol@6.23.0
ββ babel-plugin-transform-es2015-unicode-regex@6.22.0
ββ babel-plugin-transform-exponentiation-operator@6.22.0
ββ babel-plugin-transform-flow-strip-types@6.22.0
ββ babel-plugin-transform-object-rest-spread@6.22.0
ββ babel-plugin-transform-react-constant-elements@6.22.0
ββ babel-plugin-transform-react-display-name@6.23.0
ββ babel-plugin-transform-react-jsx-self@6.22.0
ββ babel-plugin-transform-react-jsx-source@6.22.0
ββ babel-plugin-transform-react-jsx@6.22.0
ββ babel-plugin-transform-regenerator@6.22.0
ββ babel-plugin-transform-runtime@6.22.0
ββ babel-plugin-transform-strict-mode@6.22.0
ββ babel-preset-env@1.2.1
ββ babel-preset-jest@18.0.0
ββ babel-preset-react-app@2.2.0
ββ babel-preset-react@6.22.0
ββ babel-register@6.24.0
ββ babel-runtime@6.23.0
ββ babel-template@6.23.0
ββ babel-traverse@6.23.1
ββ babel-types@6.23.0
ββ babylon@6.16.1
ββ balanced-match@0.4.2
ββ base64-js@1.2.0
ββ batch@0.5.3
ββ bcrypt-pbkdf@1.0.1
ββ big.js@3.1.3
ββ binary-extensions@1.8.0
ββ block-stream@0.0.9
ββ bluebird@3.5.0
ββ boolbase@1.0.0
ββ boom@2.10.1
ββ brace-expansion@1.1.6
ββ braces@1.8.5
ββ browser-resolve@1.11.2
ββ browserify-aes@0.4.0
ββ browserify-zlib@0.1.4
ββ browserslist@1.7.7
ββ bser@1.0.2
ββ buffer-shims@1.0.0
ββ buffer@4.9.1
ββ builtin-modules@1.1.1
ββ builtin-status-codes@3.0.0
ββ bytes@2.3.0
ββ caller-path@0.1.0
ββ callsites@2.0.0
ββ camel-case@3.0.0
ββ camelcase@3.0.0
ββ caniuse-api@1.5.3
ββ caniuse-db@1.0.30000646
ββ cardinal@1.0.0
ββ case-sensitive-paths-webpack-plugin@1.1.4
ββ caseless@0.12.0
ββ center-align@0.1.3
ββ chalk@1.1.3
ββ chokidar@1.6.1
ββ ci-info@1.0.0
ββ circular-json@0.3.1
ββ clap@1.1.3
ββ clean-css@4.0.10
ββ cli-cursor@1.0.2
ββ cli-table@0.3.1
ββ cli-usage@0.1.4
ββ cli-width@2.1.0
ββ cliui@2.1.0
ββ clone@1.0.2
ββ co@4.6.0
ββ coa@1.0.1
ββ code-point-at@1.1.0
ββ color-convert@1.9.0
ββ color-name@1.1.2
ββ color-string@0.3.0
ββ color@0.11.4
ββ colormin@1.1.2
ββ colors@1.1.2
ββ combined-stream@1.0.5
ββ commander@2.9.0
ββ commondir@1.0.1
ββ compressible@2.0.10
ββ compression@1.6.2
ββ concat-map@0.0.1
ββ concat-stream@1.6.0
ββ connect-history-api-fallback@1.3.0
ββ console-browserify@1.1.0
ββ console-control-strings@1.1.0
ββ constants-browserify@1.0.0
ββ contains-path@0.1.0
ββ content-disposition@0.5.2
ββ content-type-parser@1.0.1
ββ content-type@1.0.2
ββ convert-source-map@1.5.0
ββ cookie-signature@1.0.6
ββ cookie@0.3.1
ββ core-js@2.4.1
ββ core-util-is@1.0.2
ββ cosmiconfig@2.1.1
ββ cross-spawn@4.0.2
ββ cryptiles@2.0.5
ββ crypto-browserify@3.3.0
ββ css-color-names@0.0.4
ββ css-loader@0.26.1
ββ css-select@1.2.0
ββ css-selector-tokenizer@0.6.0
ββ css-what@2.1.0
ββ cssesc@0.1.0
ββ cssnano@3.10.0
ββ csso@2.3.2
ββ cssom@0.3.2
ββ cssstyle@0.2.37
ββ d@1.0.0
ββ damerau-levenshtein@1.0.4
ββ dashdash@1.14.1
ββ date-now@0.1.4
ββ debug@2.6.3
ββ decamelize@1.2.0
ββ deep-extend@0.4.1
ββ deep-is@0.1.3
ββ default-require-extensions@1.0.0
ββ defined@1.0.0
ββ del@2.2.2
ββ delayed-stream@1.0.0
ββ delegates@1.0.0
ββ depd@1.1.0
ββ destroy@1.0.4
ββ detect-indent@4.0.0
ββ detect-port@1.1.0
ββ diff@3.2.0
ββ doctrine@1.3.0
ββ dom-converter@0.1.4
ββ dom-serializer@0.1.0
ββ domain-browser@1.1.7
ββ domelementtype@1.3.0
ββ domhandler@2.1.0
ββ domutils@1.1.6
ββ dotenv@2.0.0
ββ duplexer@0.1.1
ββ ecc-jsbn@0.1.1
ββ ee-first@1.1.1
ββ electron-to-chromium@1.3.2
ββ emoji-regex@6.4.1
ββ emojis-list@2.1.0
ββ encodeurl@1.0.1
ββ enhanced-resolve@0.9.1
ββ entities@1.1.1
ββ errno@0.1.4
ββ error-ex@1.3.1
ββ es5-ext@0.10.15
ββ es6-iterator@2.0.1
ββ es6-map@0.1.5
ββ es6-set@0.1.5
ββ es6-symbol@3.1.1
ββ es6-weak-map@2.0.2
ββ escape-html@1.0.3
ββ escape-string-regexp@1.0.5
ββ escodegen@1.8.1
ββ escope@3.6.0
ββ eslint-config-react-app@0.6.2
ββ eslint-import-resolver-node@0.2.3
ββ eslint-loader@1.6.0
ββ eslint-module-utils@1.0.0
ββ eslint-plugin-flowtype@2.21.0
ββ eslint-plugin-import@2.0.1
ββ eslint-plugin-jsx-a11y@4.0.0
ββ eslint-plugin-react@6.4.1
ββ eslint@3.16.1
ββ espree@3.4.0
ββ esprima@2.7.3
ββ esrecurse@4.1.0
ββ estraverse@4.2.0
ββ esutils@2.0.2
ββ etag@1.8.0
ββ event-emitter@0.3.5
ββ eventemitter3@1.2.0
ββ events@1.1.1
ββ eventsource@0.1.6
ββ exec-sh@0.2.0
ββ exit-hook@1.1.1
ββ expand-brackets@0.1.5
ββ expand-range@1.8.2
ββ express@4.15.2
ββ extend@3.0.0
ββ extglob@0.3.2
ββ extract-text-webpack-plugin@1.0.1
ββ extsprintf@1.0.2
ββ fast-levenshtein@2.0.6
ββ fastparse@1.1.1
ββ faye-websocket@0.10.0
ββ fb-watchman@1.9.2
ββ figures@1.7.0
ββ file-entry-cache@2.0.0
ββ file-loader@0.10.0
ββ filename-regex@2.0.0
ββ fileset@2.0.3
ββ filesize@3.3.0
ββ fill-range@2.2.3
ββ finalhandler@1.0.1
ββ find-cache-dir@0.1.1
ββ find-up@1.1.2
ββ flat-cache@1.2.2
ββ flatten@1.0.2
ββ for-in@1.0.2
ββ for-own@0.1.5
ββ forever-agent@0.6.1
ββ form-data@2.1.2
ββ forwarded@0.1.0
ββ fresh@0.5.0
ββ fs-extra@0.30.0
ββ fs.realpath@1.0.0
ββ fsevents@1.0.17
ββ fstream-ignore@1.0.5
ββ fstream@1.0.11
ββ function-bind@1.1.0
ββ gauge@2.7.3
ββ generate-function@2.0.0
ββ generate-object-property@1.2.0
ββ get-caller-file@1.0.2
ββ getpass@0.1.6
ββ glob-base@0.3.0
ββ glob-parent@2.0.0
ββ glob@7.1.1
ββ globals@9.17.0
ββ globby@5.0.0
ββ graceful-fs@4.1.11
ββ graceful-readlink@1.0.1
ββ growly@1.3.0
ββ gzip-size@3.0.0
ββ handlebars@4.0.6
ββ har-schema@1.0.5
ββ har-validator@4.2.1
ββ has-ansi@2.0.0
ββ has-flag@1.0.0
ββ has-unicode@2.0.1
ββ has@1.0.1
ββ hawk@3.1.3
ββ he@1.1.1
ββ hoek@2.16.3
ββ home-or-tmp@2.0.0
ββ hosted-git-info@2.4.1
ββ html-comment-regex@1.1.1
ββ html-encoding-sniffer@1.0.1
ββ html-entities@1.2.0
ββ html-minifier@3.4.2
ββ html-webpack-plugin@2.24.0
ββ htmlparser2@3.3.0
ββ http-errors@1.5.1
ββ http-proxy-middleware@0.17.3
ββ http-proxy@1.16.2
ββ http-signature@1.1.1
ββ https-browserify@0.0.1
ββ iconv-lite@0.4.13
ββ icss-replace-symbols@1.0.2
ββ ieee754@1.1.8
ββ ignore@3.2.6
ββ imurmurhash@0.1.4
ββ indexes-of@1.0.1
ββ indexof@0.0.1
ββ inflight@1.0.6
ββ inherits@2.0.3
ββ ini@1.3.4
ββ inquirer@0.12.0
ββ interpret@0.6.6
ββ invariant@2.2.2
ββ invert-kv@1.0.0
ββ ipaddr.js@1.3.0
ββ is-absolute-url@2.1.0
ββ is-arrayish@0.2.1
ββ is-binary-path@1.0.1
ββ is-buffer@1.1.5
ββ is-builtin-module@1.0.0
ββ is-ci@1.0.10
ββ is-dotfile@1.0.2
ββ is-equal-shallow@0.1.3
ββ is-extendable@0.1.1
ββ is-extglob@1.0.0
ββ is-finite@1.0.2
ββ is-fullwidth-code-point@1.0.0
ββ is-glob@2.0.1
ββ is-my-json-valid@2.16.0
ββ is-number@2.1.0
ββ is-path-cwd@1.0.0
ββ is-path-in-cwd@1.0.0
ββ is-path-inside@1.0.0
ββ is-plain-obj@1.1.0
ββ is-posix-bracket@0.1.1
ββ is-primitive@2.0.0
ββ is-property@1.0.2
ββ is-resolvable@1.0.0
ββ is-svg@2.1.0
ββ is-typedarray@1.0.0
ββ is-utf8@0.2.1
ββ isarray@1.0.0
ββ isexe@2.0.0
ββ isobject@2.1.0
ββ isstream@0.1.2
ββ istanbul-api@1.1.7
ββ istanbul-lib-coverage@1.0.2
ββ istanbul-lib-hook@1.0.5
ββ istanbul-lib-instrument@1.7.0
ββ istanbul-lib-report@1.0.0
ββ istanbul-lib-source-maps@1.1.1
ββ istanbul-reports@1.0.2
ββ jest-changed-files@17.0.2
ββ jest-cli@18.1.0
ββ jest-config@18.1.0
ββ jest-diff@18.1.0
ββ jest-environment-jsdom@18.1.0
ββ jest-environment-node@18.1.0
ββ jest-file-exists@17.0.0
ββ jest-haste-map@18.1.0
ββ jest-jasmine2@18.1.0
ββ jest-matcher-utils@18.1.0
ββ jest-matchers@18.1.0
ββ jest-mock@18.0.0
ββ jest-resolve-dependencies@18.1.0
ββ jest-resolve@18.1.0
ββ jest-runtime@18.1.0
ββ jest-snapshot@18.1.0
ββ jest-util@18.1.0
ββ jest@18.1.0
ββ jodid25519@1.0.2
ββ js-base64@2.1.9
ββ js-tokens@3.0.1
ββ js-yaml@3.8.2
ββ jsbn@0.1.1
ββ jsdom@9.12.0
ββ jsesc@1.3.0
ββ json-loader@0.5.4
ββ json-schema@0.2.3
ββ json-stable-stringify@1.0.1
ββ json-stringify-safe@5.0.1
ββ json3@3.3.2
ββ json5@0.5.1
ββ jsonfile@2.4.0
ββ jsonify@0.0.0
ββ jsonpointer@4.0.1
ββ jsprim@1.4.0
ββ jsx-ast-utils@1.4.0
ββ kind-of@3.1.0
ββ klaw@1.3.1
ββ lazy-cache@1.0.4
ββ lcid@1.0.0
ββ levn@0.3.0
ββ load-json-file@1.1.0
ββ loader-utils@0.2.17
ββ lodash._arraycopy@3.0.0
ββ lodash._arrayeach@3.0.0
ββ lodash._baseassign@3.2.0
ββ lodash._baseclone@3.3.0
ββ lodash._basecopy@3.0.1
ββ lodash._basefor@3.0.3
ββ lodash._bindcallback@3.0.1
ββ lodash._getnative@3.9.1
ββ lodash.assign@4.2.0
ββ lodash.camelcase@4.3.0
ββ lodash.clonedeep@3.0.2
ββ lodash.cond@4.5.2
ββ lodash.isarguments@3.1.0
ββ lodash.isarray@3.0.4
ββ lodash.keys@3.1.2
ββ lodash.memoize@4.1.2
ββ lodash.pickby@4.6.0
ββ lodash.uniq@4.5.0
ββ lodash@4.17.4
ββ longest@1.0.1
ββ loose-envify@1.3.1
ββ lower-case@1.1.4
ββ lru-cache@4.0.2
ββ macaddress@0.2.8
ββ makeerror@1.0.11
ββ marked-terminal@1.7.0
ββ marked@0.3.6
ββ math-expression-evaluator@1.2.16
ββ media-typer@0.3.0
ββ memory-fs@0.3.0
ββ merge-descriptors@1.0.1
ββ merge@1.2.0
ββ methods@1.1.2
ββ micromatch@2.3.11
ββ mime-db@1.27.0
ββ mime-types@2.1.15
ββ mime@1.3.4
ββ minimatch@3.0.3
ββ minimist@1.2.0
ββ mkdirp@0.5.1
ββ ms@0.7.2
ββ mute-stream@0.0.5
ββ nan@2.5.1
ββ natural-compare@1.4.0
ββ ncname@1.0.0
ββ negotiator@0.6.1
ββ no-case@2.3.1
ββ node-emoji@1.5.1
ββ node-int64@0.4.0
ββ node-libs-browser@0.7.0
ββ node-notifier@4.6.1
ββ node-pre-gyp@0.6.34
ββ nopt@4.0.1
ββ normalize-package-data@2.3.6
ββ normalize-path@2.0.1
ββ normalize-range@0.1.2
ββ normalize-url@1.9.1
ββ npmlog@4.0.2
ββ nth-check@1.0.1
ββ num2fraction@1.2.2
ββ number-is-nan@1.0.1
ββ nwmatcher@1.3.9
ββ oauth-sign@0.8.2
ββ object-assign@4.1.1
ββ object.omit@2.0.1
ββ on-finished@2.3.0
ββ on-headers@1.0.1
ββ once@1.4.0
ββ onetime@1.1.0
ββ open@0.0.5
ββ opn@4.0.2
ββ optimist@0.6.1
ββ optionator@0.8.2
ββ original@1.0.0
ββ os-browserify@0.2.1
ββ os-homedir@1.0.2
ββ os-locale@1.4.0
ββ os-tmpdir@1.0.2
ββ osenv@0.1.4
ββ pako@0.2.9
ββ param-case@2.1.1
ββ parse-glob@3.0.4
ββ parse-json@2.2.0
ββ parse5@1.5.1
ββ parseurl@1.3.1
ββ path-browserify@0.0.0
ββ path-exists@2.1.0
ββ path-is-absolute@1.0.1
ββ path-is-inside@1.0.2
ββ path-parse@1.0.5
ββ path-to-regexp@0.1.7
ββ path-type@1.1.0
ββ pbkdf2-compat@2.0.1
ββ performance-now@0.2.0
ββ pify@2.3.0
ββ pinkie-promise@2.0.1
ββ pinkie@2.0.4
ββ pkg-dir@1.0.0
ββ pkg-up@1.0.0
ββ pluralize@1.2.1
ββ postcss-calc@5.3.1
ββ postcss-colormin@2.2.2
ββ postcss-convert-values@2.6.1
ββ postcss-discard-comments@2.0.4
ββ postcss-discard-duplicates@2.1.0
ββ postcss-discard-empty@2.1.0
ββ postcss-discard-overridden@0.1.1
ββ postcss-discard-unused@2.2.3
ββ postcss-filter-plugins@2.0.2
ββ postcss-load-config@1.2.0
ββ postcss-load-options@1.2.0
ββ postcss-load-plugins@2.3.0
ββ postcss-loader@1.2.2
ββ postcss-merge-idents@2.1.7
ββ postcss-merge-longhand@2.0.2
ββ postcss-merge-rules@2.1.2
ββ postcss-message-helpers@2.0.0
ββ postcss-minify-font-values@1.0.5
ββ postcss-minify-gradients@1.0.5
ββ postcss-minify-params@1.2.2
ββ postcss-minify-selectors@2.1.1
ββ postcss-modules-extract-imports@1.0.1
ββ postcss-modules-local-by-default@1.1.1
ββ postcss-modules-scope@1.0.2
ββ postcss-modules-values@1.2.2
ββ postcss-normalize-charset@1.1.1
ββ postcss-normalize-url@3.0.8
ββ postcss-ordered-values@2.2.3
ββ postcss-reduce-idents@2.4.0
ββ postcss-reduce-initial@1.0.1
ββ postcss-reduce-transforms@1.0.4
ββ postcss-selector-parser@2.2.3
ββ postcss-svgo@2.1.6
ββ postcss-unique-selectors@2.0.2
ββ postcss-value-parser@3.3.0
ββ postcss-zindex@2.2.0
ββ postcss@5.2.16
ββ prelude-ls@1.1.2
ββ prepend-http@1.0.4
ββ preserve@0.2.0
ββ pretty-error@2.0.3
ββ pretty-format@18.1.0
ββ private@0.1.7
ββ process-nextick-args@1.0.7
ββ process@0.11.9
ββ progress@1.1.8
ββ promise@7.1.1
ββ proxy-addr@1.1.4
ββ prr@0.0.0
ββ pseudomap@1.0.2
ββ punycode@1.4.1
ββ q@1.5.0
ββ qs@6.4.0
ββ query-string@4.3.2
ββ querystring-es3@0.2.1
ββ querystring@0.2.0
ββ querystringify@0.0.4
ββ randomatic@1.1.6
ββ range-parser@1.2.0
ββ rc@1.1.7
ββ react-dev-utils@0.5.2
ββ react-scripts@0.9.5
ββ read-pkg-up@1.0.1
ββ read-pkg@1.1.0
ββ readable-stream@2.2.6
ββ readdirp@2.1.0
ββ readline2@1.0.1
ββ rechoir@0.6.2
ββ recursive-readdir@2.1.1
ββ redeyed@1.0.1
ββ reduce-css-calc@1.3.0
ββ reduce-function-call@1.0.2
ββ regenerate@1.3.2
ββ regenerator-runtime@0.10.3
ββ regenerator-transform@0.9.8
ββ regex-cache@0.4.3
ββ regexpu-core@1.0.0
ββ regjsgen@0.2.0
ββ regjsparser@0.1.5
ββ relateurl@0.2.7
ββ renderkid@2.0.1
ββ repeat-element@1.1.2
ββ repeat-string@1.6.1
ββ repeating@2.0.1
ββ request@2.81.0
ββ require-directory@2.1.1
ββ require-from-string@1.2.1
ββ require-main-filename@1.0.1
ββ require-uncached@1.0.3
ββ requires-port@1.0.0
ββ resolve-from@1.0.1
ββ resolve@1.3.2
ββ restore-cursor@1.0.1
ββ right-align@0.1.3
ββ rimraf@2.6.1
ββ ripemd160@0.2.0
ββ run-async@0.1.0
ββ rx-lite@3.1.2
ββ safe-buffer@5.0.1
ββ sane@1.4.1
ββ sax@1.2.2
ββ semver@5.3.0
ββ send@0.15.1
ββ serve-index@1.8.0
ββ serve-static@1.12.1
ββ set-blocking@2.0.0
ββ set-immediate-shim@1.0.1
ββ setimmediate@1.0.5
ββ setprototypeof@1.0.3
ββ sha.js@2.2.6
ββ shelljs@0.7.7
ββ shellwords@0.1.0
ββ signal-exit@3.0.2
ββ slash@1.0.0
ββ slice-ansi@0.0.4
ββ sntp@1.0.9
ββ sockjs-client@1.0.1
ββ sockjs@0.3.18
ββ sort-keys@1.1.2
ββ source-list-map@0.1.8
ββ source-map-support@0.4.14
ββ source-map@0.5.6
ββ spdx-correct@1.0.2
ββ spdx-expression-parse@1.0.4
ββ spdx-license-ids@1.2.2
ββ sprintf-js@1.0.3
ββ sshpk@1.11.0
ββ statuses@1.3.1
ββ stream-browserify@2.0.1
ββ stream-cache@0.0.2
ββ stream-http@2.6.3
ββ strict-uri-encode@1.1.0
ββ string_decoder@0.10.31
ββ string-width@1.0.2
ββ string.prototype.codepointat@0.2.0
ββ stringstream@0.0.5
ββ strip-ansi@3.0.1
ββ strip-bom@2.0.0
ββ strip-json-comments@2.0.1
ββ style-loader@0.13.1
ββ supports-color@3.2.3
ββ svgo@0.7.2
ββ symbol-tree@3.2.2
ββ table@3.8.3
ββ tapable@0.1.10
ββ tar-pack@3.4.0
ββ tar@2.2.1
ββ test-exclude@3.3.0
ββ text-table@0.2.0
ββ throat@3.0.0
ββ through@2.3.8
ββ timers-browserify@2.0.2
ββ tmpl@1.0.4
ββ to-arraybuffer@1.0.1
ββ to-fast-properties@1.0.2
ββ toposort@1.0.3
ββ tough-cookie@2.3.2
ββ tr46@0.0.3
ββ trim-right@1.0.1
ββ tryit@1.0.3
ββ tty-browserify@0.0.0
ββ tunnel-agent@0.6.0
ββ tweetnacl@0.14.5
ββ type-check@0.3.2
ββ type-is@1.6.14
ββ typedarray@0.0.6
ββ uglify-js@2.8.18
ββ uglify-to-browserify@1.0.2
ββ uid-number@0.0.6
ββ uniq@1.0.1
ββ uniqid@4.1.1
ββ uniqs@2.0.0
ββ unpipe@1.0.0
ββ upper-case@1.1.3
ββ url-loader@0.5.7
ββ url-parse@1.1.8
ββ url@0.11.0
ββ user-home@2.0.0
ββ util-deprecate@1.0.2
ββ util@0.10.3
ββ utila@0.3.3
ββ utils-merge@1.0.0
ββ uuid@2.0.3
ββ validate-npm-package-license@3.0.1
ββ vary@1.1.1
ββ vendors@1.0.1
ββ verror@1.3.6
ββ vm-browserify@0.0.4
ββ walker@1.0.7
ββ watch@0.10.0
ββ watchpack@0.2.9
ββ webidl-conversions@4.0.1
ββ webpack-core@0.6.9
ββ webpack-dev-middleware@1.10.1
ββ webpack-dev-server@1.16.2
ββ webpack-manifest-plugin@1.1.0
ββ webpack-sources@0.1.5
ββ webpack@1.14.0
ββ websocket-driver@0.6.5
ββ websocket-extensions@0.1.1
ββ whatwg-encoding@1.0.1
ββ whatwg-fetch@2.0.2
ββ whatwg-url@4.6.0
ββ whet.extend@0.9.9
ββ which-module@1.0.0
ββ which@1.2.14
ββ wide-align@1.1.0
ββ window-size@0.1.0
ββ wordwrap@0.0.2
ββ worker-farm@1.3.1
ββ wrap-ansi@2.1.0
ββ wrappy@1.0.2
ββ write@0.2.1
ββ xml-char-classes@1.0.0
ββ xml-name-validator@2.0.1
ββ xtend@4.0.1
ββ y18n@3.2.1
ββ yallist@2.1.2
ββ yargs-parser@4.2.1
ββ yargs@3.10.0
β¨ Done in 13.11s.
Installing react and react-dom using yarnpkg...
yarn add v0.21.3
[1/4] π Resolving packages...
[2/4] π Fetching packages...
[3/4] π Linking dependencies...
warning "react-dom@15.4.2" has unmet peer dependency "react@^15.4.2".
[4/4] π Building fresh packages...
success Saved lockfile.
success Saved 13 new dependencies.
ββ encoding@0.1.12
ββ fbjs@0.8.11
ββ iconv-lite@0.4.13
ββ is-stream@1.1.0
ββ isomorphic-fetch@2.2.1
ββ loose-envify@1.3.1
ββ node-fetch@1.6.3
ββ promise@7.1.1
ββ react-dom@15.4.2
ββ react@15.4.2
ββ setimmediate@1.0.5
ββ ua-parser-js@0.7.12
ββ whatwg-fetch@2.0.2
β¨ Done in 5.92s.
Success! Created test at /Users/thomas/Desktop/test
Inside that directory, you can run several commands:
yarn start
Starts the development server.
yarn run build
Bundles the app into static files for production.
yarn test
Starts the test runner.
yarn run eject
Removes this tool and copies build dependencies, configuration files
and scripts into the app directory. If you do this, you canβt go back!
We suggest that you begin by typing:
cd test
yarn start
Happy hacking!
@ttraenkler thanks for the additional info.
It shows that the warning shown by the extension is consistent with the analysis from npm --ls
.
dust:test thomas$ npm ls --depth 0 --json.
npm ERR! extraneous: node-pre-gyp@0.6.34 /Users/thomas/Desktop/test/node_modules/node-pre-gyp
Not clear yet why npm ls
reports this module as extraneous. I'll look into this further.
All I can offer for now is to disable warnings all together using the setting npm.validate.enable
and to set it to false.
Thanks
@egamma Thanks for tracking this down to npm. Was surprised to see the author of a book on my shelf answer npm questions π. I really like Visual Studio Code and its smooth out of the box experience. The only thing I am really missing from Webstorm is a visual GIT merge tool (https://github.com/Microsoft/vscode/issues/5770).
I can reproduce the issue when using yarn instead of npm to install the modules. It doesn't make sense to use npm ls
to validate an installation that is done using yarn.
Therefore I'm thinking to disable the checking when an install is done using yarn. The fact that yarn is used for installation can be detected by the existance of the yarn.lock file.
Alright, thanks - at least this way no more false errors are clogging the problem log. (Of course it would be nice to have some checking for package.json but there may be more pressing issues.)
Therefore I'm thinking to disable the checking when an install is done using yarn
Alternatively, to keep the functionality, you could use yarn list
when you detect yarn was used.
Therefore I'm thinking to disable the checking when an install is done using yarn. The fact that yarn is used for installation can be detected by the existance of the yarn.lock file.
cnpm has this issue, too. But it doesn't have a file like yarn.lock.
@tyrsius
Alternatively, to keep the functionality, you could use yarn list when you detect yarn was used.
I've looked into this but yarn list
doesn't do any checking of the installed modules, it only lists the information from the meta data in package.json/yarn.lock file.
@banyudu
cnpm has this issue, too. But it doesn't have a file like yarn.lock.
Thinking about this some more this extension should support that the user can configure which node package manager they want to use.
Another option is check dependencies in modules: If some module looks like 'extraneous', check whether it is a dependency of another module which is listed in package.json.
But that may be a bit complex.
@banyudu I don't think the extension should try to mimic the package resolution from yarn or cnpm to detect extraneous modules. In particular for yarn extraneous modules are typically not a problem since yarn add/remove also updates the package.json. So this source of error is gone.
@egamma I agree with you.
Published as 0.1.9
From @tyrsius on March 1, 2017 23:19
Steps to Reproduce:
package.json
filenpm install
dependencies
These packages are not dependencies of the package, and this error should not show.
Copied from original issue: Microsoft/vscode#21666