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.
- package/.travis.yml +2 -3
- package/fsevents.cc +14 -26
- package/node_modules/abbrev/package.json +13 -14
- package/node_modules/ansi-regex/package.json +13 -14
- package/node_modules/aproba/package.json +13 -14
- package/node_modules/are-we-there-yet/CHANGES.md +6 -0
- package/node_modules/are-we-there-yet/package.json +19 -20
- package/node_modules/are-we-there-yet/tracker-stream.js +1 -0
- package/node_modules/balanced-match/package.json +13 -14
- package/node_modules/brace-expansion/package.json +13 -14
- package/node_modules/chownr/chownr.js +113 -40
- package/node_modules/chownr/package.json +22 -20
- package/node_modules/code-point-at/package.json +13 -14
- package/node_modules/concat-map/package.json +8 -9
- package/node_modules/console-control-strings/package.json +14 -14
- package/node_modules/core-util-is/package.json +13 -14
- package/node_modules/debug/CHANGELOG.md +34 -1
- package/node_modules/debug/README.md +188 -63
- package/node_modules/debug/dist/debug.js +886 -0
- package/node_modules/debug/package.json +34 -33
- package/node_modules/debug/src/browser.js +77 -82
- package/node_modules/debug/src/common.js +249 -0
- package/node_modules/debug/src/index.js +5 -3
- package/node_modules/debug/src/node.js +72 -146
- package/node_modules/deep-extend/CHANGELOG.md +28 -3
- package/node_modules/deep-extend/LICENSE +1 -1
- package/node_modules/deep-extend/README.md +2 -1
- package/node_modules/deep-extend/lib/deep-extend.js +11 -5
- package/node_modules/deep-extend/package.json +26 -28
- package/node_modules/delegates/package.json +13 -14
- package/node_modules/detect-libc/package.json +13 -14
- package/node_modules/fs-minipass/index.js +2 -1
- package/node_modules/fs-minipass/package.json +24 -22
- package/node_modules/fs.realpath/package.json +13 -14
- package/node_modules/gauge/package.json +13 -14
- package/node_modules/glob/LICENSE +6 -0
- package/node_modules/glob/README.md +8 -1
- package/node_modules/glob/package.json +21 -19
- package/node_modules/has-unicode/package.json +13 -14
- package/node_modules/iconv-lite/Changelog.md +16 -0
- package/node_modules/iconv-lite/encodings/sbcs-codec.js +2 -2
- package/node_modules/iconv-lite/encodings/sbcs-data.js +5 -0
- package/node_modules/iconv-lite/lib/extend-node.js +1 -1
- package/node_modules/iconv-lite/lib/index.d.ts +2 -2
- package/node_modules/iconv-lite/package.json +19 -20
- package/node_modules/ignore-walk/README.md +1 -1
- package/node_modules/ignore-walk/index.js +9 -5
- package/node_modules/ignore-walk/package.json +22 -20
- package/node_modules/inflight/package.json +13 -14
- package/node_modules/inherits/inherits.js +2 -0
- package/node_modules/inherits/inherits_browser.js +18 -14
- package/node_modules/inherits/package.json +20 -20
- package/node_modules/ini/package.json +13 -14
- package/node_modules/is-fullwidth-code-point/package.json +13 -14
- package/node_modules/isarray/package.json +13 -14
- package/node_modules/minimatch/package.json +14 -14
- package/node_modules/minimist/package.json +8 -9
- package/node_modules/minipass/LICENSE +15 -0
- package/node_modules/minipass/README.md +567 -7
- package/node_modules/minipass/index.js +255 -22
- package/node_modules/minipass/package.json +26 -22
- package/node_modules/minizlib/README.md +36 -27
- package/node_modules/minizlib/constants.js +73 -4
- package/node_modules/minizlib/index.js +188 -232
- package/node_modules/minizlib/package.json +19 -20
- package/node_modules/mkdirp/package.json +14 -14
- package/node_modules/ms/index.js +29 -19
- package/node_modules/ms/package.json +22 -23
- package/node_modules/ms/readme.md +18 -9
- package/node_modules/needle/README.md +3 -3
- package/node_modules/needle/examples/multipart-stream.js +1 -1
- package/node_modules/needle/lib/auth.js +1 -1
- package/node_modules/needle/lib/cookies.js +12 -10
- package/node_modules/needle/lib/multipart.js +1 -1
- package/node_modules/needle/lib/needle.js +20 -6
- package/node_modules/needle/package.json +26 -27
- package/node_modules/needle/test/basic_auth_spec.js +1 -1
- package/node_modules/needle/test/cookies_spec.js +2 -2
- package/node_modules/needle/test/errors_spec.js +4 -4
- package/node_modules/needle/test/headers_spec.js +1 -1
- package/node_modules/needle/test/long_string_spec.js +1 -1
- package/node_modules/needle/test/output_spec.js +1 -1
- package/node_modules/needle/test/post_data_spec.js +20 -20
- package/node_modules/needle/test/proxy_spec.js +1 -1
- package/node_modules/needle/test/url_spec.js +11 -3
- package/node_modules/needle/test/utils/test.js +1 -1
- package/node_modules/node-pre-gyp/CHANGELOG.md +34 -3
- package/node_modules/node-pre-gyp/README.md +53 -21
- package/node_modules/node-pre-gyp/appveyor.yml +2 -9
- package/node_modules/node-pre-gyp/contributing.md +2 -2
- package/node_modules/node-pre-gyp/lib/build.js +1 -1
- package/node_modules/node-pre-gyp/lib/install.js +46 -12
- package/node_modules/node-pre-gyp/lib/node-pre-gyp.js +1 -1
- package/node_modules/node-pre-gyp/lib/package.js +5 -2
- package/node_modules/node-pre-gyp/lib/pre-binding.js +5 -5
- package/node_modules/node-pre-gyp/lib/rebuild.js +1 -1
- package/node_modules/node-pre-gyp/lib/reinstall.js +1 -1
- package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +148 -0
- package/node_modules/node-pre-gyp/lib/util/handle_gyp_opts.js +5 -2
- package/node_modules/node-pre-gyp/lib/util/napi.js +70 -22
- package/node_modules/node-pre-gyp/lib/util/versioning.js +7 -6
- package/node_modules/node-pre-gyp/package.json +16 -20
- package/node_modules/nopt/package.json +13 -14
- package/node_modules/npm-bundled/LICENSE +15 -0
- package/node_modules/npm-bundled/README.md +2 -0
- package/node_modules/npm-bundled/index.js +29 -7
- package/node_modules/npm-bundled/package.json +21 -19
- package/node_modules/npm-normalize-package-bin/.github/settings.yml +2 -0
- package/node_modules/npm-normalize-package-bin/.npmignore +24 -0
- package/node_modules/npm-normalize-package-bin/LICENSE +15 -0
- package/node_modules/npm-normalize-package-bin/README.md +14 -0
- package/node_modules/npm-normalize-package-bin/index.js +60 -0
- package/node_modules/npm-normalize-package-bin/package-lock.json +3529 -0
- package/node_modules/npm-normalize-package-bin/package.json +57 -0
- package/node_modules/npm-normalize-package-bin/test/array.js +37 -0
- package/node_modules/npm-normalize-package-bin/test/nobin.js +35 -0
- package/node_modules/npm-normalize-package-bin/test/object.js +141 -0
- package/node_modules/npm-normalize-package-bin/test/string.js +37 -0
- package/node_modules/npm-packlist/index.js +90 -21
- package/node_modules/npm-packlist/package.json +27 -21
- package/node_modules/npmlog/package.json +13 -14
- package/node_modules/number-is-nan/package.json +13 -14
- package/node_modules/object-assign/package.json +13 -14
- package/node_modules/once/package.json +14 -14
- package/node_modules/os-homedir/package.json +13 -14
- package/node_modules/os-tmpdir/package.json +13 -14
- package/node_modules/osenv/package.json +13 -14
- package/node_modules/path-is-absolute/package.json +13 -14
- package/node_modules/process-nextick-args/index.js +2 -1
- package/node_modules/process-nextick-args/package.json +17 -18
- package/node_modules/rc/node_modules/minimist/package.json +13 -14
- package/node_modules/rc/package.json +18 -19
- package/node_modules/readable-stream/package.json +13 -14
- package/node_modules/rimraf/package.json +22 -20
- package/node_modules/rimraf/rimraf.js +9 -1
- package/node_modules/safe-buffer/index.d.ts +187 -0
- package/node_modules/safe-buffer/package.json +23 -21
- package/node_modules/safer-buffer/package.json +13 -14
- package/node_modules/sax/package.json +13 -14
- package/node_modules/semver/CHANGELOG.md +39 -0
- package/node_modules/semver/README.md +43 -19
- package/node_modules/semver/bin/semver +92 -75
- package/node_modules/semver/package.json +25 -20
- package/node_modules/semver/semver.js +922 -763
- package/node_modules/set-blocking/package.json +13 -14
- package/node_modules/signal-exit/package.json +13 -14
- package/node_modules/string-width/package.json +14 -14
- package/node_modules/string_decoder/package.json +13 -14
- package/node_modules/strip-ansi/package.json +14 -14
- package/node_modules/strip-json-comments/package.json +13 -14
- package/node_modules/tar/README.md +7 -2
- package/node_modules/tar/lib/header.js +20 -4
- package/node_modules/tar/lib/large-numbers.js +32 -27
- package/node_modules/tar/lib/mkdir.js +2 -2
- package/node_modules/tar/lib/mode-fix.js +14 -0
- package/node_modules/tar/lib/pack.js +1 -0
- package/node_modules/tar/lib/parse.js +7 -1
- package/node_modules/tar/lib/read-entry.js +4 -0
- package/node_modules/tar/lib/unpack.js +67 -6
- package/node_modules/tar/lib/write-entry.js +25 -6
- package/node_modules/tar/package.json +33 -30
- package/node_modules/util-deprecate/package.json +13 -14
- package/node_modules/wide-align/package.json +19 -20
- package/node_modules/wrappy/package.json +14 -14
- package/node_modules/yallist/iterator.js +5 -5
- package/node_modules/yallist/package.json +19 -19
- package/node_modules/yallist/yallist.js +52 -2
- package/package.json +6 -9
- package/src/async.cc +2 -2
- package/src/constants.cc +20 -20
- package/src/thread.cc +5 -6
- package/.npmignore +0 -1
- package/build/.target.mk +0 -53
- package/build/Makefile +0 -352
- package/build/Release/.deps/Release/.node.d +0 -1
- package/build/Release/.deps/Release/fse.node.d +0 -1
- package/build/Release/.deps/Release/obj.target/action_after_build.stamp.d +0 -1
- package/build/Release/.deps/Release/obj.target/fse/fsevents.o.d +0 -65
- package/build/Release/.deps/Users/eshanker/Code/fsevents/lib/binding/Release/node-v48-darwin-x64/fse.node.d +0 -1
- package/build/Release/.node +0 -0
- package/build/Release/fse.node +0 -0
- package/build/Release/obj.target/action_after_build.stamp +0 -0
- package/build/Release/obj.target/fse/fsevents.o +0 -0
- package/build/action_after_build.target.mk +0 -32
- package/build/binding.Makefile +0 -6
- package/build/fse.target.mk +0 -179
- package/build/gyp-mac-tool +0 -611
- package/build/stage/v1.1.2/fse-v1.1.2-node-v48-darwin-x64.tar.gz +0 -0
- package/lib/binding/Release/node-v11-darwin-x64/fse.node +0 -0
- package/lib/binding/Release/node-v46-darwin-x64/fse.node +0 -0
- package/lib/binding/Release/node-v47-darwin-x64/fse.node +0 -0
- package/lib/binding/Release/node-v48-darwin-x64/fse.node +0 -0
- package/lib/binding/Release/node-v57-darwin-x64/fse.node +0 -0
- package/node_modules/are-we-there-yet/CHANGES.md~ +0 -27
- package/node_modules/debug/.coveralls.yml +0 -1
- package/node_modules/debug/.eslintrc +0 -11
- package/node_modules/debug/.npmignore +0 -9
- package/node_modules/debug/.travis.yml +0 -14
- package/node_modules/debug/Makefile +0 -50
- package/node_modules/debug/component.json +0 -19
- package/node_modules/debug/karma.conf.js +0 -70
- package/node_modules/debug/src/debug.js +0 -202
- package/node_modules/debug/src/inspector-log.js +0 -15
- package/node_modules/iconv-lite/.travis.yml +0 -23
- package/node_modules/rc/.npmignore +0 -3
- package/node_modules/safe-buffer/.travis.yml +0 -7
- package/node_modules/safe-buffer/test.js +0 -101
- 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
|
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
|
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
|
-
"
|
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-
|
5
|
+
"_integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
|
12
6
|
"_location": "/npm-bundled",
|
13
7
|
"_phantomChildren": {},
|
14
8
|
"_requested": {
|
15
|
-
"type": "
|
9
|
+
"type": "range",
|
16
10
|
"registry": true,
|
17
|
-
"raw": "npm-bundled
|
11
|
+
"raw": "npm-bundled@^1.0.1",
|
18
12
|
"name": "npm-bundled",
|
19
13
|
"escapedName": "npm-bundled",
|
20
|
-
"rawSpec": "1.0.
|
14
|
+
"rawSpec": "^1.0.1",
|
21
15
|
"saveSpec": null,
|
22
|
-
"fetchSpec": "1.0.
|
16
|
+
"fetchSpec": "^1.0.1"
|
23
17
|
},
|
24
|
-
"_requiredBy": [
|
25
|
-
|
26
|
-
|
27
|
-
"
|
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": "^
|
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.
|
62
|
+
"version": "1.1.1"
|
61
63
|
}
|
@@ -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
|