Skip to content

Instantly share code, notes, and snippets.

@shinout
Last active July 20, 2016 06:30
Show Gist options
  • Save shinout/db19b045087307d9901008721c91a35f to your computer and use it in GitHub Desktop.
Save shinout/db19b045087307d9901008721c91a35f to your computer and use it in GitHub Desktop.
npm-v3-shrinkwrap-bug Raw

状況

  • using npm v3.10.3
  • このパッケージはdependenciesを持たない
  • このパッケージはdevDependenciesとしてreapp-uiを持つ

npm shrinkwrapで期待される結果

npm-shrinkwrap.json は依存モジュール情報を持たない

実際の結果

npm shrinkwrap.jsonはいくつか依存モジュールを持ってしまっている

situation

  • using npm v3.10.3
  • this package has no dependencies
  • this package has dev-dependent on reapp-ui

expected result

npm-shrinkwrap.json contains no dependent modules.

actual result

npm shrinkwrap.json has some modules as dependencies.

[email protected] /Users/shinout/tmp/shrinkwrap-sample
└─┬ [email protected]
├── [email protected]
├─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └── [email protected]
├── [email protected]
├── [email protected]
├─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └── [email protected]
├── [email protected]
├─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ └─┬ [email protected]
│ └─┬ [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ └─┬ [email protected]
│ │ ├── [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ └── [email protected]
├─┬ [email protected]
│ ├─┬ [email protected]
│ │ ├─┬ [email protected]
│ │ │ ├── [email protected]
│ │ │ ├─┬ [email protected]
│ │ │ │ ├─┬ [email protected]
│ │ │ │ │ └── [email protected]
│ │ │ │ ├─┬ [email protected]
│ │ │ │ │ ├── [email protected]
│ │ │ │ │ └── [email protected]
│ │ │ │ ├── [email protected]
│ │ │ │ ├── [email protected]
│ │ │ │ ├── [email protected]
│ │ │ │ ├─┬ [email protected]
│ │ │ │ │ └── [email protected]
│ │ │ │ ├── [email protected]
│ │ │ │ ├── [email protected]
│ │ │ │ └─┬ [email protected]
│ │ │ │ ├── [email protected]
│ │ │ │ ├── [email protected]
│ │ │ │ └── [email protected]
│ │ │ ├── [email protected]
│ │ │ ├── [email protected]
│ │ │ └─┬ [email protected]
│ │ │ └── [email protected]
│ │ └── [email protected]
│ └─┬ [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ └── [email protected]
├─┬ [email protected]
│ └── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]
{
"name": "sample",
"version": "1.0.0",
"dependencies": {
"acorn": {
"version": "1.2.2",
"from": "acorn@>=1.0.3 <2.0.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz"
},
"amdefine": {
"version": "1.0.0",
"from": "amdefine@>=0.0.4",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz"
},
"array-find": {
"version": "1.0.0",
"from": "array-find@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz"
},
"asap": {
"version": "2.0.4",
"from": "asap@>=2.0.3 <2.1.0",
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.4.tgz"
},
"ast-types": {
"version": "0.8.15",
"from": "[email protected]",
"resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.15.tgz"
},
"balanced-match": {
"version": "0.4.2",
"from": "balanced-match@>=0.4.1 <0.5.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz"
},
"base62": {
"version": "1.1.1",
"from": "base62@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/base62/-/base62-1.1.1.tgz"
},
"bowser": {
"version": "1.4.1",
"from": "bowser@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/bowser/-/bowser-1.4.1.tgz"
},
"brace-expansion": {
"version": "1.1.5",
"from": "brace-expansion@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz"
},
"classnames": {
"version": "2.2.5",
"from": "classnames@>=2.2.3 <3.0.0",
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz"
},
"commander": {
"version": "2.9.0",
"from": "commander@>=2.5.0 <3.0.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz"
},
"commoner": {
"version": "0.10.4",
"from": "commoner@>=0.10.1 <0.11.0",
"resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.4.tgz",
"dependencies": {
"glob": {
"version": "5.0.15",
"from": "glob@>=5.0.15 <6.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz"
}
}
},
"concat-map": {
"version": "0.0.1",
"from": "[email protected]",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
},
"core-js": {
"version": "1.2.7",
"from": "core-js@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz"
},
"css-to-matrix": {
"version": "1.0.0",
"from": "css-to-matrix@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/css-to-matrix/-/css-to-matrix-1.0.0.tgz"
},
"defined": {
"version": "1.0.0",
"from": "defined@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz"
},
"detective": {
"version": "4.3.1",
"from": "detective@>=4.3.1 <5.0.0",
"resolved": "https://registry.npmjs.org/detective/-/detective-4.3.1.tgz"
},
"ease-component": {
"version": "1.0.0",
"from": "ease-component@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/ease-component/-/ease-component-1.0.0.tgz"
},
"envify": {
"version": "3.4.1",
"from": "envify@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/envify/-/envify-3.4.1.tgz"
},
"esprima-fb": {
"version": "15001.1.0-dev-harmony-fb",
"from": "esprima-fb@>=15001.1.0-dev-harmony-fb <15002.0.0",
"resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz"
},
"exenv": {
"version": "1.2.1",
"from": "exenv@>=1.2.0 <2.0.0",
"resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.1.tgz"
},
"fbjs": {
"version": "0.6.1",
"from": "fbjs@>=0.6.1 <0.7.0",
"resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.6.1.tgz"
},
"fs.realpath": {
"version": "1.0.0",
"from": "fs.realpath@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
},
"fuzzy": {
"version": "0.1.1",
"from": "fuzzy@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/fuzzy/-/fuzzy-0.1.1.tgz"
},
"glob": {
"version": "7.0.5",
"from": "glob@>=7.0.5 <8.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz"
},
"graceful-fs": {
"version": "4.1.4",
"from": "graceful-fs@>=4.1.2 <5.0.0",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz"
},
"graceful-readlink": {
"version": "1.0.1",
"from": "graceful-readlink@>=1.0.0",
"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
},
"iconv-lite": {
"version": "0.4.13",
"from": "iconv-lite@>=0.4.5 <0.5.0",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz"
},
"inflight": {
"version": "1.0.5",
"from": "inflight@>=1.0.4 <2.0.0",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz"
},
"inherits": {
"version": "2.0.1",
"from": "inherits@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
},
"inline-style-prefixer": {
"version": "0.6.7",
"from": "inline-style-prefixer@>=0.6.2 <0.7.0",
"resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-0.6.7.tgz"
},
"js-tokens": {
"version": "1.0.3",
"from": "js-tokens@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.3.tgz"
},
"jstransform": {
"version": "11.0.3",
"from": "jstransform@>=11.0.3 <12.0.0",
"resolved": "https://registry.npmjs.org/jstransform/-/jstransform-11.0.3.tgz"
},
"lodash": {
"version": "4.13.1",
"from": "lodash@>=4.11.1 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.13.1.tgz"
},
"lodash._baseclone": {
"version": "4.5.7",
"from": "lodash._baseclone@>=4.5.0 <4.6.0",
"resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz"
},
"lodash._root": {
"version": "3.0.1",
"from": "lodash._root@>=3.0.0 <3.1.0",
"resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz"
},
"lodash.isplainobject": {
"version": "4.0.4",
"from": "lodash.isplainobject@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.4.tgz"
},
"lodash.keysin": {
"version": "4.1.4",
"from": "lodash.keysin@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-4.1.4.tgz"
},
"lodash.merge": {
"version": "4.4.0",
"from": "lodash.merge@>=4.0.1 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.4.0.tgz"
},
"lodash.rest": {
"version": "4.0.3",
"from": "lodash.rest@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.3.tgz"
},
"loose-envify": {
"version": "1.2.0",
"from": "loose-envify@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.2.0.tgz"
},
"matrix-utilities": {
"version": "1.2.4",
"from": "matrix-utilities@>=1.2.0 <2.0.0",
"resolved": "https://registry.npmjs.org/matrix-utilities/-/matrix-utilities-1.2.4.tgz"
},
"minimatch": {
"version": "3.0.2",
"from": "minimatch@>=3.0.2 <4.0.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz"
},
"minimist": {
"version": "0.0.8",
"from": "[email protected]",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
},
"mkdirp": {
"version": "0.5.1",
"from": "mkdirp@>=0.5.0 <0.6.0",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"
},
"object-assign": {
"version": "2.1.1",
"from": "object-assign@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz"
},
"observable-state": {
"version": "0.3.4",
"from": "observable-state@>=0.3.4 <0.4.0",
"resolved": "https://registry.npmjs.org/observable-state/-/observable-state-0.3.4.tgz"
},
"once": {
"version": "1.3.3",
"from": "once@>=1.3.0 <2.0.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz"
},
"path-is-absolute": {
"version": "1.0.0",
"from": "path-is-absolute@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
},
"private": {
"version": "0.1.6",
"from": "private@>=0.1.6 <0.2.0",
"resolved": "https://registry.npmjs.org/private/-/private-0.1.6.tgz"
},
"promise": {
"version": "7.1.1",
"from": "promise@>=7.0.3 <8.0.0",
"resolved": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz"
},
"q": {
"version": "1.4.1",
"from": "q@>=1.1.2 <2.0.0",
"resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz"
},
"radium": {
"version": "0.16.6",
"from": "radium@>=0.16.4 <0.17.0",
"resolved": "https://registry.npmjs.org/radium/-/radium-0.16.6.tgz"
},
"react": {
"version": "0.14.8",
"from": "react@>=0.14.0 <0.15.0",
"resolved": "https://registry.npmjs.org/react/-/react-0.14.8.tgz"
},
"react-animate-state": {
"version": "1.0.1",
"from": "react-animate-state@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/react-animate-state/-/react-animate-state-1.0.1.tgz"
},
"react-style-normalizer": {
"version": "1.2.8",
"from": "react-style-normalizer@>=1.2.8 <2.0.0",
"resolved": "https://registry.npmjs.org/react-style-normalizer/-/react-style-normalizer-1.2.8.tgz"
},
"reapp-component": {
"version": "1.0.2",
"from": "reapp-component@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/reapp-component/-/reapp-component-1.0.2.tgz"
},
"reapp-object-assign": {
"version": "1.0.0",
"from": "reapp-object-assign@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/reapp-object-assign/-/reapp-object-assign-1.0.0.tgz"
},
"reapp-scroller": {
"version": "1.0.8",
"from": "reapp-scroller@>=1.0.8 <2.0.0",
"resolved": "https://registry.npmjs.org/reapp-scroller/-/reapp-scroller-1.0.8.tgz"
},
"recast": {
"version": "0.10.43",
"from": "recast@>=0.10.0 <0.11.0",
"resolved": "https://registry.npmjs.org/recast/-/recast-0.10.43.tgz",
"dependencies": {
"esprima-fb": {
"version": "15001.1001.0-dev-harmony-fb",
"from": "esprima-fb@>=15001.1001.0-dev-harmony-fb <15001.1002.0",
"resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz"
},
"source-map": {
"version": "0.5.6",
"from": "source-map@>=0.5.0 <0.6.0",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
}
}
},
"rimraf": {
"version": "2.5.3",
"from": "rimraf@>=2.4.0 <3.0.0",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.3.tgz"
},
"shallow-equals": {
"version": "0.0.0",
"from": "[email protected]",
"resolved": "https://registry.npmjs.org/shallow-equals/-/shallow-equals-0.0.0.tgz"
},
"source-map": {
"version": "0.4.4",
"from": "source-map@>=0.4.2 <0.5.0",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz"
},
"through": {
"version": "2.3.8",
"from": "through@>=2.3.4 <2.4.0",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
},
"transform-to-matrix": {
"version": "0.1.1",
"from": "transform-to-matrix@>=0.0.0 <1.0.0",
"resolved": "https://registry.npmjs.org/transform-to-matrix/-/transform-to-matrix-0.1.1.tgz"
},
"ua-parser-js": {
"version": "0.7.10",
"from": "ua-parser-js@>=0.7.9 <0.8.0",
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.10.tgz"
},
"umodel": {
"version": "0.0.5",
"from": "umodel@>=0.0.0 <1.0.0",
"resolved": "https://registry.npmjs.org/umodel/-/umodel-0.0.5.tgz"
},
"validator": {
"version": "3.43.0",
"from": "validator@>=3.40.0 <4.0.0",
"resolved": "https://registry.npmjs.org/validator/-/validator-3.43.0.tgz"
},
"whatwg-fetch": {
"version": "0.9.0",
"from": "whatwg-fetch@>=0.9.0 <0.10.0",
"resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-0.9.0.tgz"
},
"wrappy": {
"version": "1.0.2",
"from": "wrappy@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
}
}
}
{
"name": "sample",
"version": "1.0.0",
"main": "index.js",
"dependencies": {
},
"devDependencies": {
"reapp-ui": "^0.12.85"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment