fsevents 1.2.3 → 1.2.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of fsevents might be problematic. Click here for more details.

Files changed (208) hide show
  1. package/.travis.yml +2 -3
  2. package/fsevents.cc +14 -26
  3. package/node_modules/abbrev/package.json +13 -14
  4. package/node_modules/ansi-regex/package.json +13 -14
  5. package/node_modules/aproba/package.json +13 -14
  6. package/node_modules/are-we-there-yet/CHANGES.md +6 -0
  7. package/node_modules/are-we-there-yet/package.json +19 -20
  8. package/node_modules/are-we-there-yet/tracker-stream.js +1 -0
  9. package/node_modules/balanced-match/package.json +13 -14
  10. package/node_modules/brace-expansion/package.json +13 -14
  11. package/node_modules/chownr/chownr.js +113 -40
  12. package/node_modules/chownr/package.json +22 -20
  13. package/node_modules/code-point-at/package.json +13 -14
  14. package/node_modules/concat-map/package.json +8 -9
  15. package/node_modules/console-control-strings/package.json +14 -14
  16. package/node_modules/core-util-is/package.json +13 -14
  17. package/node_modules/debug/CHANGELOG.md +34 -1
  18. package/node_modules/debug/README.md +188 -63
  19. package/node_modules/debug/dist/debug.js +886 -0
  20. package/node_modules/debug/package.json +34 -33
  21. package/node_modules/debug/src/browser.js +77 -82
  22. package/node_modules/debug/src/common.js +249 -0
  23. package/node_modules/debug/src/index.js +5 -3
  24. package/node_modules/debug/src/node.js +72 -146
  25. package/node_modules/deep-extend/CHANGELOG.md +28 -3
  26. package/node_modules/deep-extend/LICENSE +1 -1
  27. package/node_modules/deep-extend/README.md +2 -1
  28. package/node_modules/deep-extend/lib/deep-extend.js +11 -5
  29. package/node_modules/deep-extend/package.json +26 -28
  30. package/node_modules/delegates/package.json +13 -14
  31. package/node_modules/detect-libc/package.json +13 -14
  32. package/node_modules/fs-minipass/index.js +2 -1
  33. package/node_modules/fs-minipass/package.json +24 -22
  34. package/node_modules/fs.realpath/package.json +13 -14
  35. package/node_modules/gauge/package.json +13 -14
  36. package/node_modules/glob/LICENSE +6 -0
  37. package/node_modules/glob/README.md +8 -1
  38. package/node_modules/glob/package.json +21 -19
  39. package/node_modules/has-unicode/package.json +13 -14
  40. package/node_modules/iconv-lite/Changelog.md +16 -0
  41. package/node_modules/iconv-lite/encodings/sbcs-codec.js +2 -2
  42. package/node_modules/iconv-lite/encodings/sbcs-data.js +5 -0
  43. package/node_modules/iconv-lite/lib/extend-node.js +1 -1
  44. package/node_modules/iconv-lite/lib/index.d.ts +2 -2
  45. package/node_modules/iconv-lite/package.json +19 -20
  46. package/node_modules/ignore-walk/README.md +1 -1
  47. package/node_modules/ignore-walk/index.js +9 -5
  48. package/node_modules/ignore-walk/package.json +22 -20
  49. package/node_modules/inflight/package.json +13 -14
  50. package/node_modules/inherits/inherits.js +2 -0
  51. package/node_modules/inherits/inherits_browser.js +18 -14
  52. package/node_modules/inherits/package.json +20 -20
  53. package/node_modules/ini/package.json +13 -14
  54. package/node_modules/is-fullwidth-code-point/package.json +13 -14
  55. package/node_modules/isarray/package.json +13 -14
  56. package/node_modules/minimatch/package.json +14 -14
  57. package/node_modules/minimist/package.json +8 -9
  58. package/node_modules/minipass/LICENSE +15 -0
  59. package/node_modules/minipass/README.md +567 -7
  60. package/node_modules/minipass/index.js +255 -22
  61. package/node_modules/minipass/package.json +26 -22
  62. package/node_modules/minizlib/README.md +36 -27
  63. package/node_modules/minizlib/constants.js +73 -4
  64. package/node_modules/minizlib/index.js +188 -232
  65. package/node_modules/minizlib/package.json +19 -20
  66. package/node_modules/mkdirp/package.json +14 -14
  67. package/node_modules/ms/index.js +29 -19
  68. package/node_modules/ms/package.json +22 -23
  69. package/node_modules/ms/readme.md +18 -9
  70. package/node_modules/needle/README.md +3 -3
  71. package/node_modules/needle/examples/multipart-stream.js +1 -1
  72. package/node_modules/needle/lib/auth.js +1 -1
  73. package/node_modules/needle/lib/cookies.js +12 -10
  74. package/node_modules/needle/lib/multipart.js +1 -1
  75. package/node_modules/needle/lib/needle.js +20 -6
  76. package/node_modules/needle/package.json +26 -27
  77. package/node_modules/needle/test/basic_auth_spec.js +1 -1
  78. package/node_modules/needle/test/cookies_spec.js +2 -2
  79. package/node_modules/needle/test/errors_spec.js +4 -4
  80. package/node_modules/needle/test/headers_spec.js +1 -1
  81. package/node_modules/needle/test/long_string_spec.js +1 -1
  82. package/node_modules/needle/test/output_spec.js +1 -1
  83. package/node_modules/needle/test/post_data_spec.js +20 -20
  84. package/node_modules/needle/test/proxy_spec.js +1 -1
  85. package/node_modules/needle/test/url_spec.js +11 -3
  86. package/node_modules/needle/test/utils/test.js +1 -1
  87. package/node_modules/node-pre-gyp/CHANGELOG.md +34 -3
  88. package/node_modules/node-pre-gyp/README.md +53 -21
  89. package/node_modules/node-pre-gyp/appveyor.yml +2 -9
  90. package/node_modules/node-pre-gyp/contributing.md +2 -2
  91. package/node_modules/node-pre-gyp/lib/build.js +1 -1
  92. package/node_modules/node-pre-gyp/lib/install.js +46 -12
  93. package/node_modules/node-pre-gyp/lib/node-pre-gyp.js +1 -1
  94. package/node_modules/node-pre-gyp/lib/package.js +5 -2
  95. package/node_modules/node-pre-gyp/lib/pre-binding.js +5 -5
  96. package/node_modules/node-pre-gyp/lib/rebuild.js +1 -1
  97. package/node_modules/node-pre-gyp/lib/reinstall.js +1 -1
  98. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +148 -0
  99. package/node_modules/node-pre-gyp/lib/util/handle_gyp_opts.js +5 -2
  100. package/node_modules/node-pre-gyp/lib/util/napi.js +70 -22
  101. package/node_modules/node-pre-gyp/lib/util/versioning.js +7 -6
  102. package/node_modules/node-pre-gyp/package.json +16 -20
  103. package/node_modules/nopt/package.json +13 -14
  104. package/node_modules/npm-bundled/LICENSE +15 -0
  105. package/node_modules/npm-bundled/README.md +2 -0
  106. package/node_modules/npm-bundled/index.js +29 -7
  107. package/node_modules/npm-bundled/package.json +21 -19
  108. package/node_modules/npm-normalize-package-bin/.github/settings.yml +2 -0
  109. package/node_modules/npm-normalize-package-bin/.npmignore +24 -0
  110. package/node_modules/npm-normalize-package-bin/LICENSE +15 -0
  111. package/node_modules/npm-normalize-package-bin/README.md +14 -0
  112. package/node_modules/npm-normalize-package-bin/index.js +60 -0
  113. package/node_modules/npm-normalize-package-bin/package-lock.json +3529 -0
  114. package/node_modules/npm-normalize-package-bin/package.json +57 -0
  115. package/node_modules/npm-normalize-package-bin/test/array.js +37 -0
  116. package/node_modules/npm-normalize-package-bin/test/nobin.js +35 -0
  117. package/node_modules/npm-normalize-package-bin/test/object.js +141 -0
  118. package/node_modules/npm-normalize-package-bin/test/string.js +37 -0
  119. package/node_modules/npm-packlist/index.js +90 -21
  120. package/node_modules/npm-packlist/package.json +27 -21
  121. package/node_modules/npmlog/package.json +13 -14
  122. package/node_modules/number-is-nan/package.json +13 -14
  123. package/node_modules/object-assign/package.json +13 -14
  124. package/node_modules/once/package.json +14 -14
  125. package/node_modules/os-homedir/package.json +13 -14
  126. package/node_modules/os-tmpdir/package.json +13 -14
  127. package/node_modules/osenv/package.json +13 -14
  128. package/node_modules/path-is-absolute/package.json +13 -14
  129. package/node_modules/process-nextick-args/index.js +2 -1
  130. package/node_modules/process-nextick-args/package.json +17 -18
  131. package/node_modules/rc/node_modules/minimist/package.json +13 -14
  132. package/node_modules/rc/package.json +18 -19
  133. package/node_modules/readable-stream/package.json +13 -14
  134. package/node_modules/rimraf/package.json +22 -20
  135. package/node_modules/rimraf/rimraf.js +9 -1
  136. package/node_modules/safe-buffer/index.d.ts +187 -0
  137. package/node_modules/safe-buffer/package.json +23 -21
  138. package/node_modules/safer-buffer/package.json +13 -14
  139. package/node_modules/sax/package.json +13 -14
  140. package/node_modules/semver/CHANGELOG.md +39 -0
  141. package/node_modules/semver/README.md +43 -19
  142. package/node_modules/semver/bin/semver +92 -75
  143. package/node_modules/semver/package.json +25 -20
  144. package/node_modules/semver/semver.js +922 -763
  145. package/node_modules/set-blocking/package.json +13 -14
  146. package/node_modules/signal-exit/package.json +13 -14
  147. package/node_modules/string-width/package.json +14 -14
  148. package/node_modules/string_decoder/package.json +13 -14
  149. package/node_modules/strip-ansi/package.json +14 -14
  150. package/node_modules/strip-json-comments/package.json +13 -14
  151. package/node_modules/tar/README.md +7 -2
  152. package/node_modules/tar/lib/header.js +20 -4
  153. package/node_modules/tar/lib/large-numbers.js +32 -27
  154. package/node_modules/tar/lib/mkdir.js +2 -2
  155. package/node_modules/tar/lib/mode-fix.js +14 -0
  156. package/node_modules/tar/lib/pack.js +1 -0
  157. package/node_modules/tar/lib/parse.js +7 -1
  158. package/node_modules/tar/lib/read-entry.js +4 -0
  159. package/node_modules/tar/lib/unpack.js +67 -6
  160. package/node_modules/tar/lib/write-entry.js +25 -6
  161. package/node_modules/tar/package.json +33 -30
  162. package/node_modules/util-deprecate/package.json +13 -14
  163. package/node_modules/wide-align/package.json +19 -20
  164. package/node_modules/wrappy/package.json +14 -14
  165. package/node_modules/yallist/iterator.js +5 -5
  166. package/node_modules/yallist/package.json +19 -19
  167. package/node_modules/yallist/yallist.js +52 -2
  168. package/package.json +6 -9
  169. package/src/async.cc +2 -2
  170. package/src/constants.cc +20 -20
  171. package/src/thread.cc +5 -6
  172. package/.npmignore +0 -1
  173. package/build/.target.mk +0 -53
  174. package/build/Makefile +0 -352
  175. package/build/Release/.deps/Release/.node.d +0 -1
  176. package/build/Release/.deps/Release/fse.node.d +0 -1
  177. package/build/Release/.deps/Release/obj.target/action_after_build.stamp.d +0 -1
  178. package/build/Release/.deps/Release/obj.target/fse/fsevents.o.d +0 -65
  179. package/build/Release/.deps/Users/eshanker/Code/fsevents/lib/binding/Release/node-v48-darwin-x64/fse.node.d +0 -1
  180. package/build/Release/.node +0 -0
  181. package/build/Release/fse.node +0 -0
  182. package/build/Release/obj.target/action_after_build.stamp +0 -0
  183. package/build/Release/obj.target/fse/fsevents.o +0 -0
  184. package/build/action_after_build.target.mk +0 -32
  185. package/build/binding.Makefile +0 -6
  186. package/build/fse.target.mk +0 -179
  187. package/build/gyp-mac-tool +0 -611
  188. package/build/stage/v1.1.2/fse-v1.1.2-node-v48-darwin-x64.tar.gz +0 -0
  189. package/lib/binding/Release/node-v11-darwin-x64/fse.node +0 -0
  190. package/lib/binding/Release/node-v46-darwin-x64/fse.node +0 -0
  191. package/lib/binding/Release/node-v47-darwin-x64/fse.node +0 -0
  192. package/lib/binding/Release/node-v48-darwin-x64/fse.node +0 -0
  193. package/lib/binding/Release/node-v57-darwin-x64/fse.node +0 -0
  194. package/node_modules/are-we-there-yet/CHANGES.md~ +0 -27
  195. package/node_modules/debug/.coveralls.yml +0 -1
  196. package/node_modules/debug/.eslintrc +0 -11
  197. package/node_modules/debug/.npmignore +0 -9
  198. package/node_modules/debug/.travis.yml +0 -14
  199. package/node_modules/debug/Makefile +0 -50
  200. package/node_modules/debug/component.json +0 -19
  201. package/node_modules/debug/karma.conf.js +0 -70
  202. package/node_modules/debug/src/debug.js +0 -202
  203. package/node_modules/debug/src/inspector-log.js +0 -15
  204. package/node_modules/iconv-lite/.travis.yml +0 -23
  205. package/node_modules/rc/.npmignore +0 -3
  206. package/node_modules/safe-buffer/.travis.yml +0 -7
  207. package/node_modules/safe-buffer/test.js +0 -101
  208. package/src/locking.cc +0 -27
@@ -10,6 +10,9 @@
10
10
  const fs = require('fs')
11
11
  const path = require('path')
12
12
  const EE = require('events').EventEmitter
13
+ // we don't care about the package bins, but we share a pj cache
14
+ // with other modules that DO care about it, so keep it nice.
15
+ const normalizePackageBin = require('npm-normalize-package-bin')
13
16
 
14
17
  class BundleWalker extends EE {
15
18
  constructor (opt) {
@@ -35,6 +38,7 @@ class BundleWalker extends EE {
35
38
  this.packageJsonCache = opt.packageJsonCache || new Map()
36
39
  }
37
40
 
41
+ this.seen = new Set()
38
42
  this.didDone = false
39
43
  this.children = 0
40
44
  this.node_modules = []
@@ -42,6 +46,18 @@ class BundleWalker extends EE {
42
46
  this.bundle = null
43
47
  }
44
48
 
49
+ addListener (ev, fn) {
50
+ return this.on(ev, fn)
51
+ }
52
+
53
+ on (ev, fn) {
54
+ const ret = super.on(ev, fn)
55
+ if (ev === 'done' && this.didDone) {
56
+ this.emit('done', this.result)
57
+ }
58
+ return ret
59
+ }
60
+
45
61
  done () {
46
62
  if (!this.didDone) {
47
63
  this.didDone = true
@@ -56,7 +72,7 @@ class BundleWalker extends EE {
56
72
  }
57
73
 
58
74
  start () {
59
- const pj = this.path + '/package.json'
75
+ const pj = path.resolve(this.path, 'package.json')
60
76
  if (this.packageJsonCache.has(pj))
61
77
  this.onPackage(this.packageJsonCache.get(pj))
62
78
  else
@@ -71,7 +87,7 @@ class BundleWalker extends EE {
71
87
 
72
88
  onPackageJson (pj, data) {
73
89
  try {
74
- this.package = JSON.parse(data + '')
90
+ this.package = normalizePackageBin(JSON.parse(data + ''))
75
91
  } catch (er) {
76
92
  return this.done()
77
93
  }
@@ -79,17 +95,22 @@ class BundleWalker extends EE {
79
95
  this.onPackage(this.package)
80
96
  }
81
97
 
98
+ allDepsBundled (pkg) {
99
+ return Object.keys(pkg.dependencies || {}).concat(
100
+ Object.keys(pkg.optionalDependencies || {}))
101
+ }
102
+
82
103
  onPackage (pkg) {
83
104
  // all deps are bundled if we got here as a child.
84
105
  // otherwise, only bundle bundledDeps
85
106
  // Get a unique-ified array with a short-lived Set
86
- const bdRaw = this.parent
87
- ? Object.keys(pkg.dependencies || {}).concat(
88
- Object.keys(pkg.optionalDependencies || {}))
107
+ const bdRaw = this.parent ? this.allDepsBundled(pkg)
89
108
  : pkg.bundleDependencies || pkg.bundledDependencies || []
90
109
 
91
110
  const bd = Array.from(new Set(
92
- Array.isArray(bdRaw) ? bdRaw : Object.keys(bdRaw)))
111
+ Array.isArray(bdRaw) ? bdRaw
112
+ : bdRaw === true ? this.allDepsBundled(pkg)
113
+ : Object.keys(bdRaw)))
93
114
 
94
115
  if (!bd.length)
95
116
  return this.done()
@@ -114,7 +135,8 @@ class BundleWalker extends EE {
114
135
  }
115
136
 
116
137
  childDep (dep) {
117
- if (this.node_modules.indexOf(dep) !== -1) {
138
+ if (this.node_modules.indexOf(dep) !== -1 && !this.seen.has(dep)) {
139
+ this.seen.add(dep)
118
140
  this.child(dep)
119
141
  } else if (this.parent) {
120
142
  this.parent.childDep(dep)
@@ -1,30 +1,27 @@
1
1
  {
2
- "_args": [
3
- [
4
- "npm-bundled@1.0.3",
5
- "/Users/eshanker/Code/fsevents"
6
- ]
7
- ],
8
- "_from": "npm-bundled@1.0.3",
9
- "_id": "npm-bundled@1.0.3",
2
+ "_from": "npm-bundled@^1.0.1",
3
+ "_id": "npm-bundled@1.1.1",
10
4
  "_inBundle": false,
11
- "_integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==",
5
+ "_integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
12
6
  "_location": "/npm-bundled",
13
7
  "_phantomChildren": {},
14
8
  "_requested": {
15
- "type": "version",
9
+ "type": "range",
16
10
  "registry": true,
17
- "raw": "npm-bundled@1.0.3",
11
+ "raw": "npm-bundled@^1.0.1",
18
12
  "name": "npm-bundled",
19
13
  "escapedName": "npm-bundled",
20
- "rawSpec": "1.0.3",
14
+ "rawSpec": "^1.0.1",
21
15
  "saveSpec": null,
22
- "fetchSpec": "1.0.3"
16
+ "fetchSpec": "^1.0.1"
23
17
  },
24
- "_requiredBy": [],
25
- "_resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz",
26
- "_spec": "1.0.3",
27
- "_where": "/Users/eshanker/Code/fsevents",
18
+ "_requiredBy": [
19
+ "/npm-packlist"
20
+ ],
21
+ "_resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
22
+ "_shasum": "1edd570865a94cdb1bc8220775e29466c9fb234b",
23
+ "_spec": "npm-bundled@^1.0.1",
24
+ "_where": "/Users/pipobscure/fsevents/node_modules/npm-packlist",
28
25
  "author": {
29
26
  "name": "Isaac Z. Schlueter",
30
27
  "email": "i@izs.me",
@@ -33,12 +30,17 @@
33
30
  "bugs": {
34
31
  "url": "https://github.com/npm/npm-bundled/issues"
35
32
  },
33
+ "bundleDependencies": false,
34
+ "dependencies": {
35
+ "npm-normalize-package-bin": "^1.0.1"
36
+ },
37
+ "deprecated": false,
36
38
  "description": "list things in node_modules that are bundledDependencies, or transitive dependencies thereof",
37
39
  "devDependencies": {
38
40
  "mkdirp": "^0.5.1",
39
41
  "mutate-fs": "^1.1.0",
40
42
  "rimraf": "^2.6.1",
41
- "tap": "^10.3.2"
43
+ "tap": "^12.0.1"
42
44
  },
43
45
  "files": [
44
46
  "index.js"
@@ -57,5 +59,5 @@
57
59
  "preversion": "npm test",
58
60
  "test": "tap test/*.js -J --100"
59
61
  },
60
- "version": "1.0.3"
62
+ "version": "1.1.1"
61
63
  }
@@ -0,0 +1,2 @@
1
+ ---
2
+ _extends: 'open-source-project-boilerplate'
@@ -0,0 +1,24 @@
1
+ # ignore most things, include some others
2
+ /*
3
+ /.*
4
+
5
+ !bin/
6
+ !lib/
7
+ !docs/
8
+ !package.json
9
+ !package-lock.json
10
+ !README.md
11
+ !CONTRIBUTING.md
12
+ !LICENSE
13
+ !CHANGELOG.md
14
+ !example/
15
+ !scripts/
16
+ !tap-snapshots/
17
+ !test/
18
+ !.github/
19
+ !.travis.yml
20
+ !.gitignore
21
+ !.gitattributes
22
+ !coverage-map.js
23
+ !map.js
24
+ !index.js
@@ -0,0 +1,15 @@
1
+ The ISC License
2
+
3
+ Copyright (c) npm, Inc.
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15
+ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1,14 @@
1
+ # npm-normalize-package-bin
2
+
3
+ Turn any flavor of allowable package.json bin into a normalized object.
4
+
5
+ ## API
6
+
7
+ ```js
8
+ const normalize = require('npm-normalize-package-bin')
9
+ const pkg = {name: 'foo', bin: 'bar'}
10
+ console.log(normalize(pkg)) // {name:'foo', bin:{foo: 'bar'}}
11
+ ```
12
+
13
+ Also strips out weird dots and slashes to prevent accidental and/or
14
+ malicious bad behavior when the package is installed.
@@ -0,0 +1,60 @@
1
+ // pass in a manifest with a 'bin' field here, and it'll turn it
2
+ // into a properly santized bin object
3
+ const {join, basename} = require('path')
4
+
5
+ const normalize = pkg =>
6
+ !pkg.bin ? removeBin(pkg)
7
+ : typeof pkg.bin === 'string' ? normalizeString(pkg)
8
+ : Array.isArray(pkg.bin) ? normalizeArray(pkg)
9
+ : typeof pkg.bin === 'object' ? normalizeObject(pkg)
10
+ : removeBin(pkg)
11
+
12
+ const normalizeString = pkg => {
13
+ if (!pkg.name)
14
+ return removeBin(pkg)
15
+ pkg.bin = { [pkg.name]: pkg.bin }
16
+ return normalizeObject(pkg)
17
+ }
18
+
19
+ const normalizeArray = pkg => {
20
+ pkg.bin = pkg.bin.reduce((acc, k) => {
21
+ acc[basename(k)] = k
22
+ return acc
23
+ }, {})
24
+ return normalizeObject(pkg)
25
+ }
26
+
27
+ const removeBin = pkg => {
28
+ delete pkg.bin
29
+ return pkg
30
+ }
31
+
32
+ const normalizeObject = pkg => {
33
+ const orig = pkg.bin
34
+ const clean = {}
35
+ let hasBins = false
36
+ Object.keys(orig).forEach(binKey => {
37
+ const base = join('/', basename(binKey.replace(/\\|:/g, '/'))).substr(1)
38
+
39
+ if (typeof orig[binKey] !== 'string' || !base)
40
+ return
41
+
42
+ const binTarget = join('/', orig[binKey])
43
+ .replace(/\\/g, '/').substr(1)
44
+
45
+ if (!binTarget)
46
+ return
47
+
48
+ clean[base] = binTarget
49
+ hasBins = true
50
+ })
51
+
52
+ if (hasBins)
53
+ pkg.bin = clean
54
+ else
55
+ delete pkg.bin
56
+
57
+ return pkg
58
+ }
59
+
60
+ module.exports = normalize