@oneblink/release-cli 1.2.0-beta.2 → 1.2.0-beta.3

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.
Files changed (429) hide show
  1. package/node_modules/@yarnpkg/lockfile/README.md +22 -0
  2. package/node_modules/@yarnpkg/lockfile/index.js +10273 -0
  3. package/node_modules/@yarnpkg/lockfile/package.json +19 -0
  4. package/node_modules/ansi-styles/index.js +165 -0
  5. package/node_modules/ansi-styles/license +9 -0
  6. package/node_modules/ansi-styles/package.json +60 -0
  7. package/node_modules/ansi-styles/readme.md +147 -0
  8. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  9. package/node_modules/balanced-match/LICENSE.md +21 -0
  10. package/node_modules/balanced-match/README.md +97 -0
  11. package/node_modules/balanced-match/index.js +62 -0
  12. package/node_modules/balanced-match/package.json +52 -0
  13. package/node_modules/brace-expansion/LICENSE +21 -0
  14. package/node_modules/brace-expansion/README.md +129 -0
  15. package/node_modules/brace-expansion/index.js +201 -0
  16. package/node_modules/brace-expansion/package.json +51 -0
  17. package/node_modules/braces/CHANGELOG.md +184 -0
  18. package/node_modules/braces/LICENSE +21 -0
  19. package/node_modules/braces/README.md +593 -0
  20. package/node_modules/braces/index.js +170 -0
  21. package/node_modules/braces/lib/compile.js +57 -0
  22. package/node_modules/braces/lib/constants.js +57 -0
  23. package/node_modules/braces/lib/expand.js +113 -0
  24. package/node_modules/braces/lib/parse.js +333 -0
  25. package/node_modules/braces/lib/stringify.js +32 -0
  26. package/node_modules/braces/lib/utils.js +112 -0
  27. package/node_modules/braces/package.json +81 -0
  28. package/node_modules/chalk/index.js +228 -0
  29. package/node_modules/chalk/index.js.flow +93 -0
  30. package/node_modules/chalk/license +9 -0
  31. package/node_modules/chalk/package.json +75 -0
  32. package/node_modules/chalk/readme.md +314 -0
  33. package/node_modules/chalk/templates.js +128 -0
  34. package/node_modules/chalk/types/index.d.ts +97 -0
  35. package/node_modules/changelog-parser/.DS_Store +0 -0
  36. package/node_modules/changelog-parser/.travis.yml +7 -0
  37. package/node_modules/changelog-parser/CHANGELOG.md +128 -0
  38. package/node_modules/changelog-parser/CONTRIBUTING.md +55 -0
  39. package/node_modules/changelog-parser/LICENSE.md +15 -0
  40. package/node_modules/changelog-parser/README.md +247 -0
  41. package/node_modules/changelog-parser/bin/cli.js +19 -0
  42. package/node_modules/changelog-parser/index.js +201 -0
  43. package/node_modules/changelog-parser/package.json +54 -0
  44. package/node_modules/changelog-parser/test/fixtures/CHANGELOG.md +44 -0
  45. package/node_modules/changelog-parser/test/fixtures/expected.js +113 -0
  46. package/node_modules/changelog-parser/test/fixtures/remove-markdown-expected.js +113 -0
  47. package/node_modules/changelog-parser/test/index.js +105 -0
  48. package/node_modules/ci-info/CHANGELOG.md +78 -0
  49. package/node_modules/ci-info/LICENSE +21 -0
  50. package/node_modules/ci-info/README.md +108 -0
  51. package/node_modules/ci-info/index.js +66 -0
  52. package/node_modules/ci-info/package.json +40 -0
  53. package/node_modules/ci-info/vendors.json +153 -0
  54. package/node_modules/color-convert/CHANGELOG.md +54 -0
  55. package/node_modules/color-convert/LICENSE +21 -0
  56. package/node_modules/color-convert/README.md +68 -0
  57. package/node_modules/color-convert/conversions.js +868 -0
  58. package/node_modules/color-convert/index.js +78 -0
  59. package/node_modules/color-convert/package.json +50 -0
  60. package/node_modules/color-convert/route.js +97 -0
  61. package/node_modules/color-name/.eslintrc.json +43 -0
  62. package/node_modules/color-name/.npmignore +107 -0
  63. package/node_modules/color-name/LICENSE +8 -0
  64. package/node_modules/color-name/README.md +11 -0
  65. package/node_modules/color-name/index.js +152 -0
  66. package/node_modules/color-name/package.json +29 -0
  67. package/node_modules/color-name/test.js +7 -0
  68. package/node_modules/concat-map/.travis.yml +4 -0
  69. package/node_modules/concat-map/LICENSE +18 -0
  70. package/node_modules/concat-map/README.markdown +62 -0
  71. package/node_modules/concat-map/example/map.js +6 -0
  72. package/node_modules/concat-map/index.js +13 -0
  73. package/node_modules/concat-map/package.json +47 -0
  74. package/node_modules/concat-map/test/map.js +39 -0
  75. package/node_modules/escape-string-regexp/index.js +11 -0
  76. package/node_modules/escape-string-regexp/license +21 -0
  77. package/node_modules/escape-string-regexp/package.json +45 -0
  78. package/node_modules/escape-string-regexp/readme.md +27 -0
  79. package/node_modules/fill-range/LICENSE +21 -0
  80. package/node_modules/fill-range/README.md +237 -0
  81. package/node_modules/fill-range/index.js +249 -0
  82. package/node_modules/fill-range/package.json +73 -0
  83. package/node_modules/find-yarn-workspace-root/CHANGELOG.md +53 -0
  84. package/node_modules/find-yarn-workspace-root/LICENSE +201 -0
  85. package/node_modules/find-yarn-workspace-root/README.md +56 -0
  86. package/node_modules/find-yarn-workspace-root/index.d.ts +3 -0
  87. package/node_modules/find-yarn-workspace-root/index.js +53 -0
  88. package/node_modules/find-yarn-workspace-root/package.json +38 -0
  89. package/node_modules/fs-extra/CHANGELOG.md +842 -0
  90. package/node_modules/fs-extra/LICENSE +15 -0
  91. package/node_modules/fs-extra/README.md +261 -0
  92. package/node_modules/fs-extra/lib/copy/copy.js +246 -0
  93. package/node_modules/fs-extra/lib/copy/index.js +6 -0
  94. package/node_modules/fs-extra/lib/copy-sync/copy-sync.js +193 -0
  95. package/node_modules/fs-extra/lib/copy-sync/index.js +5 -0
  96. package/node_modules/fs-extra/lib/empty/index.js +48 -0
  97. package/node_modules/fs-extra/lib/ensure/file.js +49 -0
  98. package/node_modules/fs-extra/lib/ensure/index.js +23 -0
  99. package/node_modules/fs-extra/lib/ensure/link.js +61 -0
  100. package/node_modules/fs-extra/lib/ensure/symlink-paths.js +99 -0
  101. package/node_modules/fs-extra/lib/ensure/symlink-type.js +31 -0
  102. package/node_modules/fs-extra/lib/ensure/symlink.js +63 -0
  103. package/node_modules/fs-extra/lib/fs/index.js +104 -0
  104. package/node_modules/fs-extra/lib/index.js +28 -0
  105. package/node_modules/fs-extra/lib/json/index.js +16 -0
  106. package/node_modules/fs-extra/lib/json/jsonfile.js +12 -0
  107. package/node_modules/fs-extra/lib/json/output-json-sync.js +18 -0
  108. package/node_modules/fs-extra/lib/json/output-json.js +27 -0
  109. package/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
  110. package/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js +54 -0
  111. package/node_modules/fs-extra/lib/mkdirs/mkdirs.js +63 -0
  112. package/node_modules/fs-extra/lib/mkdirs/win32.js +25 -0
  113. package/node_modules/fs-extra/lib/move/index.js +82 -0
  114. package/node_modules/fs-extra/lib/move-sync/index.js +117 -0
  115. package/node_modules/fs-extra/lib/output/index.js +40 -0
  116. package/node_modules/fs-extra/lib/path-exists/index.js +12 -0
  117. package/node_modules/fs-extra/lib/remove/index.js +9 -0
  118. package/node_modules/fs-extra/lib/remove/rimraf.js +314 -0
  119. package/node_modules/fs-extra/lib/util/buffer.js +12 -0
  120. package/node_modules/fs-extra/lib/util/utimes.js +79 -0
  121. package/node_modules/fs-extra/package.json +72 -0
  122. package/node_modules/fs.realpath/LICENSE +43 -0
  123. package/node_modules/fs.realpath/README.md +33 -0
  124. package/node_modules/fs.realpath/index.js +66 -0
  125. package/node_modules/fs.realpath/old.js +303 -0
  126. package/node_modules/fs.realpath/package.json +30 -0
  127. package/node_modules/glob/LICENSE +21 -0
  128. package/node_modules/glob/README.md +375 -0
  129. package/node_modules/glob/changelog.md +67 -0
  130. package/node_modules/glob/common.js +240 -0
  131. package/node_modules/glob/glob.js +790 -0
  132. package/node_modules/glob/package.json +50 -0
  133. package/node_modules/glob/sync.js +486 -0
  134. package/node_modules/graceful-fs/LICENSE +15 -0
  135. package/node_modules/graceful-fs/README.md +133 -0
  136. package/node_modules/graceful-fs/clone.js +23 -0
  137. package/node_modules/graceful-fs/graceful-fs.js +373 -0
  138. package/node_modules/graceful-fs/legacy-streams.js +118 -0
  139. package/node_modules/graceful-fs/package.json +54 -0
  140. package/node_modules/graceful-fs/polyfills.js +346 -0
  141. package/node_modules/has-flag/index.js +8 -0
  142. package/node_modules/has-flag/license +9 -0
  143. package/node_modules/has-flag/package.json +48 -0
  144. package/node_modules/has-flag/readme.md +70 -0
  145. package/node_modules/inflight/LICENSE +15 -0
  146. package/node_modules/inflight/README.md +37 -0
  147. package/node_modules/inflight/inflight.js +54 -0
  148. package/node_modules/inflight/package.json +33 -0
  149. package/node_modules/inherits/LICENSE +16 -0
  150. package/node_modules/inherits/README.md +42 -0
  151. package/node_modules/inherits/inherits.js +9 -0
  152. package/node_modules/inherits/inherits_browser.js +27 -0
  153. package/node_modules/inherits/package.json +33 -0
  154. package/node_modules/is-ci/CHANGELOG.md +14 -0
  155. package/node_modules/is-ci/LICENSE +21 -0
  156. package/node_modules/is-ci/README.md +50 -0
  157. package/node_modules/is-ci/bin.js +4 -0
  158. package/node_modules/is-ci/index.js +3 -0
  159. package/node_modules/is-ci/package.json +42 -0
  160. package/node_modules/is-docker/cli.js +5 -0
  161. package/node_modules/is-docker/index.d.ts +15 -0
  162. package/node_modules/is-docker/index.js +29 -0
  163. package/node_modules/is-docker/license +9 -0
  164. package/node_modules/is-docker/package.json +46 -0
  165. package/node_modules/is-docker/readme.md +27 -0
  166. package/node_modules/is-number/LICENSE +21 -0
  167. package/node_modules/is-number/README.md +187 -0
  168. package/node_modules/is-number/index.js +18 -0
  169. package/node_modules/is-number/package.json +86 -0
  170. package/node_modules/is-wsl/index.d.ts +15 -0
  171. package/node_modules/is-wsl/index.js +31 -0
  172. package/node_modules/is-wsl/license +9 -0
  173. package/node_modules/is-wsl/package.json +49 -0
  174. package/node_modules/is-wsl/readme.md +36 -0
  175. package/node_modules/isexe/.npmignore +2 -0
  176. package/node_modules/isexe/LICENSE +15 -0
  177. package/node_modules/isexe/README.md +51 -0
  178. package/node_modules/isexe/index.js +57 -0
  179. package/node_modules/isexe/mode.js +41 -0
  180. package/node_modules/isexe/package.json +35 -0
  181. package/node_modules/isexe/test/basic.js +221 -0
  182. package/node_modules/isexe/windows.js +42 -0
  183. package/node_modules/jsonfile/CHANGELOG.md +145 -0
  184. package/node_modules/jsonfile/LICENSE +15 -0
  185. package/node_modules/jsonfile/README.md +168 -0
  186. package/node_modules/jsonfile/index.js +134 -0
  187. package/node_modules/jsonfile/package.json +41 -0
  188. package/node_modules/klaw-sync/CHANGELOG.md +73 -0
  189. package/node_modules/klaw-sync/LICENSE +20 -0
  190. package/node_modules/klaw-sync/README.md +164 -0
  191. package/node_modules/klaw-sync/klaw-sync.js +29 -0
  192. package/node_modules/klaw-sync/package.json +51 -0
  193. package/node_modules/line-reader/LICENSE +20 -0
  194. package/node_modules/line-reader/README.md +75 -0
  195. package/node_modules/line-reader/lib/line_reader.js +174 -0
  196. package/node_modules/line-reader/package.json +18 -0
  197. package/node_modules/line-reader/test/data/empty_file.txt +0 -0
  198. package/node_modules/line-reader/test/data/multi_separator_file.txt +2 -0
  199. package/node_modules/line-reader/test/data/multibyte_file.txt +2 -0
  200. package/node_modules/line-reader/test/data/normal_file.txt +6 -0
  201. package/node_modules/line-reader/test/data/one_line_file.txt +1 -0
  202. package/node_modules/line-reader/test/data/separator_file.txt +2 -0
  203. package/node_modules/line-reader/test/data/three_line_file.txt +3 -0
  204. package/node_modules/line-reader/test/line_reader.js +222 -0
  205. package/node_modules/lru-cache/LICENSE +15 -0
  206. package/node_modules/lru-cache/README.md +166 -0
  207. package/node_modules/lru-cache/index.js +334 -0
  208. package/node_modules/lru-cache/package.json +38 -0
  209. package/node_modules/micromatch/CHANGELOG.md +109 -0
  210. package/node_modules/micromatch/LICENSE +21 -0
  211. package/node_modules/micromatch/README.md +1008 -0
  212. package/node_modules/micromatch/index.js +467 -0
  213. package/node_modules/micromatch/package.json +123 -0
  214. package/node_modules/minimatch/LICENSE +15 -0
  215. package/node_modules/minimatch/README.md +209 -0
  216. package/node_modules/minimatch/minimatch.js +923 -0
  217. package/node_modules/minimatch/package.json +34 -0
  218. package/node_modules/minimist/.travis.yml +8 -0
  219. package/node_modules/minimist/LICENSE +18 -0
  220. package/node_modules/minimist/example/parse.js +2 -0
  221. package/node_modules/minimist/index.js +245 -0
  222. package/node_modules/minimist/package.json +49 -0
  223. package/node_modules/minimist/readme.markdown +95 -0
  224. package/node_modules/minimist/test/all_bool.js +32 -0
  225. package/node_modules/minimist/test/bool.js +178 -0
  226. package/node_modules/minimist/test/dash.js +31 -0
  227. package/node_modules/minimist/test/default_bool.js +35 -0
  228. package/node_modules/minimist/test/dotted.js +22 -0
  229. package/node_modules/minimist/test/kv_short.js +16 -0
  230. package/node_modules/minimist/test/long.js +31 -0
  231. package/node_modules/minimist/test/num.js +36 -0
  232. package/node_modules/minimist/test/parse.js +197 -0
  233. package/node_modules/minimist/test/parse_modified.js +9 -0
  234. package/node_modules/minimist/test/proto.js +44 -0
  235. package/node_modules/minimist/test/short.js +67 -0
  236. package/node_modules/minimist/test/stop_early.js +15 -0
  237. package/node_modules/minimist/test/unknown.js +102 -0
  238. package/node_modules/minimist/test/whitespace.js +8 -0
  239. package/node_modules/nice-try/CHANGELOG.md +21 -0
  240. package/node_modules/nice-try/LICENSE +21 -0
  241. package/node_modules/nice-try/README.md +32 -0
  242. package/node_modules/nice-try/package.json +37 -0
  243. package/node_modules/nice-try/src/index.js +12 -0
  244. package/node_modules/once/LICENSE +15 -0
  245. package/node_modules/once/README.md +79 -0
  246. package/node_modules/once/once.js +42 -0
  247. package/node_modules/once/package.json +37 -0
  248. package/node_modules/open/index.d.ts +88 -0
  249. package/node_modules/open/index.js +195 -0
  250. package/node_modules/open/license +9 -0
  251. package/node_modules/open/package.json +64 -0
  252. package/node_modules/open/readme.md +154 -0
  253. package/node_modules/open/xdg-open +1066 -0
  254. package/node_modules/os-tmpdir/index.js +25 -0
  255. package/node_modules/os-tmpdir/license +21 -0
  256. package/node_modules/os-tmpdir/package.json +45 -0
  257. package/node_modules/os-tmpdir/readme.md +32 -0
  258. package/node_modules/patch-package/CHANGELOG.md +389 -0
  259. package/node_modules/patch-package/LICENSE +19 -0
  260. package/node_modules/patch-package/README.md +269 -0
  261. package/node_modules/patch-package/dist/PackageDetails.js +102 -0
  262. package/node_modules/patch-package/dist/PackageDetails.test.js +228 -0
  263. package/node_modules/patch-package/dist/applyPatches.js +261 -0
  264. package/node_modules/patch-package/dist/assertNever.js +8 -0
  265. package/node_modules/patch-package/dist/createIssue.js +83 -0
  266. package/node_modules/patch-package/dist/detectPackageManager.js +64 -0
  267. package/node_modules/patch-package/dist/filterFiles.js +17 -0
  268. package/node_modules/patch-package/dist/getAppRootPath.js +22 -0
  269. package/node_modules/patch-package/dist/getPackageResolution.js +85 -0
  270. package/node_modules/patch-package/dist/getPackageVersion.js +9 -0
  271. package/node_modules/patch-package/dist/index.js +161 -0
  272. package/node_modules/patch-package/dist/makePatch.js +231 -0
  273. package/node_modules/patch-package/dist/makeRegExp.js +28 -0
  274. package/node_modules/patch-package/dist/packageIsDevDependency.js +15 -0
  275. package/node_modules/patch-package/dist/packageIsDevDependency.test.js +32 -0
  276. package/node_modules/patch-package/dist/patch/apply.js +197 -0
  277. package/node_modules/patch-package/dist/patch/parse.js +330 -0
  278. package/node_modules/patch-package/dist/patch/read.js +49 -0
  279. package/node_modules/patch-package/dist/patch/reverse.js +96 -0
  280. package/node_modules/patch-package/dist/patchFs.js +20 -0
  281. package/node_modules/patch-package/dist/path.js +17 -0
  282. package/node_modules/patch-package/dist/resolveRelativeFileDependencies.js +21 -0
  283. package/node_modules/patch-package/dist/resolveRelativeFileDependencies.test.js +22 -0
  284. package/node_modules/patch-package/dist/spawnSafe.js +28 -0
  285. package/node_modules/patch-package/index.js +3 -0
  286. package/node_modules/patch-package/node_modules/cross-spawn/CHANGELOG.md +100 -0
  287. package/node_modules/patch-package/node_modules/cross-spawn/LICENSE +21 -0
  288. package/node_modules/patch-package/node_modules/cross-spawn/README.md +94 -0
  289. package/node_modules/patch-package/node_modules/cross-spawn/index.js +39 -0
  290. package/node_modules/patch-package/node_modules/cross-spawn/lib/enoent.js +59 -0
  291. package/node_modules/patch-package/node_modules/cross-spawn/lib/parse.js +125 -0
  292. package/node_modules/patch-package/node_modules/cross-spawn/lib/util/escape.js +45 -0
  293. package/node_modules/patch-package/node_modules/cross-spawn/lib/util/readShebang.js +32 -0
  294. package/node_modules/patch-package/node_modules/cross-spawn/lib/util/resolveCommand.js +47 -0
  295. package/node_modules/patch-package/node_modules/cross-spawn/package.json +80 -0
  296. package/node_modules/patch-package/node_modules/path-key/index.js +13 -0
  297. package/node_modules/patch-package/node_modules/path-key/license +21 -0
  298. package/node_modules/patch-package/node_modules/path-key/package.json +43 -0
  299. package/node_modules/patch-package/node_modules/path-key/readme.md +51 -0
  300. package/node_modules/patch-package/node_modules/rimraf/LICENSE +15 -0
  301. package/node_modules/patch-package/node_modules/rimraf/README.md +101 -0
  302. package/node_modules/patch-package/node_modules/rimraf/bin.js +50 -0
  303. package/node_modules/patch-package/node_modules/rimraf/package.json +33 -0
  304. package/node_modules/patch-package/node_modules/rimraf/rimraf.js +372 -0
  305. package/node_modules/patch-package/node_modules/semver/CHANGELOG.md +39 -0
  306. package/node_modules/patch-package/node_modules/semver/LICENSE +15 -0
  307. package/node_modules/patch-package/node_modules/semver/README.md +412 -0
  308. package/node_modules/patch-package/node_modules/semver/bin/semver +160 -0
  309. package/node_modules/patch-package/node_modules/semver/package.json +32 -0
  310. package/node_modules/patch-package/node_modules/semver/range.bnf +16 -0
  311. package/node_modules/patch-package/node_modules/semver/semver.js +1483 -0
  312. package/node_modules/patch-package/node_modules/shebang-command/index.js +19 -0
  313. package/node_modules/patch-package/node_modules/shebang-command/license +21 -0
  314. package/node_modules/patch-package/node_modules/shebang-command/package.json +43 -0
  315. package/node_modules/patch-package/node_modules/shebang-command/readme.md +39 -0
  316. package/node_modules/patch-package/node_modules/shebang-regex/index.js +2 -0
  317. package/node_modules/patch-package/node_modules/shebang-regex/license +21 -0
  318. package/node_modules/patch-package/node_modules/shebang-regex/package.json +36 -0
  319. package/node_modules/patch-package/node_modules/shebang-regex/readme.md +29 -0
  320. package/node_modules/patch-package/node_modules/slash/index.js +11 -0
  321. package/node_modules/patch-package/node_modules/slash/license +9 -0
  322. package/node_modules/patch-package/node_modules/slash/package.json +38 -0
  323. package/node_modules/patch-package/node_modules/slash/readme.md +44 -0
  324. package/node_modules/patch-package/node_modules/which/CHANGELOG.md +152 -0
  325. package/node_modules/patch-package/node_modules/which/LICENSE +15 -0
  326. package/node_modules/patch-package/node_modules/which/README.md +51 -0
  327. package/node_modules/patch-package/node_modules/which/bin/which +52 -0
  328. package/node_modules/patch-package/node_modules/which/package.json +34 -0
  329. package/node_modules/patch-package/node_modules/which/which.js +135 -0
  330. package/node_modules/patch-package/package.json +100 -0
  331. package/node_modules/path-is-absolute/index.js +20 -0
  332. package/node_modules/path-is-absolute/license +21 -0
  333. package/node_modules/path-is-absolute/package.json +47 -0
  334. package/node_modules/path-is-absolute/readme.md +59 -0
  335. package/node_modules/picomatch/CHANGELOG.md +120 -0
  336. package/node_modules/picomatch/LICENSE +21 -0
  337. package/node_modules/picomatch/README.md +691 -0
  338. package/node_modules/picomatch/index.js +3 -0
  339. package/node_modules/picomatch/lib/constants.js +179 -0
  340. package/node_modules/picomatch/lib/parse.js +1078 -0
  341. package/node_modules/picomatch/lib/picomatch.js +339 -0
  342. package/node_modules/picomatch/lib/scan.js +385 -0
  343. package/node_modules/picomatch/lib/utils.js +64 -0
  344. package/node_modules/picomatch/package.json +85 -0
  345. package/node_modules/remove-markdown/.npmignore +1 -0
  346. package/node_modules/remove-markdown/LICENSE +21 -0
  347. package/node_modules/remove-markdown/README.md +44 -0
  348. package/node_modules/remove-markdown/index.js +60 -0
  349. package/node_modules/remove-markdown/package.json +31 -0
  350. package/node_modules/remove-markdown/test/remove-markdown.js +139 -0
  351. package/node_modules/semver/CHANGELOG.md +111 -0
  352. package/node_modules/semver/LICENSE +15 -0
  353. package/node_modules/semver/README.md +566 -0
  354. package/node_modules/semver/bin/semver.js +173 -0
  355. package/node_modules/semver/classes/comparator.js +135 -0
  356. package/node_modules/semver/classes/index.js +5 -0
  357. package/node_modules/semver/classes/range.js +510 -0
  358. package/node_modules/semver/classes/semver.js +287 -0
  359. package/node_modules/semver/functions/clean.js +6 -0
  360. package/node_modules/semver/functions/cmp.js +48 -0
  361. package/node_modules/semver/functions/coerce.js +51 -0
  362. package/node_modules/semver/functions/compare-build.js +7 -0
  363. package/node_modules/semver/functions/compare-loose.js +3 -0
  364. package/node_modules/semver/functions/compare.js +5 -0
  365. package/node_modules/semver/functions/diff.js +23 -0
  366. package/node_modules/semver/functions/eq.js +3 -0
  367. package/node_modules/semver/functions/gt.js +3 -0
  368. package/node_modules/semver/functions/gte.js +3 -0
  369. package/node_modules/semver/functions/inc.js +15 -0
  370. package/node_modules/semver/functions/lt.js +3 -0
  371. package/node_modules/semver/functions/lte.js +3 -0
  372. package/node_modules/semver/functions/major.js +3 -0
  373. package/node_modules/semver/functions/minor.js +3 -0
  374. package/node_modules/semver/functions/neq.js +3 -0
  375. package/node_modules/semver/functions/parse.js +33 -0
  376. package/node_modules/semver/functions/patch.js +3 -0
  377. package/node_modules/semver/functions/prerelease.js +6 -0
  378. package/node_modules/semver/functions/rcompare.js +3 -0
  379. package/node_modules/semver/functions/rsort.js +3 -0
  380. package/node_modules/semver/functions/satisfies.js +10 -0
  381. package/node_modules/semver/functions/sort.js +3 -0
  382. package/node_modules/semver/functions/valid.js +6 -0
  383. package/node_modules/semver/index.js +48 -0
  384. package/node_modules/semver/internal/constants.js +17 -0
  385. package/node_modules/semver/internal/debug.js +9 -0
  386. package/node_modules/semver/internal/identifiers.js +23 -0
  387. package/node_modules/semver/internal/parse-options.js +11 -0
  388. package/node_modules/semver/internal/re.js +182 -0
  389. package/node_modules/semver/package.json +45 -0
  390. package/node_modules/semver/preload.js +2 -0
  391. package/node_modules/semver/range.bnf +16 -0
  392. package/node_modules/semver/ranges/gtr.js +4 -0
  393. package/node_modules/semver/ranges/intersects.js +7 -0
  394. package/node_modules/semver/ranges/ltr.js +4 -0
  395. package/node_modules/semver/ranges/max-satisfying.js +25 -0
  396. package/node_modules/semver/ranges/min-satisfying.js +24 -0
  397. package/node_modules/semver/ranges/min-version.js +60 -0
  398. package/node_modules/semver/ranges/outside.js +80 -0
  399. package/node_modules/semver/ranges/simplify.js +44 -0
  400. package/node_modules/semver/ranges/subset.js +222 -0
  401. package/node_modules/semver/ranges/to-comparators.js +8 -0
  402. package/node_modules/semver/ranges/valid.js +11 -0
  403. package/node_modules/supports-color/browser.js +5 -0
  404. package/node_modules/supports-color/index.js +131 -0
  405. package/node_modules/supports-color/license +9 -0
  406. package/node_modules/supports-color/package.json +57 -0
  407. package/node_modules/supports-color/readme.md +66 -0
  408. package/node_modules/tmp/LICENSE +21 -0
  409. package/node_modules/tmp/README.md +314 -0
  410. package/node_modules/tmp/lib/tmp.js +611 -0
  411. package/node_modules/tmp/package.json +42 -0
  412. package/node_modules/to-regex-range/LICENSE +21 -0
  413. package/node_modules/to-regex-range/README.md +305 -0
  414. package/node_modules/to-regex-range/index.js +288 -0
  415. package/node_modules/to-regex-range/package.json +92 -0
  416. package/node_modules/universalify/LICENSE +20 -0
  417. package/node_modules/universalify/README.md +76 -0
  418. package/node_modules/universalify/index.js +25 -0
  419. package/node_modules/universalify/package.json +38 -0
  420. package/node_modules/wrappy/LICENSE +15 -0
  421. package/node_modules/wrappy/README.md +36 -0
  422. package/node_modules/wrappy/package.json +33 -0
  423. package/node_modules/wrappy/wrappy.js +33 -0
  424. package/node_modules/yallist/LICENSE +15 -0
  425. package/node_modules/yallist/README.md +204 -0
  426. package/node_modules/yallist/iterator.js +8 -0
  427. package/node_modules/yallist/package.json +33 -0
  428. package/node_modules/yallist/yallist.js +426 -0
  429. package/package.json +5 -1
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.readPatch = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const fs_extra_1 = require("fs-extra");
9
+ const path_1 = require("../path");
10
+ const path_2 = require("path");
11
+ const parse_1 = require("./parse");
12
+ function readPatch({ patchFilePath, packageDetails, patchDir, }) {
13
+ try {
14
+ return parse_1.parsePatchFile(fs_extra_1.readFileSync(patchFilePath).toString());
15
+ }
16
+ catch (e) {
17
+ const fixupSteps = [];
18
+ const relativePatchFilePath = path_2.normalize(path_1.relative(process.cwd(), patchFilePath));
19
+ const patchBaseDir = relativePatchFilePath.slice(0, relativePatchFilePath.indexOf(patchDir));
20
+ if (patchBaseDir) {
21
+ fixupSteps.push(`cd ${patchBaseDir}`);
22
+ }
23
+ fixupSteps.push(`patch -p1 -i ${relativePatchFilePath.slice(relativePatchFilePath.indexOf(patchDir))}`);
24
+ fixupSteps.push(`npx patch-package ${packageDetails.pathSpecifier}`);
25
+ if (patchBaseDir) {
26
+ fixupSteps.push(`cd ${path_1.relative(path_1.resolve(process.cwd(), patchBaseDir), process.cwd())}`);
27
+ }
28
+ console.error(`
29
+ ${chalk_1.default.red.bold("**ERROR**")} ${chalk_1.default.red(`Failed to apply patch for package ${chalk_1.default.bold(packageDetails.humanReadablePathSpecifier)}`)}
30
+
31
+ This happened because the patch file ${relativePatchFilePath} could not be parsed.
32
+
33
+ If you just upgraded patch-package, you can try running:
34
+
35
+ ${fixupSteps.join("\n ")}
36
+
37
+ Otherwise, try manually creating the patch file again.
38
+
39
+ If the problem persists, please submit a bug report:
40
+
41
+ https://github.com/ds300/patch-package/issues/new?title=Patch+file+parse+error&body=%3CPlease+attach+the+patch+file+in+question%3E
42
+
43
+ `);
44
+ process.exit(1);
45
+ }
46
+ return [];
47
+ }
48
+ exports.readPatch = readPatch;
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXRjaC9yZWFkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQUF5QjtBQUN6Qix1Q0FBdUM7QUFDdkMsa0NBQTJDO0FBQzNDLCtCQUFnQztBQUVoQyxtQ0FBdUQ7QUFFdkQsU0FBZ0IsU0FBUyxDQUFDLEVBQ3hCLGFBQWEsRUFDYixjQUFjLEVBQ2QsUUFBUSxHQUtUO0lBQ0MsSUFBSTtRQUNGLE9BQU8sc0JBQWMsQ0FBQyx1QkFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7S0FDOUQ7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE1BQU0sVUFBVSxHQUFhLEVBQUUsQ0FBQTtRQUMvQixNQUFNLHFCQUFxQixHQUFHLGdCQUFTLENBQ3JDLGVBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQ3ZDLENBQUE7UUFDRCxNQUFNLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQzlDLENBQUMsRUFDRCxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQ3hDLENBQUE7UUFDRCxJQUFJLFlBQVksRUFBRTtZQUNoQixVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sWUFBWSxFQUFFLENBQUMsQ0FBQTtTQUN0QztRQUNELFVBQVUsQ0FBQyxJQUFJLENBQ2IsZ0JBQWdCLHFCQUFxQixDQUFDLEtBQUssQ0FDekMscUJBQXFCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUN4QyxFQUFFLENBQ0osQ0FBQTtRQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFBO1FBQ3BFLElBQUksWUFBWSxFQUFFO1lBQ2hCLFVBQVUsQ0FBQyxJQUFJLENBQ2IsTUFBTSxlQUFRLENBQUMsY0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxZQUFZLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUN0RSxDQUFBO1NBQ0Y7UUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDO0VBQ2hCLGVBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLGVBQUssQ0FBQyxHQUFHLENBQ3BDLHFDQUFxQyxlQUFLLENBQUMsSUFBSSxDQUM3QyxjQUFjLENBQUMsMEJBQTBCLENBQzFDLEVBQUUsQ0FDSjs7eUNBRW9DLHFCQUFxQjs7OztNQUl4RCxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzs7Ozs7Ozs7Q0FROUIsQ0FBQyxDQUFBO1FBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUNoQjtJQUNELE9BQU8sRUFBRSxDQUFBO0FBQ1gsQ0FBQztBQTFERCw4QkEwREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCJcbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgeyByZWxhdGl2ZSwgcmVzb2x2ZSB9IGZyb20gXCIuLi9wYXRoXCJcbmltcG9ydCB7IG5vcm1hbGl6ZSB9IGZyb20gXCJwYXRoXCJcbmltcG9ydCB7IFBhY2thZ2VEZXRhaWxzIH0gZnJvbSBcIi4uL1BhY2thZ2VEZXRhaWxzXCJcbmltcG9ydCB7IHBhcnNlUGF0Y2hGaWxlLCBQYXRjaEZpbGVQYXJ0IH0gZnJvbSBcIi4vcGFyc2VcIlxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFBhdGNoKHtcbiAgcGF0Y2hGaWxlUGF0aCxcbiAgcGFja2FnZURldGFpbHMsXG4gIHBhdGNoRGlyLFxufToge1xuICBwYXRjaEZpbGVQYXRoOiBzdHJpbmdcbiAgcGFja2FnZURldGFpbHM6IFBhY2thZ2VEZXRhaWxzXG4gIHBhdGNoRGlyOiBzdHJpbmdcbn0pOiBQYXRjaEZpbGVQYXJ0W10ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZVBhdGNoRmlsZShyZWFkRmlsZVN5bmMocGF0Y2hGaWxlUGF0aCkudG9TdHJpbmcoKSlcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnN0IGZpeHVwU3RlcHM6IHN0cmluZ1tdID0gW11cbiAgICBjb25zdCByZWxhdGl2ZVBhdGNoRmlsZVBhdGggPSBub3JtYWxpemUoXG4gICAgICByZWxhdGl2ZShwcm9jZXNzLmN3ZCgpLCBwYXRjaEZpbGVQYXRoKSxcbiAgICApXG4gICAgY29uc3QgcGF0Y2hCYXNlRGlyID0gcmVsYXRpdmVQYXRjaEZpbGVQYXRoLnNsaWNlKFxuICAgICAgMCxcbiAgICAgIHJlbGF0aXZlUGF0Y2hGaWxlUGF0aC5pbmRleE9mKHBhdGNoRGlyKSxcbiAgICApXG4gICAgaWYgKHBhdGNoQmFzZURpcikge1xuICAgICAgZml4dXBTdGVwcy5wdXNoKGBjZCAke3BhdGNoQmFzZURpcn1gKVxuICAgIH1cbiAgICBmaXh1cFN0ZXBzLnB1c2goXG4gICAgICBgcGF0Y2ggLXAxIC1pICR7cmVsYXRpdmVQYXRjaEZpbGVQYXRoLnNsaWNlKFxuICAgICAgICByZWxhdGl2ZVBhdGNoRmlsZVBhdGguaW5kZXhPZihwYXRjaERpciksXG4gICAgICApfWAsXG4gICAgKVxuICAgIGZpeHVwU3RlcHMucHVzaChgbnB4IHBhdGNoLXBhY2thZ2UgJHtwYWNrYWdlRGV0YWlscy5wYXRoU3BlY2lmaWVyfWApXG4gICAgaWYgKHBhdGNoQmFzZURpcikge1xuICAgICAgZml4dXBTdGVwcy5wdXNoKFxuICAgICAgICBgY2QgJHtyZWxhdGl2ZShyZXNvbHZlKHByb2Nlc3MuY3dkKCksIHBhdGNoQmFzZURpciksIHByb2Nlc3MuY3dkKCkpfWAsXG4gICAgICApXG4gICAgfVxuXG4gICAgY29uc29sZS5lcnJvcihgXG4ke2NoYWxrLnJlZC5ib2xkKFwiKipFUlJPUioqXCIpfSAke2NoYWxrLnJlZChcbiAgICAgIGBGYWlsZWQgdG8gYXBwbHkgcGF0Y2ggZm9yIHBhY2thZ2UgJHtjaGFsay5ib2xkKFxuICAgICAgICBwYWNrYWdlRGV0YWlscy5odW1hblJlYWRhYmxlUGF0aFNwZWNpZmllcixcbiAgICAgICl9YCxcbiAgICApfVxuICAgIFxuICBUaGlzIGhhcHBlbmVkIGJlY2F1c2UgdGhlIHBhdGNoIGZpbGUgJHtyZWxhdGl2ZVBhdGNoRmlsZVBhdGh9IGNvdWxkIG5vdCBiZSBwYXJzZWQuXG4gICBcbiAgSWYgeW91IGp1c3QgdXBncmFkZWQgcGF0Y2gtcGFja2FnZSwgeW91IGNhbiB0cnkgcnVubmluZzpcbiAgXG4gICAgJHtmaXh1cFN0ZXBzLmpvaW4oXCJcXG4gICAgXCIpfVxuICAgIFxuICBPdGhlcndpc2UsIHRyeSBtYW51YWxseSBjcmVhdGluZyB0aGUgcGF0Y2ggZmlsZSBhZ2Fpbi5cbiAgXG4gIElmIHRoZSBwcm9ibGVtIHBlcnNpc3RzLCBwbGVhc2Ugc3VibWl0IGEgYnVnIHJlcG9ydDpcbiAgXG4gICAgaHR0cHM6Ly9naXRodWIuY29tL2RzMzAwL3BhdGNoLXBhY2thZ2UvaXNzdWVzL25ldz90aXRsZT1QYXRjaCtmaWxlK3BhcnNlK2Vycm9yJmJvZHk9JTNDUGxlYXNlK2F0dGFjaCt0aGUrcGF0Y2grZmlsZStpbitxdWVzdGlvbiUzRVxuXG5gKVxuICAgIHByb2Nlc3MuZXhpdCgxKVxuICB9XG4gIHJldHVybiBbXVxufVxuIl19
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.reversePatch = void 0;
4
+ const parse_1 = require("./parse");
5
+ const assertNever_1 = require("../assertNever");
6
+ function reverseHunk(hunk) {
7
+ const header = {
8
+ original: hunk.header.patched,
9
+ patched: hunk.header.original,
10
+ };
11
+ const parts = [];
12
+ for (const part of hunk.parts) {
13
+ switch (part.type) {
14
+ case "context":
15
+ parts.push(part);
16
+ break;
17
+ case "deletion":
18
+ parts.push({
19
+ type: "insertion",
20
+ lines: part.lines,
21
+ noNewlineAtEndOfFile: part.noNewlineAtEndOfFile,
22
+ });
23
+ break;
24
+ case "insertion":
25
+ parts.push({
26
+ type: "deletion",
27
+ lines: part.lines,
28
+ noNewlineAtEndOfFile: part.noNewlineAtEndOfFile,
29
+ });
30
+ break;
31
+ default:
32
+ assertNever_1.assertNever(part.type);
33
+ }
34
+ }
35
+ // swap insertions and deletions over so deletions always come first
36
+ for (let i = 0; i < parts.length - 1; i++) {
37
+ if (parts[i].type === "insertion" && parts[i + 1].type === "deletion") {
38
+ const tmp = parts[i];
39
+ parts[i] = parts[i + 1];
40
+ parts[i + 1] = tmp;
41
+ i += 1;
42
+ }
43
+ }
44
+ const result = {
45
+ header,
46
+ parts,
47
+ };
48
+ parse_1.verifyHunkIntegrity(result);
49
+ return result;
50
+ }
51
+ function reversePatchPart(part) {
52
+ switch (part.type) {
53
+ case "file creation":
54
+ return {
55
+ type: "file deletion",
56
+ path: part.path,
57
+ hash: part.hash,
58
+ hunk: part.hunk && reverseHunk(part.hunk),
59
+ mode: part.mode,
60
+ };
61
+ case "file deletion":
62
+ return {
63
+ type: "file creation",
64
+ path: part.path,
65
+ hunk: part.hunk && reverseHunk(part.hunk),
66
+ mode: part.mode,
67
+ hash: part.hash,
68
+ };
69
+ case "rename":
70
+ return {
71
+ type: "rename",
72
+ fromPath: part.toPath,
73
+ toPath: part.fromPath,
74
+ };
75
+ case "patch":
76
+ return {
77
+ type: "patch",
78
+ path: part.path,
79
+ hunks: part.hunks.map(reverseHunk),
80
+ beforeHash: part.afterHash,
81
+ afterHash: part.beforeHash,
82
+ };
83
+ case "mode change":
84
+ return {
85
+ type: "mode change",
86
+ path: part.path,
87
+ newMode: part.oldMode,
88
+ oldMode: part.newMode,
89
+ };
90
+ }
91
+ }
92
+ const reversePatch = (patch) => {
93
+ return patch.map(reversePatchPart).reverse();
94
+ };
95
+ exports.reversePatch = reversePatch;
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2ZXJzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXRjaC9yZXZlcnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQU1nQjtBQUNoQixnREFBNEM7QUFFNUMsU0FBUyxXQUFXLENBQUMsSUFBVTtJQUM3QixNQUFNLE1BQU0sR0FBZTtRQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO1FBQzdCLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7S0FDOUIsQ0FBQTtJQUNELE1BQU0sS0FBSyxHQUFrQixFQUFFLENBQUE7SUFFL0IsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQzdCLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLFNBQVM7Z0JBQ1osS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDaEIsTUFBSztZQUNQLEtBQUssVUFBVTtnQkFDYixLQUFLLENBQUMsSUFBSSxDQUFDO29CQUNULElBQUksRUFBRSxXQUFXO29CQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7b0JBQ2pCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxvQkFBb0I7aUJBQ2hELENBQUMsQ0FBQTtnQkFDRixNQUFLO1lBQ1AsS0FBSyxXQUFXO2dCQUNkLEtBQUssQ0FBQyxJQUFJLENBQUM7b0JBQ1QsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztvQkFDakIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtpQkFDaEQsQ0FBQyxDQUFBO2dCQUNGLE1BQUs7WUFDUDtnQkFDRSx5QkFBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtTQUN6QjtLQUNGO0lBRUQsb0VBQW9FO0lBQ3BFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN6QyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxJQUFJLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRTtZQUNyRSxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDcEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7WUFDdkIsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUE7WUFDbEIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtTQUNQO0tBQ0Y7SUFFRCxNQUFNLE1BQU0sR0FBUztRQUNuQixNQUFNO1FBQ04sS0FBSztLQUNOLENBQUE7SUFFRCwyQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUUzQixPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLElBQW1CO0lBQzNDLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtRQUNqQixLQUFLLGVBQWU7WUFDbEIsT0FBTztnQkFDTCxJQUFJLEVBQUUsZUFBZTtnQkFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDekMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2FBQ2hCLENBQUE7UUFDSCxLQUFLLGVBQWU7WUFDbEIsT0FBTztnQkFDTCxJQUFJLEVBQUUsZUFBZTtnQkFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUN6QyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2FBQ2hCLENBQUE7UUFDSCxLQUFLLFFBQVE7WUFDWCxPQUFPO2dCQUNMLElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3RCLENBQUE7UUFDSCxLQUFLLE9BQU87WUFDVixPQUFPO2dCQUNMLElBQUksRUFBRSxPQUFPO2dCQUNiLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO2dCQUNsQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQzFCLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVTthQUMzQixDQUFBO1FBQ0gsS0FBSyxhQUFhO1lBQ2hCLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ3JCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUN0QixDQUFBO0tBQ0o7QUFDSCxDQUFDO0FBRU0sTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFzQixFQUFtQixFQUFFO0lBQ3RFLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBO0FBQzlDLENBQUMsQ0FBQTtBQUZZLFFBQUEsWUFBWSxnQkFFeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBQYXJzZWRQYXRjaEZpbGUsXG4gIFBhdGNoRmlsZVBhcnQsXG4gIEh1bmssXG4gIEh1bmtIZWFkZXIsXG4gIHZlcmlmeUh1bmtJbnRlZ3JpdHksXG59IGZyb20gXCIuL3BhcnNlXCJcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSBcIi4uL2Fzc2VydE5ldmVyXCJcblxuZnVuY3Rpb24gcmV2ZXJzZUh1bmsoaHVuazogSHVuayk6IEh1bmsge1xuICBjb25zdCBoZWFkZXI6IEh1bmtIZWFkZXIgPSB7XG4gICAgb3JpZ2luYWw6IGh1bmsuaGVhZGVyLnBhdGNoZWQsXG4gICAgcGF0Y2hlZDogaHVuay5oZWFkZXIub3JpZ2luYWwsXG4gIH1cbiAgY29uc3QgcGFydHM6IEh1bmtbXCJwYXJ0c1wiXSA9IFtdXG5cbiAgZm9yIChjb25zdCBwYXJ0IG9mIGh1bmsucGFydHMpIHtcbiAgICBzd2l0Y2ggKHBhcnQudHlwZSkge1xuICAgICAgY2FzZSBcImNvbnRleHRcIjpcbiAgICAgICAgcGFydHMucHVzaChwYXJ0KVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBcImRlbGV0aW9uXCI6XG4gICAgICAgIHBhcnRzLnB1c2goe1xuICAgICAgICAgIHR5cGU6IFwiaW5zZXJ0aW9uXCIsXG4gICAgICAgICAgbGluZXM6IHBhcnQubGluZXMsXG4gICAgICAgICAgbm9OZXdsaW5lQXRFbmRPZkZpbGU6IHBhcnQubm9OZXdsaW5lQXRFbmRPZkZpbGUsXG4gICAgICAgIH0pXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFwiaW5zZXJ0aW9uXCI6XG4gICAgICAgIHBhcnRzLnB1c2goe1xuICAgICAgICAgIHR5cGU6IFwiZGVsZXRpb25cIixcbiAgICAgICAgICBsaW5lczogcGFydC5saW5lcyxcbiAgICAgICAgICBub05ld2xpbmVBdEVuZE9mRmlsZTogcGFydC5ub05ld2xpbmVBdEVuZE9mRmlsZSxcbiAgICAgICAgfSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGFzc2VydE5ldmVyKHBhcnQudHlwZSlcbiAgICB9XG4gIH1cblxuICAvLyBzd2FwIGluc2VydGlvbnMgYW5kIGRlbGV0aW9ucyBvdmVyIHNvIGRlbGV0aW9ucyBhbHdheXMgY29tZSBmaXJzdFxuICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcnRzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgIGlmIChwYXJ0c1tpXS50eXBlID09PSBcImluc2VydGlvblwiICYmIHBhcnRzW2kgKyAxXS50eXBlID09PSBcImRlbGV0aW9uXCIpIHtcbiAgICAgIGNvbnN0IHRtcCA9IHBhcnRzW2ldXG4gICAgICBwYXJ0c1tpXSA9IHBhcnRzW2kgKyAxXVxuICAgICAgcGFydHNbaSArIDFdID0gdG1wXG4gICAgICBpICs9IDFcbiAgICB9XG4gIH1cblxuICBjb25zdCByZXN1bHQ6IEh1bmsgPSB7XG4gICAgaGVhZGVyLFxuICAgIHBhcnRzLFxuICB9XG5cbiAgdmVyaWZ5SHVua0ludGVncml0eShyZXN1bHQpXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuXG5mdW5jdGlvbiByZXZlcnNlUGF0Y2hQYXJ0KHBhcnQ6IFBhdGNoRmlsZVBhcnQpOiBQYXRjaEZpbGVQYXJ0IHtcbiAgc3dpdGNoIChwYXJ0LnR5cGUpIHtcbiAgICBjYXNlIFwiZmlsZSBjcmVhdGlvblwiOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogXCJmaWxlIGRlbGV0aW9uXCIsXG4gICAgICAgIHBhdGg6IHBhcnQucGF0aCxcbiAgICAgICAgaGFzaDogcGFydC5oYXNoLFxuICAgICAgICBodW5rOiBwYXJ0Lmh1bmsgJiYgcmV2ZXJzZUh1bmsocGFydC5odW5rKSxcbiAgICAgICAgbW9kZTogcGFydC5tb2RlLFxuICAgICAgfVxuICAgIGNhc2UgXCJmaWxlIGRlbGV0aW9uXCI6XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBcImZpbGUgY3JlYXRpb25cIixcbiAgICAgICAgcGF0aDogcGFydC5wYXRoLFxuICAgICAgICBodW5rOiBwYXJ0Lmh1bmsgJiYgcmV2ZXJzZUh1bmsocGFydC5odW5rKSxcbiAgICAgICAgbW9kZTogcGFydC5tb2RlLFxuICAgICAgICBoYXNoOiBwYXJ0Lmhhc2gsXG4gICAgICB9XG4gICAgY2FzZSBcInJlbmFtZVwiOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogXCJyZW5hbWVcIixcbiAgICAgICAgZnJvbVBhdGg6IHBhcnQudG9QYXRoLFxuICAgICAgICB0b1BhdGg6IHBhcnQuZnJvbVBhdGgsXG4gICAgICB9XG4gICAgY2FzZSBcInBhdGNoXCI6XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBcInBhdGNoXCIsXG4gICAgICAgIHBhdGg6IHBhcnQucGF0aCxcbiAgICAgICAgaHVua3M6IHBhcnQuaHVua3MubWFwKHJldmVyc2VIdW5rKSxcbiAgICAgICAgYmVmb3JlSGFzaDogcGFydC5hZnRlckhhc2gsXG4gICAgICAgIGFmdGVySGFzaDogcGFydC5iZWZvcmVIYXNoLFxuICAgICAgfVxuICAgIGNhc2UgXCJtb2RlIGNoYW5nZVwiOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogXCJtb2RlIGNoYW5nZVwiLFxuICAgICAgICBwYXRoOiBwYXJ0LnBhdGgsXG4gICAgICAgIG5ld01vZGU6IHBhcnQub2xkTW9kZSxcbiAgICAgICAgb2xkTW9kZTogcGFydC5uZXdNb2RlLFxuICAgICAgfVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCByZXZlcnNlUGF0Y2ggPSAocGF0Y2g6IFBhcnNlZFBhdGNoRmlsZSk6IFBhcnNlZFBhdGNoRmlsZSA9PiB7XG4gIHJldHVybiBwYXRjaC5tYXAocmV2ZXJzZVBhdGNoUGFydCkucmV2ZXJzZSgpXG59XG4iXX0=
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getPatchFiles = void 0;
7
+ const path_1 = require("./path");
8
+ const klaw_sync_1 = __importDefault(require("klaw-sync"));
9
+ const getPatchFiles = (patchesDir) => {
10
+ try {
11
+ return klaw_sync_1.default(patchesDir, { nodir: true })
12
+ .map(({ path }) => path_1.relative(patchesDir, path))
13
+ .filter(path => path.endsWith(".patch"));
14
+ }
15
+ catch (e) {
16
+ return [];
17
+ }
18
+ };
19
+ exports.getPatchFiles = getPatchFiles;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2hGcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXRjaEZzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlDQUFpQztBQUNqQywwREFBZ0M7QUFFekIsTUFBTSxhQUFhLEdBQUcsQ0FBQyxVQUFrQixFQUFFLEVBQUU7SUFDbEQsSUFBSTtRQUNGLE9BQU8sbUJBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDekMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsZUFBUSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7S0FDM0M7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sRUFBRSxDQUFBO0tBQ1Y7QUFDSCxDQUFDLENBQUE7QUFSWSxRQUFBLGFBQWEsaUJBUXpCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVsYXRpdmUgfSBmcm9tIFwiLi9wYXRoXCJcbmltcG9ydCBrbGF3U3luYyBmcm9tIFwia2xhdy1zeW5jXCJcblxuZXhwb3J0IGNvbnN0IGdldFBhdGNoRmlsZXMgPSAocGF0Y2hlc0Rpcjogc3RyaW5nKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGtsYXdTeW5jKHBhdGNoZXNEaXIsIHsgbm9kaXI6IHRydWUgfSlcbiAgICAgIC5tYXAoKHsgcGF0aCB9KSA9PiByZWxhdGl2ZShwYXRjaGVzRGlyLCBwYXRoKSlcbiAgICAgIC5maWx0ZXIocGF0aCA9PiBwYXRoLmVuZHNXaXRoKFwiLnBhdGNoXCIpKVxuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIFtdXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.relative = exports.resolve = exports.dirname = exports.join = void 0;
7
+ const slash_1 = __importDefault(require("slash"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const join = (...args) => slash_1.default(path_1.default.join(...args));
10
+ exports.join = join;
11
+ var path_2 = require("path");
12
+ Object.defineProperty(exports, "dirname", { enumerable: true, get: function () { return path_2.dirname; } });
13
+ const resolve = (...args) => slash_1.default(path_1.default.resolve(...args));
14
+ exports.resolve = resolve;
15
+ const relative = (...args) => slash_1.default(path_1.default.relative(...args));
16
+ exports.relative = relative;
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQUF5QjtBQUN6QixnREFBdUI7QUFFaEIsTUFBTSxJQUFJLEdBQXFCLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLGVBQUssQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtBQUEvRCxRQUFBLElBQUksUUFBMkQ7QUFFNUUsNkJBQThCO0FBQXJCLCtGQUFBLE9BQU8sT0FBQTtBQUVULE1BQU0sT0FBTyxHQUF3QixDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FDdEQsZUFBSyxDQUFDLGNBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBRGpCLFFBQUEsT0FBTyxXQUNVO0FBRXZCLE1BQU0sUUFBUSxHQUF5QixDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FDeEQsZUFBSyxDQUFDLGNBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBRGxCLFFBQUEsUUFBUSxZQUNVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNsYXNoIGZyb20gXCJzbGFzaFwiXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5cbmV4cG9ydCBjb25zdCBqb2luOiB0eXBlb2YgcGF0aC5qb2luID0gKC4uLmFyZ3MpID0+IHNsYXNoKHBhdGguam9pbiguLi5hcmdzKSlcblxuZXhwb3J0IHsgZGlybmFtZSB9IGZyb20gXCJwYXRoXCJcblxuZXhwb3J0IGNvbnN0IHJlc29sdmU6IHR5cGVvZiBwYXRoLnJlc29sdmUgPSAoLi4uYXJncykgPT5cbiAgc2xhc2gocGF0aC5yZXNvbHZlKC4uLmFyZ3MpKVxuXG5leHBvcnQgY29uc3QgcmVsYXRpdmU6IHR5cGVvZiBwYXRoLnJlbGF0aXZlID0gKC4uLmFyZ3MpID0+XG4gIHNsYXNoKHBhdGgucmVsYXRpdmUoLi4uYXJncykpXG4iXX0=
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveRelativeFileDependencies = void 0;
4
+ const path_1 = require("./path");
5
+ function transformVersionString(version, appRootPath) {
6
+ if (version.startsWith("file:") && version[5] !== "/") {
7
+ return "file:" + path_1.resolve(appRootPath, version.slice(5));
8
+ }
9
+ else {
10
+ return version;
11
+ }
12
+ }
13
+ function resolveRelativeFileDependencies(appRootPath, resolutions) {
14
+ const result = {};
15
+ for (const packageName of Object.keys(resolutions)) {
16
+ result[packageName] = transformVersionString(resolutions[packageName], appRootPath);
17
+ }
18
+ return result;
19
+ }
20
+ exports.resolveRelativeFileDependencies = resolveRelativeFileDependencies;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZVJlbGF0aXZlRmlsZURlcGVuZGVuY2llcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXNvbHZlUmVsYXRpdmVGaWxlRGVwZW5kZW5jaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlDQUFnQztBQUVoQyxTQUFTLHNCQUFzQixDQUFDLE9BQWUsRUFBRSxXQUFtQjtJQUNsRSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRTtRQUNyRCxPQUFPLE9BQU8sR0FBRyxjQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUN4RDtTQUFNO1FBQ0wsT0FBTyxPQUFPLENBQUE7S0FDZjtBQUNILENBQUM7QUFFRCxTQUFnQiwrQkFBK0IsQ0FDN0MsV0FBbUIsRUFDbkIsV0FBOEM7SUFFOUMsTUFBTSxNQUFNLEdBQUcsRUFBdUMsQ0FBQTtJQUN0RCxLQUFLLE1BQU0sV0FBVyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7UUFDbEQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLHNCQUFzQixDQUMxQyxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQ3hCLFdBQVcsQ0FDWixDQUFBO0tBQ0Y7SUFDRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUM7QUFaRCwwRUFZQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlc29sdmUgfSBmcm9tIFwiLi9wYXRoXCJcblxuZnVuY3Rpb24gdHJhbnNmb3JtVmVyc2lvblN0cmluZyh2ZXJzaW9uOiBzdHJpbmcsIGFwcFJvb3RQYXRoOiBzdHJpbmcpIHtcbiAgaWYgKHZlcnNpb24uc3RhcnRzV2l0aChcImZpbGU6XCIpICYmIHZlcnNpb25bNV0gIT09IFwiL1wiKSB7XG4gICAgcmV0dXJuIFwiZmlsZTpcIiArIHJlc29sdmUoYXBwUm9vdFBhdGgsIHZlcnNpb24uc2xpY2UoNSkpXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHZlcnNpb25cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVJlbGF0aXZlRmlsZURlcGVuZGVuY2llcyhcbiAgYXBwUm9vdFBhdGg6IHN0cmluZyxcbiAgcmVzb2x1dGlvbnM6IHsgW3BhY2thZ2VOYW1lOiBzdHJpbmddOiBzdHJpbmcgfSxcbikge1xuICBjb25zdCByZXN1bHQgPSB7fSBhcyB7IFtwYWNrYWdlTmFtZTogc3RyaW5nXTogc3RyaW5nIH1cbiAgZm9yIChjb25zdCBwYWNrYWdlTmFtZSBvZiBPYmplY3Qua2V5cyhyZXNvbHV0aW9ucykpIHtcbiAgICByZXN1bHRbcGFja2FnZU5hbWVdID0gdHJhbnNmb3JtVmVyc2lvblN0cmluZyhcbiAgICAgIHJlc29sdXRpb25zW3BhY2thZ2VOYW1lXSxcbiAgICAgIGFwcFJvb3RQYXRoLFxuICAgIClcbiAgfVxuICByZXR1cm4gcmVzdWx0XG59XG4iXX0=
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const resolveRelativeFileDependencies_1 = require("./resolveRelativeFileDependencies");
4
+ describe("resolveRelativeFileDependencies", () => {
5
+ it("works for package.json", () => {
6
+ const appRootPath = "/foo/bar";
7
+ const resolutions = {
8
+ absolute: "file:/not-foo/bar",
9
+ relative: "file:../baz",
10
+ remote: "git+https://blah.com/blah.git",
11
+ version: "^434.34.34",
12
+ };
13
+ const expected = {
14
+ absolute: "file:/not-foo/bar",
15
+ relative: "file:/foo/baz",
16
+ remote: "git+https://blah.com/blah.git",
17
+ version: "^434.34.34",
18
+ };
19
+ expect(resolveRelativeFileDependencies_1.resolveRelativeFileDependencies(appRootPath, JSON.parse(JSON.stringify(resolutions)))).toEqual(expected);
20
+ });
21
+ });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZVJlbGF0aXZlRmlsZURlcGVuZGVuY2llcy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Jlc29sdmVSZWxhdGl2ZUZpbGVEZXBlbmRlbmNpZXMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHVGQUFtRjtBQUVuRixRQUFRLENBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO0lBQy9DLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSxHQUFHLEVBQUU7UUFDaEMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFBO1FBRTlCLE1BQU0sV0FBVyxHQUFHO1lBQ2xCLFFBQVEsRUFBRSxtQkFBbUI7WUFDN0IsUUFBUSxFQUFFLGFBQWE7WUFDdkIsTUFBTSxFQUFFLCtCQUErQjtZQUN2QyxPQUFPLEVBQUUsWUFBWTtTQUN0QixDQUFBO1FBRUQsTUFBTSxRQUFRLEdBQUc7WUFDZixRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLE1BQU0sRUFBRSwrQkFBK0I7WUFDdkMsT0FBTyxFQUFFLFlBQVk7U0FDdEIsQ0FBQTtRQUVELE1BQU0sQ0FDSixpRUFBK0IsQ0FDN0IsV0FBVyxFQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUN4QyxDQUNGLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3JCLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZXNvbHZlUmVsYXRpdmVGaWxlRGVwZW5kZW5jaWVzIH0gZnJvbSBcIi4vcmVzb2x2ZVJlbGF0aXZlRmlsZURlcGVuZGVuY2llc1wiXG5cbmRlc2NyaWJlKFwicmVzb2x2ZVJlbGF0aXZlRmlsZURlcGVuZGVuY2llc1wiLCAoKSA9PiB7XG4gIGl0KFwid29ya3MgZm9yIHBhY2thZ2UuanNvblwiLCAoKSA9PiB7XG4gICAgY29uc3QgYXBwUm9vdFBhdGggPSBcIi9mb28vYmFyXCJcblxuICAgIGNvbnN0IHJlc29sdXRpb25zID0ge1xuICAgICAgYWJzb2x1dGU6IFwiZmlsZTovbm90LWZvby9iYXJcIixcbiAgICAgIHJlbGF0aXZlOiBcImZpbGU6Li4vYmF6XCIsXG4gICAgICByZW1vdGU6IFwiZ2l0K2h0dHBzOi8vYmxhaC5jb20vYmxhaC5naXRcIixcbiAgICAgIHZlcnNpb246IFwiXjQzNC4zNC4zNFwiLFxuICAgIH1cblxuICAgIGNvbnN0IGV4cGVjdGVkID0ge1xuICAgICAgYWJzb2x1dGU6IFwiZmlsZTovbm90LWZvby9iYXJcIixcbiAgICAgIHJlbGF0aXZlOiBcImZpbGU6L2Zvby9iYXpcIixcbiAgICAgIHJlbW90ZTogXCJnaXQraHR0cHM6Ly9ibGFoLmNvbS9ibGFoLmdpdFwiLFxuICAgICAgdmVyc2lvbjogXCJeNDM0LjM0LjM0XCIsXG4gICAgfVxuXG4gICAgZXhwZWN0KFxuICAgICAgcmVzb2x2ZVJlbGF0aXZlRmlsZURlcGVuZGVuY2llcyhcbiAgICAgICAgYXBwUm9vdFBhdGgsXG4gICAgICAgIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocmVzb2x1dGlvbnMpKSxcbiAgICAgICksXG4gICAgKS50b0VxdWFsKGV4cGVjdGVkKVxuICB9KVxufSlcbiJdfQ==
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.spawnSafeSync = void 0;
4
+ const cross_spawn_1 = require("cross-spawn");
5
+ const defaultOptions = {
6
+ logStdErrOnError: true,
7
+ throwOnError: true,
8
+ };
9
+ const spawnSafeSync = (command, args, options) => {
10
+ const mergedOptions = Object.assign({}, defaultOptions, options);
11
+ const result = cross_spawn_1.sync(command, args, options);
12
+ if (result.error || result.status !== 0) {
13
+ if (mergedOptions.logStdErrOnError) {
14
+ if (result.stderr) {
15
+ console.error(result.stderr.toString());
16
+ }
17
+ else if (result.error) {
18
+ console.error(result.error);
19
+ }
20
+ }
21
+ if (mergedOptions.throwOnError) {
22
+ throw result;
23
+ }
24
+ }
25
+ return result;
26
+ };
27
+ exports.spawnSafeSync = spawnSafeSync;
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bhd25TYWZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NwYXduU2FmZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBK0M7QUFTL0MsTUFBTSxjQUFjLEdBQXFCO0lBQ3ZDLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsWUFBWSxFQUFFLElBQUk7Q0FDbkIsQ0FBQTtBQUVNLE1BQU0sYUFBYSxHQUFHLENBQzNCLE9BQWUsRUFDZixJQUFlLEVBQ2YsT0FBMEIsRUFDMUIsRUFBRTtJQUNGLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNoRSxNQUFNLE1BQU0sR0FBRyxrQkFBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDaEQsSUFBSSxNQUFNLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3ZDLElBQUksYUFBYSxDQUFDLGdCQUFnQixFQUFFO1lBQ2xDLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtnQkFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7YUFDeEM7aUJBQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO2dCQUN2QixPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTthQUM1QjtTQUNGO1FBQ0QsSUFBSSxhQUFhLENBQUMsWUFBWSxFQUFFO1lBQzlCLE1BQU0sTUFBTSxDQUFBO1NBQ2I7S0FDRjtJQUNELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQyxDQUFBO0FBcEJZLFFBQUEsYUFBYSxpQkFvQnpCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3luYyBhcyBzcGF3blN5bmMgfSBmcm9tIFwiY3Jvc3Mtc3Bhd25cIlxyXG5pbXBvcnQgeyBTcGF3bk9wdGlvbnMgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNwYXduU2FmZU9wdGlvbnMgZXh0ZW5kcyBTcGF3bk9wdGlvbnMge1xyXG4gIHRocm93T25FcnJvcj86IGJvb2xlYW5cclxuICBsb2dTdGRFcnJPbkVycm9yPzogYm9vbGVhblxyXG4gIG1heEJ1ZmZlcj86IG51bWJlclxyXG59XHJcblxyXG5jb25zdCBkZWZhdWx0T3B0aW9uczogU3Bhd25TYWZlT3B0aW9ucyA9IHtcclxuICBsb2dTdGRFcnJPbkVycm9yOiB0cnVlLFxyXG4gIHRocm93T25FcnJvcjogdHJ1ZSxcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IHNwYXduU2FmZVN5bmMgPSAoXHJcbiAgY29tbWFuZDogc3RyaW5nLFxyXG4gIGFyZ3M/OiBzdHJpbmdbXSxcclxuICBvcHRpb25zPzogU3Bhd25TYWZlT3B0aW9ucyxcclxuKSA9PiB7XHJcbiAgY29uc3QgbWVyZ2VkT3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRPcHRpb25zLCBvcHRpb25zKVxyXG4gIGNvbnN0IHJlc3VsdCA9IHNwYXduU3luYyhjb21tYW5kLCBhcmdzLCBvcHRpb25zKVxyXG4gIGlmIChyZXN1bHQuZXJyb3IgfHwgcmVzdWx0LnN0YXR1cyAhPT0gMCkge1xyXG4gICAgaWYgKG1lcmdlZE9wdGlvbnMubG9nU3RkRXJyT25FcnJvcikge1xyXG4gICAgICBpZiAocmVzdWx0LnN0ZGVycikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IocmVzdWx0LnN0ZGVyci50b1N0cmluZygpKVxyXG4gICAgICB9IGVsc2UgaWYgKHJlc3VsdC5lcnJvcikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IocmVzdWx0LmVycm9yKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAobWVyZ2VkT3B0aW9ucy50aHJvd09uRXJyb3IpIHtcclxuICAgICAgdGhyb3cgcmVzdWx0XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiByZXN1bHRcclxufVxyXG4iXX0=
@@ -0,0 +1,3 @@
1
+ #! /usr/bin/env node
2
+
3
+ require("./dist/index.js")
@@ -0,0 +1,100 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
+
5
+ <a name="6.0.5"></a>
6
+ ## [6.0.5](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.4...v6.0.5) (2018-03-02)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * avoid using deprecated Buffer constructor ([#94](https://github.com/moxystudio/node-cross-spawn/issues/94)) ([d5770df](https://github.com/moxystudio/node-cross-spawn/commit/d5770df)), closes [/nodejs.org/api/deprecations.html#deprecations_dep0005](https://github.com//nodejs.org/api/deprecations.html/issues/deprecations_dep0005)
12
+
13
+
14
+
15
+ <a name="6.0.4"></a>
16
+ ## [6.0.4](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.3...v6.0.4) (2018-01-31)
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * fix paths being incorrectly normalized on unix ([06ee3c6](https://github.com/moxystudio/node-cross-spawn/commit/06ee3c6)), closes [#90](https://github.com/moxystudio/node-cross-spawn/issues/90)
22
+
23
+
24
+
25
+ <a name="6.0.3"></a>
26
+ ## [6.0.3](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.2...v6.0.3) (2018-01-23)
27
+
28
+
29
+
30
+ <a name="6.0.2"></a>
31
+ ## [6.0.2](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.1...v6.0.2) (2018-01-23)
32
+
33
+
34
+
35
+ <a name="6.0.1"></a>
36
+ ## [6.0.1](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.0...v6.0.1) (2018-01-23)
37
+
38
+
39
+
40
+ <a name="6.0.0"></a>
41
+ # [6.0.0](https://github.com/moxystudio/node-cross-spawn/compare/5.1.0...6.0.0) (2018-01-23)
42
+
43
+
44
+ ### Bug Fixes
45
+
46
+ * fix certain arguments not being correctly escaped or causing batch syntax error ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)), closes [#82](https://github.com/moxystudio/node-cross-spawn/issues/82) [#51](https://github.com/moxystudio/node-cross-spawn/issues/51)
47
+ * fix commands as posix relatixe paths not working correctly, e.g.: `./my-command` ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10))
48
+ * fix `options` argument being mutated ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10))
49
+ * fix commands resolution when PATH was actually Path ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10))
50
+
51
+
52
+ ### Features
53
+
54
+ * improve compliance with node's ENOENT errors ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10))
55
+ * improve detection of node's shell option support ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10))
56
+
57
+
58
+ ### Chores
59
+
60
+ * upgrade tooling
61
+ * upgrate project to es6 (node v4)
62
+
63
+
64
+ ### BREAKING CHANGES
65
+
66
+ * remove support for older nodejs versions, only `node >= 4` is supported
67
+
68
+
69
+ <a name="5.1.0"></a>
70
+ ## [5.1.0](https://github.com/moxystudio/node-cross-spawn/compare/5.0.1...5.1.0) (2017-02-26)
71
+
72
+
73
+ ### Bug Fixes
74
+
75
+ * fix `options.shell` support for NodeJS [v4.8](https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V4.md#4.8.0)
76
+
77
+
78
+ <a name="5.0.1"></a>
79
+ ## [5.0.1](https://github.com/moxystudio/node-cross-spawn/compare/5.0.0...5.0.1) (2016-11-04)
80
+
81
+
82
+ ### Bug Fixes
83
+
84
+ * fix `options.shell` support for NodeJS v7
85
+
86
+
87
+ <a name="5.0.0"></a>
88
+ # [5.0.0](https://github.com/moxystudio/node-cross-spawn/compare/4.0.2...5.0.0) (2016-10-30)
89
+
90
+
91
+ ## Features
92
+
93
+ * add support for `options.shell`
94
+ * improve parsing of shebangs by using [`shebang-command`](https://github.com/kevva/shebang-command) module
95
+
96
+
97
+ ## Chores
98
+
99
+ * refactor some code to make it more clear
100
+ * update README caveats
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2018 Made With MOXY Lda <hello@moxy.studio>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,94 @@
1
+ # cross-spawn
2
+
3
+ [![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Build status][appveyor-image]][appveyor-url] [![Coverage Status][codecov-image]][codecov-url] [![Dependency status][david-dm-image]][david-dm-url] [![Dev Dependency status][david-dm-dev-image]][david-dm-dev-url] [![Greenkeeper badge][greenkeeper-image]][greenkeeper-url]
4
+
5
+ [npm-url]:https://npmjs.org/package/cross-spawn
6
+ [downloads-image]:http://img.shields.io/npm/dm/cross-spawn.svg
7
+ [npm-image]:http://img.shields.io/npm/v/cross-spawn.svg
8
+ [travis-url]:https://travis-ci.org/moxystudio/node-cross-spawn
9
+ [travis-image]:http://img.shields.io/travis/moxystudio/node-cross-spawn/master.svg
10
+ [appveyor-url]:https://ci.appveyor.com/project/satazor/node-cross-spawn
11
+ [appveyor-image]:https://img.shields.io/appveyor/ci/satazor/node-cross-spawn/master.svg
12
+ [codecov-url]:https://codecov.io/gh/moxystudio/node-cross-spawn
13
+ [codecov-image]:https://img.shields.io/codecov/c/github/moxystudio/node-cross-spawn/master.svg
14
+ [david-dm-url]:https://david-dm.org/moxystudio/node-cross-spawn
15
+ [david-dm-image]:https://img.shields.io/david/moxystudio/node-cross-spawn.svg
16
+ [david-dm-dev-url]:https://david-dm.org/moxystudio/node-cross-spawn?type=dev
17
+ [david-dm-dev-image]:https://img.shields.io/david/dev/moxystudio/node-cross-spawn.svg
18
+ [greenkeeper-image]:https://badges.greenkeeper.io/moxystudio/node-cross-spawn.svg
19
+ [greenkeeper-url]:https://greenkeeper.io/
20
+
21
+ A cross platform solution to node's spawn and spawnSync.
22
+
23
+
24
+ ## Installation
25
+
26
+ `$ npm install cross-spawn`
27
+
28
+
29
+ ## Why
30
+
31
+ Node has issues when using spawn on Windows:
32
+
33
+ - It ignores [PATHEXT](https://github.com/joyent/node/issues/2318)
34
+ - It does not support [shebangs](https://en.wikipedia.org/wiki/Shebang_(Unix))
35
+ - Has problems running commands with [spaces](https://github.com/nodejs/node/issues/7367)
36
+ - Has problems running commands with posix relative paths (e.g.: `./my-folder/my-executable`)
37
+ - Has an [issue](https://github.com/moxystudio/node-cross-spawn/issues/82) with command shims (files in `node_modules/.bin/`), where arguments with quotes and parenthesis would result in [invalid syntax error](https://github.com/moxystudio/node-cross-spawn/blob/e77b8f22a416db46b6196767bcd35601d7e11d54/test/index.test.js#L149)
38
+ - No `options.shell` support on node `<v4.8`
39
+
40
+ All these issues are handled correctly by `cross-spawn`.
41
+ There are some known modules, such as [win-spawn](https://github.com/ForbesLindesay/win-spawn), that try to solve this but they are either broken or provide faulty escaping of shell arguments.
42
+
43
+
44
+ ## Usage
45
+
46
+ Exactly the same way as node's [`spawn`](https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options) or [`spawnSync`](https://nodejs.org/api/child_process.html#child_process_child_process_spawnsync_command_args_options), so it's a drop in replacement.
47
+
48
+
49
+ ```js
50
+ const spawn = require('cross-spawn');
51
+
52
+ // Spawn NPM asynchronously
53
+ const child = spawn('npm', ['list', '-g', '-depth', '0'], { stdio: 'inherit' });
54
+
55
+ // Spawn NPM synchronously
56
+ const result = spawn.sync('npm', ['list', '-g', '-depth', '0'], { stdio: 'inherit' });
57
+ ```
58
+
59
+
60
+ ## Caveats
61
+
62
+ ### Using `options.shell` as an alternative to `cross-spawn`
63
+
64
+ Starting from node `v4.8`, `spawn` has a `shell` option that allows you run commands from within a shell. This new option solves
65
+ the [PATHEXT](https://github.com/joyent/node/issues/2318) issue but:
66
+
67
+ - It's not supported in node `<v4.8`
68
+ - You must manually escape the command and arguments which is very error prone, specially when passing user input
69
+ - There are a lot of other unresolved issues from the [Why](#why) section that you must take into account
70
+
71
+ If you are using the `shell` option to spawn a command in a cross platform way, consider using `cross-spawn` instead. You have been warned.
72
+
73
+ ### `options.shell` support
74
+
75
+ While `cross-spawn` adds support for `options.shell` in node `<v4.8`, all of its enhancements are disabled.
76
+
77
+ This mimics the Node.js behavior. More specifically, the command and its arguments will not be automatically escaped nor shebang support will be offered. This is by design because if you are using `options.shell` you are probably targeting a specific platform anyway and you don't want things to get into your way.
78
+
79
+ ### Shebangs support
80
+
81
+ While `cross-spawn` handles shebangs on Windows, its support is limited. More specifically, it just supports `#!/usr/bin/env <program>` where `<program>` must not contain any arguments.
82
+ If you would like to have the shebang support improved, feel free to contribute via a pull-request.
83
+
84
+ Remember to always test your code on Windows!
85
+
86
+
87
+ ## Tests
88
+
89
+ `$ npm test`
90
+ `$ npm test -- --watch` during development
91
+
92
+ ## License
93
+
94
+ Released under the [MIT License](http://www.opensource.org/licenses/mit-license.php).
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+ const cp = require('child_process');
4
+ const parse = require('./lib/parse');
5
+ const enoent = require('./lib/enoent');
6
+
7
+ function spawn(command, args, options) {
8
+ // Parse the arguments
9
+ const parsed = parse(command, args, options);
10
+
11
+ // Spawn the child process
12
+ const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
13
+
14
+ // Hook into child process "exit" event to emit an error if the command
15
+ // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16
16
+ enoent.hookChildProcess(spawned, parsed);
17
+
18
+ return spawned;
19
+ }
20
+
21
+ function spawnSync(command, args, options) {
22
+ // Parse the arguments
23
+ const parsed = parse(command, args, options);
24
+
25
+ // Spawn the child process
26
+ const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);
27
+
28
+ // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16
29
+ result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);
30
+
31
+ return result;
32
+ }
33
+
34
+ module.exports = spawn;
35
+ module.exports.spawn = spawn;
36
+ module.exports.sync = spawnSync;
37
+
38
+ module.exports._parse = parse;
39
+ module.exports._enoent = enoent;
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ const isWin = process.platform === 'win32';
4
+
5
+ function notFoundError(original, syscall) {
6
+ return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {
7
+ code: 'ENOENT',
8
+ errno: 'ENOENT',
9
+ syscall: `${syscall} ${original.command}`,
10
+ path: original.command,
11
+ spawnargs: original.args,
12
+ });
13
+ }
14
+
15
+ function hookChildProcess(cp, parsed) {
16
+ if (!isWin) {
17
+ return;
18
+ }
19
+
20
+ const originalEmit = cp.emit;
21
+
22
+ cp.emit = function (name, arg1) {
23
+ // If emitting "exit" event and exit code is 1, we need to check if
24
+ // the command exists and emit an "error" instead
25
+ // See https://github.com/IndigoUnited/node-cross-spawn/issues/16
26
+ if (name === 'exit') {
27
+ const err = verifyENOENT(arg1, parsed, 'spawn');
28
+
29
+ if (err) {
30
+ return originalEmit.call(cp, 'error', err);
31
+ }
32
+ }
33
+
34
+ return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params
35
+ };
36
+ }
37
+
38
+ function verifyENOENT(status, parsed) {
39
+ if (isWin && status === 1 && !parsed.file) {
40
+ return notFoundError(parsed.original, 'spawn');
41
+ }
42
+
43
+ return null;
44
+ }
45
+
46
+ function verifyENOENTSync(status, parsed) {
47
+ if (isWin && status === 1 && !parsed.file) {
48
+ return notFoundError(parsed.original, 'spawnSync');
49
+ }
50
+
51
+ return null;
52
+ }
53
+
54
+ module.exports = {
55
+ hookChildProcess,
56
+ verifyENOENT,
57
+ verifyENOENTSync,
58
+ notFoundError,
59
+ };