@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.
- package/node_modules/@yarnpkg/lockfile/README.md +22 -0
- package/node_modules/@yarnpkg/lockfile/index.js +10273 -0
- package/node_modules/@yarnpkg/lockfile/package.json +19 -0
- package/node_modules/ansi-styles/index.js +165 -0
- package/node_modules/ansi-styles/license +9 -0
- package/node_modules/ansi-styles/package.json +60 -0
- package/node_modules/ansi-styles/readme.md +147 -0
- package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
- package/node_modules/balanced-match/LICENSE.md +21 -0
- package/node_modules/balanced-match/README.md +97 -0
- package/node_modules/balanced-match/index.js +62 -0
- package/node_modules/balanced-match/package.json +52 -0
- package/node_modules/brace-expansion/LICENSE +21 -0
- package/node_modules/brace-expansion/README.md +129 -0
- package/node_modules/brace-expansion/index.js +201 -0
- package/node_modules/brace-expansion/package.json +51 -0
- package/node_modules/braces/CHANGELOG.md +184 -0
- package/node_modules/braces/LICENSE +21 -0
- package/node_modules/braces/README.md +593 -0
- package/node_modules/braces/index.js +170 -0
- package/node_modules/braces/lib/compile.js +57 -0
- package/node_modules/braces/lib/constants.js +57 -0
- package/node_modules/braces/lib/expand.js +113 -0
- package/node_modules/braces/lib/parse.js +333 -0
- package/node_modules/braces/lib/stringify.js +32 -0
- package/node_modules/braces/lib/utils.js +112 -0
- package/node_modules/braces/package.json +81 -0
- package/node_modules/chalk/index.js +228 -0
- package/node_modules/chalk/index.js.flow +93 -0
- package/node_modules/chalk/license +9 -0
- package/node_modules/chalk/package.json +75 -0
- package/node_modules/chalk/readme.md +314 -0
- package/node_modules/chalk/templates.js +128 -0
- package/node_modules/chalk/types/index.d.ts +97 -0
- package/node_modules/changelog-parser/.DS_Store +0 -0
- package/node_modules/changelog-parser/.travis.yml +7 -0
- package/node_modules/changelog-parser/CHANGELOG.md +128 -0
- package/node_modules/changelog-parser/CONTRIBUTING.md +55 -0
- package/node_modules/changelog-parser/LICENSE.md +15 -0
- package/node_modules/changelog-parser/README.md +247 -0
- package/node_modules/changelog-parser/bin/cli.js +19 -0
- package/node_modules/changelog-parser/index.js +201 -0
- package/node_modules/changelog-parser/package.json +54 -0
- package/node_modules/changelog-parser/test/fixtures/CHANGELOG.md +44 -0
- package/node_modules/changelog-parser/test/fixtures/expected.js +113 -0
- package/node_modules/changelog-parser/test/fixtures/remove-markdown-expected.js +113 -0
- package/node_modules/changelog-parser/test/index.js +105 -0
- package/node_modules/ci-info/CHANGELOG.md +78 -0
- package/node_modules/ci-info/LICENSE +21 -0
- package/node_modules/ci-info/README.md +108 -0
- package/node_modules/ci-info/index.js +66 -0
- package/node_modules/ci-info/package.json +40 -0
- package/node_modules/ci-info/vendors.json +153 -0
- package/node_modules/color-convert/CHANGELOG.md +54 -0
- package/node_modules/color-convert/LICENSE +21 -0
- package/node_modules/color-convert/README.md +68 -0
- package/node_modules/color-convert/conversions.js +868 -0
- package/node_modules/color-convert/index.js +78 -0
- package/node_modules/color-convert/package.json +50 -0
- package/node_modules/color-convert/route.js +97 -0
- package/node_modules/color-name/.eslintrc.json +43 -0
- package/node_modules/color-name/.npmignore +107 -0
- package/node_modules/color-name/LICENSE +8 -0
- package/node_modules/color-name/README.md +11 -0
- package/node_modules/color-name/index.js +152 -0
- package/node_modules/color-name/package.json +29 -0
- package/node_modules/color-name/test.js +7 -0
- package/node_modules/concat-map/.travis.yml +4 -0
- package/node_modules/concat-map/LICENSE +18 -0
- package/node_modules/concat-map/README.markdown +62 -0
- package/node_modules/concat-map/example/map.js +6 -0
- package/node_modules/concat-map/index.js +13 -0
- package/node_modules/concat-map/package.json +47 -0
- package/node_modules/concat-map/test/map.js +39 -0
- package/node_modules/escape-string-regexp/index.js +11 -0
- package/node_modules/escape-string-regexp/license +21 -0
- package/node_modules/escape-string-regexp/package.json +45 -0
- package/node_modules/escape-string-regexp/readme.md +27 -0
- package/node_modules/fill-range/LICENSE +21 -0
- package/node_modules/fill-range/README.md +237 -0
- package/node_modules/fill-range/index.js +249 -0
- package/node_modules/fill-range/package.json +73 -0
- package/node_modules/find-yarn-workspace-root/CHANGELOG.md +53 -0
- package/node_modules/find-yarn-workspace-root/LICENSE +201 -0
- package/node_modules/find-yarn-workspace-root/README.md +56 -0
- package/node_modules/find-yarn-workspace-root/index.d.ts +3 -0
- package/node_modules/find-yarn-workspace-root/index.js +53 -0
- package/node_modules/find-yarn-workspace-root/package.json +38 -0
- package/node_modules/fs-extra/CHANGELOG.md +842 -0
- package/node_modules/fs-extra/LICENSE +15 -0
- package/node_modules/fs-extra/README.md +261 -0
- package/node_modules/fs-extra/lib/copy/copy.js +246 -0
- package/node_modules/fs-extra/lib/copy/index.js +6 -0
- package/node_modules/fs-extra/lib/copy-sync/copy-sync.js +193 -0
- package/node_modules/fs-extra/lib/copy-sync/index.js +5 -0
- package/node_modules/fs-extra/lib/empty/index.js +48 -0
- package/node_modules/fs-extra/lib/ensure/file.js +49 -0
- package/node_modules/fs-extra/lib/ensure/index.js +23 -0
- package/node_modules/fs-extra/lib/ensure/link.js +61 -0
- package/node_modules/fs-extra/lib/ensure/symlink-paths.js +99 -0
- package/node_modules/fs-extra/lib/ensure/symlink-type.js +31 -0
- package/node_modules/fs-extra/lib/ensure/symlink.js +63 -0
- package/node_modules/fs-extra/lib/fs/index.js +104 -0
- package/node_modules/fs-extra/lib/index.js +28 -0
- package/node_modules/fs-extra/lib/json/index.js +16 -0
- package/node_modules/fs-extra/lib/json/jsonfile.js +12 -0
- package/node_modules/fs-extra/lib/json/output-json-sync.js +18 -0
- package/node_modules/fs-extra/lib/json/output-json.js +27 -0
- package/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
- package/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js +54 -0
- package/node_modules/fs-extra/lib/mkdirs/mkdirs.js +63 -0
- package/node_modules/fs-extra/lib/mkdirs/win32.js +25 -0
- package/node_modules/fs-extra/lib/move/index.js +82 -0
- package/node_modules/fs-extra/lib/move-sync/index.js +117 -0
- package/node_modules/fs-extra/lib/output/index.js +40 -0
- package/node_modules/fs-extra/lib/path-exists/index.js +12 -0
- package/node_modules/fs-extra/lib/remove/index.js +9 -0
- package/node_modules/fs-extra/lib/remove/rimraf.js +314 -0
- package/node_modules/fs-extra/lib/util/buffer.js +12 -0
- package/node_modules/fs-extra/lib/util/utimes.js +79 -0
- package/node_modules/fs-extra/package.json +72 -0
- package/node_modules/fs.realpath/LICENSE +43 -0
- package/node_modules/fs.realpath/README.md +33 -0
- package/node_modules/fs.realpath/index.js +66 -0
- package/node_modules/fs.realpath/old.js +303 -0
- package/node_modules/fs.realpath/package.json +30 -0
- package/node_modules/glob/LICENSE +21 -0
- package/node_modules/glob/README.md +375 -0
- package/node_modules/glob/changelog.md +67 -0
- package/node_modules/glob/common.js +240 -0
- package/node_modules/glob/glob.js +790 -0
- package/node_modules/glob/package.json +50 -0
- package/node_modules/glob/sync.js +486 -0
- package/node_modules/graceful-fs/LICENSE +15 -0
- package/node_modules/graceful-fs/README.md +133 -0
- package/node_modules/graceful-fs/clone.js +23 -0
- package/node_modules/graceful-fs/graceful-fs.js +373 -0
- package/node_modules/graceful-fs/legacy-streams.js +118 -0
- package/node_modules/graceful-fs/package.json +54 -0
- package/node_modules/graceful-fs/polyfills.js +346 -0
- package/node_modules/has-flag/index.js +8 -0
- package/node_modules/has-flag/license +9 -0
- package/node_modules/has-flag/package.json +48 -0
- package/node_modules/has-flag/readme.md +70 -0
- package/node_modules/inflight/LICENSE +15 -0
- package/node_modules/inflight/README.md +37 -0
- package/node_modules/inflight/inflight.js +54 -0
- package/node_modules/inflight/package.json +33 -0
- package/node_modules/inherits/LICENSE +16 -0
- package/node_modules/inherits/README.md +42 -0
- package/node_modules/inherits/inherits.js +9 -0
- package/node_modules/inherits/inherits_browser.js +27 -0
- package/node_modules/inherits/package.json +33 -0
- package/node_modules/is-ci/CHANGELOG.md +14 -0
- package/node_modules/is-ci/LICENSE +21 -0
- package/node_modules/is-ci/README.md +50 -0
- package/node_modules/is-ci/bin.js +4 -0
- package/node_modules/is-ci/index.js +3 -0
- package/node_modules/is-ci/package.json +42 -0
- package/node_modules/is-docker/cli.js +5 -0
- package/node_modules/is-docker/index.d.ts +15 -0
- package/node_modules/is-docker/index.js +29 -0
- package/node_modules/is-docker/license +9 -0
- package/node_modules/is-docker/package.json +46 -0
- package/node_modules/is-docker/readme.md +27 -0
- package/node_modules/is-number/LICENSE +21 -0
- package/node_modules/is-number/README.md +187 -0
- package/node_modules/is-number/index.js +18 -0
- package/node_modules/is-number/package.json +86 -0
- package/node_modules/is-wsl/index.d.ts +15 -0
- package/node_modules/is-wsl/index.js +31 -0
- package/node_modules/is-wsl/license +9 -0
- package/node_modules/is-wsl/package.json +49 -0
- package/node_modules/is-wsl/readme.md +36 -0
- package/node_modules/isexe/.npmignore +2 -0
- package/node_modules/isexe/LICENSE +15 -0
- package/node_modules/isexe/README.md +51 -0
- package/node_modules/isexe/index.js +57 -0
- package/node_modules/isexe/mode.js +41 -0
- package/node_modules/isexe/package.json +35 -0
- package/node_modules/isexe/test/basic.js +221 -0
- package/node_modules/isexe/windows.js +42 -0
- package/node_modules/jsonfile/CHANGELOG.md +145 -0
- package/node_modules/jsonfile/LICENSE +15 -0
- package/node_modules/jsonfile/README.md +168 -0
- package/node_modules/jsonfile/index.js +134 -0
- package/node_modules/jsonfile/package.json +41 -0
- package/node_modules/klaw-sync/CHANGELOG.md +73 -0
- package/node_modules/klaw-sync/LICENSE +20 -0
- package/node_modules/klaw-sync/README.md +164 -0
- package/node_modules/klaw-sync/klaw-sync.js +29 -0
- package/node_modules/klaw-sync/package.json +51 -0
- package/node_modules/line-reader/LICENSE +20 -0
- package/node_modules/line-reader/README.md +75 -0
- package/node_modules/line-reader/lib/line_reader.js +174 -0
- package/node_modules/line-reader/package.json +18 -0
- package/node_modules/line-reader/test/data/empty_file.txt +0 -0
- package/node_modules/line-reader/test/data/multi_separator_file.txt +2 -0
- package/node_modules/line-reader/test/data/multibyte_file.txt +2 -0
- package/node_modules/line-reader/test/data/normal_file.txt +6 -0
- package/node_modules/line-reader/test/data/one_line_file.txt +1 -0
- package/node_modules/line-reader/test/data/separator_file.txt +2 -0
- package/node_modules/line-reader/test/data/three_line_file.txt +3 -0
- package/node_modules/line-reader/test/line_reader.js +222 -0
- package/node_modules/lru-cache/LICENSE +15 -0
- package/node_modules/lru-cache/README.md +166 -0
- package/node_modules/lru-cache/index.js +334 -0
- package/node_modules/lru-cache/package.json +38 -0
- package/node_modules/micromatch/CHANGELOG.md +109 -0
- package/node_modules/micromatch/LICENSE +21 -0
- package/node_modules/micromatch/README.md +1008 -0
- package/node_modules/micromatch/index.js +467 -0
- package/node_modules/micromatch/package.json +123 -0
- package/node_modules/minimatch/LICENSE +15 -0
- package/node_modules/minimatch/README.md +209 -0
- package/node_modules/minimatch/minimatch.js +923 -0
- package/node_modules/minimatch/package.json +34 -0
- package/node_modules/minimist/.travis.yml +8 -0
- package/node_modules/minimist/LICENSE +18 -0
- package/node_modules/minimist/example/parse.js +2 -0
- package/node_modules/minimist/index.js +245 -0
- package/node_modules/minimist/package.json +49 -0
- package/node_modules/minimist/readme.markdown +95 -0
- package/node_modules/minimist/test/all_bool.js +32 -0
- package/node_modules/minimist/test/bool.js +178 -0
- package/node_modules/minimist/test/dash.js +31 -0
- package/node_modules/minimist/test/default_bool.js +35 -0
- package/node_modules/minimist/test/dotted.js +22 -0
- package/node_modules/minimist/test/kv_short.js +16 -0
- package/node_modules/minimist/test/long.js +31 -0
- package/node_modules/minimist/test/num.js +36 -0
- package/node_modules/minimist/test/parse.js +197 -0
- package/node_modules/minimist/test/parse_modified.js +9 -0
- package/node_modules/minimist/test/proto.js +44 -0
- package/node_modules/minimist/test/short.js +67 -0
- package/node_modules/minimist/test/stop_early.js +15 -0
- package/node_modules/minimist/test/unknown.js +102 -0
- package/node_modules/minimist/test/whitespace.js +8 -0
- package/node_modules/nice-try/CHANGELOG.md +21 -0
- package/node_modules/nice-try/LICENSE +21 -0
- package/node_modules/nice-try/README.md +32 -0
- package/node_modules/nice-try/package.json +37 -0
- package/node_modules/nice-try/src/index.js +12 -0
- package/node_modules/once/LICENSE +15 -0
- package/node_modules/once/README.md +79 -0
- package/node_modules/once/once.js +42 -0
- package/node_modules/once/package.json +37 -0
- package/node_modules/open/index.d.ts +88 -0
- package/node_modules/open/index.js +195 -0
- package/node_modules/open/license +9 -0
- package/node_modules/open/package.json +64 -0
- package/node_modules/open/readme.md +154 -0
- package/node_modules/open/xdg-open +1066 -0
- package/node_modules/os-tmpdir/index.js +25 -0
- package/node_modules/os-tmpdir/license +21 -0
- package/node_modules/os-tmpdir/package.json +45 -0
- package/node_modules/os-tmpdir/readme.md +32 -0
- package/node_modules/patch-package/CHANGELOG.md +389 -0
- package/node_modules/patch-package/LICENSE +19 -0
- package/node_modules/patch-package/README.md +269 -0
- package/node_modules/patch-package/dist/PackageDetails.js +102 -0
- package/node_modules/patch-package/dist/PackageDetails.test.js +228 -0
- package/node_modules/patch-package/dist/applyPatches.js +261 -0
- package/node_modules/patch-package/dist/assertNever.js +8 -0
- package/node_modules/patch-package/dist/createIssue.js +83 -0
- package/node_modules/patch-package/dist/detectPackageManager.js +64 -0
- package/node_modules/patch-package/dist/filterFiles.js +17 -0
- package/node_modules/patch-package/dist/getAppRootPath.js +22 -0
- package/node_modules/patch-package/dist/getPackageResolution.js +85 -0
- package/node_modules/patch-package/dist/getPackageVersion.js +9 -0
- package/node_modules/patch-package/dist/index.js +161 -0
- package/node_modules/patch-package/dist/makePatch.js +231 -0
- package/node_modules/patch-package/dist/makeRegExp.js +28 -0
- package/node_modules/patch-package/dist/packageIsDevDependency.js +15 -0
- package/node_modules/patch-package/dist/packageIsDevDependency.test.js +32 -0
- package/node_modules/patch-package/dist/patch/apply.js +197 -0
- package/node_modules/patch-package/dist/patch/parse.js +330 -0
- package/node_modules/patch-package/dist/patch/read.js +49 -0
- package/node_modules/patch-package/dist/patch/reverse.js +96 -0
- package/node_modules/patch-package/dist/patchFs.js +20 -0
- package/node_modules/patch-package/dist/path.js +17 -0
- package/node_modules/patch-package/dist/resolveRelativeFileDependencies.js +21 -0
- package/node_modules/patch-package/dist/resolveRelativeFileDependencies.test.js +22 -0
- package/node_modules/patch-package/dist/spawnSafe.js +28 -0
- package/node_modules/patch-package/index.js +3 -0
- package/node_modules/patch-package/node_modules/cross-spawn/CHANGELOG.md +100 -0
- package/node_modules/patch-package/node_modules/cross-spawn/LICENSE +21 -0
- package/node_modules/patch-package/node_modules/cross-spawn/README.md +94 -0
- package/node_modules/patch-package/node_modules/cross-spawn/index.js +39 -0
- package/node_modules/patch-package/node_modules/cross-spawn/lib/enoent.js +59 -0
- package/node_modules/patch-package/node_modules/cross-spawn/lib/parse.js +125 -0
- package/node_modules/patch-package/node_modules/cross-spawn/lib/util/escape.js +45 -0
- package/node_modules/patch-package/node_modules/cross-spawn/lib/util/readShebang.js +32 -0
- package/node_modules/patch-package/node_modules/cross-spawn/lib/util/resolveCommand.js +47 -0
- package/node_modules/patch-package/node_modules/cross-spawn/package.json +80 -0
- package/node_modules/patch-package/node_modules/path-key/index.js +13 -0
- package/node_modules/patch-package/node_modules/path-key/license +21 -0
- package/node_modules/patch-package/node_modules/path-key/package.json +43 -0
- package/node_modules/patch-package/node_modules/path-key/readme.md +51 -0
- package/node_modules/patch-package/node_modules/rimraf/LICENSE +15 -0
- package/node_modules/patch-package/node_modules/rimraf/README.md +101 -0
- package/node_modules/patch-package/node_modules/rimraf/bin.js +50 -0
- package/node_modules/patch-package/node_modules/rimraf/package.json +33 -0
- package/node_modules/patch-package/node_modules/rimraf/rimraf.js +372 -0
- package/node_modules/patch-package/node_modules/semver/CHANGELOG.md +39 -0
- package/node_modules/patch-package/node_modules/semver/LICENSE +15 -0
- package/node_modules/patch-package/node_modules/semver/README.md +412 -0
- package/node_modules/patch-package/node_modules/semver/bin/semver +160 -0
- package/node_modules/patch-package/node_modules/semver/package.json +32 -0
- package/node_modules/patch-package/node_modules/semver/range.bnf +16 -0
- package/node_modules/patch-package/node_modules/semver/semver.js +1483 -0
- package/node_modules/patch-package/node_modules/shebang-command/index.js +19 -0
- package/node_modules/patch-package/node_modules/shebang-command/license +21 -0
- package/node_modules/patch-package/node_modules/shebang-command/package.json +43 -0
- package/node_modules/patch-package/node_modules/shebang-command/readme.md +39 -0
- package/node_modules/patch-package/node_modules/shebang-regex/index.js +2 -0
- package/node_modules/patch-package/node_modules/shebang-regex/license +21 -0
- package/node_modules/patch-package/node_modules/shebang-regex/package.json +36 -0
- package/node_modules/patch-package/node_modules/shebang-regex/readme.md +29 -0
- package/node_modules/patch-package/node_modules/slash/index.js +11 -0
- package/node_modules/patch-package/node_modules/slash/license +9 -0
- package/node_modules/patch-package/node_modules/slash/package.json +38 -0
- package/node_modules/patch-package/node_modules/slash/readme.md +44 -0
- package/node_modules/patch-package/node_modules/which/CHANGELOG.md +152 -0
- package/node_modules/patch-package/node_modules/which/LICENSE +15 -0
- package/node_modules/patch-package/node_modules/which/README.md +51 -0
- package/node_modules/patch-package/node_modules/which/bin/which +52 -0
- package/node_modules/patch-package/node_modules/which/package.json +34 -0
- package/node_modules/patch-package/node_modules/which/which.js +135 -0
- package/node_modules/patch-package/package.json +100 -0
- package/node_modules/path-is-absolute/index.js +20 -0
- package/node_modules/path-is-absolute/license +21 -0
- package/node_modules/path-is-absolute/package.json +47 -0
- package/node_modules/path-is-absolute/readme.md +59 -0
- package/node_modules/picomatch/CHANGELOG.md +120 -0
- package/node_modules/picomatch/LICENSE +21 -0
- package/node_modules/picomatch/README.md +691 -0
- package/node_modules/picomatch/index.js +3 -0
- package/node_modules/picomatch/lib/constants.js +179 -0
- package/node_modules/picomatch/lib/parse.js +1078 -0
- package/node_modules/picomatch/lib/picomatch.js +339 -0
- package/node_modules/picomatch/lib/scan.js +385 -0
- package/node_modules/picomatch/lib/utils.js +64 -0
- package/node_modules/picomatch/package.json +85 -0
- package/node_modules/remove-markdown/.npmignore +1 -0
- package/node_modules/remove-markdown/LICENSE +21 -0
- package/node_modules/remove-markdown/README.md +44 -0
- package/node_modules/remove-markdown/index.js +60 -0
- package/node_modules/remove-markdown/package.json +31 -0
- package/node_modules/remove-markdown/test/remove-markdown.js +139 -0
- package/node_modules/semver/CHANGELOG.md +111 -0
- package/node_modules/semver/LICENSE +15 -0
- package/node_modules/semver/README.md +566 -0
- package/node_modules/semver/bin/semver.js +173 -0
- package/node_modules/semver/classes/comparator.js +135 -0
- package/node_modules/semver/classes/index.js +5 -0
- package/node_modules/semver/classes/range.js +510 -0
- package/node_modules/semver/classes/semver.js +287 -0
- package/node_modules/semver/functions/clean.js +6 -0
- package/node_modules/semver/functions/cmp.js +48 -0
- package/node_modules/semver/functions/coerce.js +51 -0
- package/node_modules/semver/functions/compare-build.js +7 -0
- package/node_modules/semver/functions/compare-loose.js +3 -0
- package/node_modules/semver/functions/compare.js +5 -0
- package/node_modules/semver/functions/diff.js +23 -0
- package/node_modules/semver/functions/eq.js +3 -0
- package/node_modules/semver/functions/gt.js +3 -0
- package/node_modules/semver/functions/gte.js +3 -0
- package/node_modules/semver/functions/inc.js +15 -0
- package/node_modules/semver/functions/lt.js +3 -0
- package/node_modules/semver/functions/lte.js +3 -0
- package/node_modules/semver/functions/major.js +3 -0
- package/node_modules/semver/functions/minor.js +3 -0
- package/node_modules/semver/functions/neq.js +3 -0
- package/node_modules/semver/functions/parse.js +33 -0
- package/node_modules/semver/functions/patch.js +3 -0
- package/node_modules/semver/functions/prerelease.js +6 -0
- package/node_modules/semver/functions/rcompare.js +3 -0
- package/node_modules/semver/functions/rsort.js +3 -0
- package/node_modules/semver/functions/satisfies.js +10 -0
- package/node_modules/semver/functions/sort.js +3 -0
- package/node_modules/semver/functions/valid.js +6 -0
- package/node_modules/semver/index.js +48 -0
- package/node_modules/semver/internal/constants.js +17 -0
- package/node_modules/semver/internal/debug.js +9 -0
- package/node_modules/semver/internal/identifiers.js +23 -0
- package/node_modules/semver/internal/parse-options.js +11 -0
- package/node_modules/semver/internal/re.js +182 -0
- package/node_modules/semver/package.json +45 -0
- package/node_modules/semver/preload.js +2 -0
- package/node_modules/semver/range.bnf +16 -0
- package/node_modules/semver/ranges/gtr.js +4 -0
- package/node_modules/semver/ranges/intersects.js +7 -0
- package/node_modules/semver/ranges/ltr.js +4 -0
- package/node_modules/semver/ranges/max-satisfying.js +25 -0
- package/node_modules/semver/ranges/min-satisfying.js +24 -0
- package/node_modules/semver/ranges/min-version.js +60 -0
- package/node_modules/semver/ranges/outside.js +80 -0
- package/node_modules/semver/ranges/simplify.js +44 -0
- package/node_modules/semver/ranges/subset.js +222 -0
- package/node_modules/semver/ranges/to-comparators.js +8 -0
- package/node_modules/semver/ranges/valid.js +11 -0
- package/node_modules/supports-color/browser.js +5 -0
- package/node_modules/supports-color/index.js +131 -0
- package/node_modules/supports-color/license +9 -0
- package/node_modules/supports-color/package.json +57 -0
- package/node_modules/supports-color/readme.md +66 -0
- package/node_modules/tmp/LICENSE +21 -0
- package/node_modules/tmp/README.md +314 -0
- package/node_modules/tmp/lib/tmp.js +611 -0
- package/node_modules/tmp/package.json +42 -0
- package/node_modules/to-regex-range/LICENSE +21 -0
- package/node_modules/to-regex-range/README.md +305 -0
- package/node_modules/to-regex-range/index.js +288 -0
- package/node_modules/to-regex-range/package.json +92 -0
- package/node_modules/universalify/LICENSE +20 -0
- package/node_modules/universalify/README.md +76 -0
- package/node_modules/universalify/index.js +25 -0
- package/node_modules/universalify/package.json +38 -0
- package/node_modules/wrappy/LICENSE +15 -0
- package/node_modules/wrappy/README.md +36 -0
- package/node_modules/wrappy/package.json +33 -0
- package/node_modules/wrappy/wrappy.js +33 -0
- package/node_modules/yallist/LICENSE +15 -0
- package/node_modules/yallist/README.md +204 -0
- package/node_modules/yallist/iterator.js +8 -0
- package/node_modules/yallist/package.json +33 -0
- package/node_modules/yallist/yallist.js +426 -0
- 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,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
|
+
};
|