@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,161 @@
|
|
|
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
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
7
|
+
const process_1 = __importDefault(require("process"));
|
|
8
|
+
const minimist_1 = __importDefault(require("minimist"));
|
|
9
|
+
const applyPatches_1 = require("./applyPatches");
|
|
10
|
+
const getAppRootPath_1 = require("./getAppRootPath");
|
|
11
|
+
const makePatch_1 = require("./makePatch");
|
|
12
|
+
const makeRegExp_1 = require("./makeRegExp");
|
|
13
|
+
const detectPackageManager_1 = require("./detectPackageManager");
|
|
14
|
+
const path_1 = require("./path");
|
|
15
|
+
const path_2 = require("path");
|
|
16
|
+
const slash = require("slash");
|
|
17
|
+
const is_ci_1 = __importDefault(require("is-ci"));
|
|
18
|
+
const appPath = getAppRootPath_1.getAppRootPath();
|
|
19
|
+
const argv = minimist_1.default(process_1.default.argv.slice(2), {
|
|
20
|
+
boolean: [
|
|
21
|
+
"use-yarn",
|
|
22
|
+
"case-sensitive-path-filtering",
|
|
23
|
+
"reverse",
|
|
24
|
+
"help",
|
|
25
|
+
"version",
|
|
26
|
+
"error-on-fail",
|
|
27
|
+
"create-issue",
|
|
28
|
+
],
|
|
29
|
+
string: ["patch-dir"],
|
|
30
|
+
});
|
|
31
|
+
const packageNames = argv._;
|
|
32
|
+
console.log(chalk_1.default.bold("patch-package"),
|
|
33
|
+
// tslint:disable-next-line:no-var-requires
|
|
34
|
+
require(path_1.join(__dirname, "../package.json")).version);
|
|
35
|
+
if (argv.version || argv.v) {
|
|
36
|
+
// noop
|
|
37
|
+
}
|
|
38
|
+
else if (argv.help || argv.h) {
|
|
39
|
+
printHelp();
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
const patchDir = slash(path_2.normalize((argv["patch-dir"] || "patches") + path_2.sep));
|
|
43
|
+
if (patchDir.startsWith("/")) {
|
|
44
|
+
throw new Error("--patch-dir must be a relative path");
|
|
45
|
+
}
|
|
46
|
+
if (packageNames.length) {
|
|
47
|
+
const includePaths = makeRegExp_1.makeRegExp(argv.include, "include", /.*/, argv["case-sensitive-path-filtering"]);
|
|
48
|
+
const excludePaths = makeRegExp_1.makeRegExp(argv.exclude, "exclude", /package\.json$/, argv["case-sensitive-path-filtering"]);
|
|
49
|
+
const packageManager = detectPackageManager_1.detectPackageManager(appPath, argv["use-yarn"] ? "yarn" : null);
|
|
50
|
+
const createIssue = argv["create-issue"];
|
|
51
|
+
packageNames.forEach((packagePathSpecifier) => {
|
|
52
|
+
makePatch_1.makePatch({
|
|
53
|
+
packagePathSpecifier,
|
|
54
|
+
appPath,
|
|
55
|
+
packageManager,
|
|
56
|
+
includePaths,
|
|
57
|
+
excludePaths,
|
|
58
|
+
patchDir,
|
|
59
|
+
createIssue,
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
console.log("Applying patches...");
|
|
65
|
+
const reverse = !!argv["reverse"];
|
|
66
|
+
// don't want to exit(1) on postinsall locally.
|
|
67
|
+
// see https://github.com/ds300/patch-package/issues/86
|
|
68
|
+
const shouldExitWithError = !!argv["error-on-fail"] || is_ci_1.default || process_1.default.env.NODE_ENV === "test";
|
|
69
|
+
applyPatches_1.applyPatchesForApp({ appPath, reverse, patchDir, shouldExitWithError });
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function printHelp() {
|
|
73
|
+
console.log(`
|
|
74
|
+
Usage:
|
|
75
|
+
|
|
76
|
+
1. Patching packages
|
|
77
|
+
====================
|
|
78
|
+
|
|
79
|
+
${chalk_1.default.bold("patch-package")}
|
|
80
|
+
|
|
81
|
+
Without arguments, the ${chalk_1.default.bold("patch-package")} command will attempt to find and apply
|
|
82
|
+
patch files to your project. It looks for files named like
|
|
83
|
+
|
|
84
|
+
./patches/<package-name>+<version>.patch
|
|
85
|
+
|
|
86
|
+
Options:
|
|
87
|
+
|
|
88
|
+
${chalk_1.default.bold("--patch-dir <dirname>")}
|
|
89
|
+
|
|
90
|
+
Specify the name for the directory in which the patch files are located.
|
|
91
|
+
|
|
92
|
+
${chalk_1.default.bold("--error-on-fail")}
|
|
93
|
+
|
|
94
|
+
Forces patch-package to exit with code 1 after failing.
|
|
95
|
+
|
|
96
|
+
When running locally patch-package always exits with 0 by default.
|
|
97
|
+
This happens even after failing to apply patches because otherwise
|
|
98
|
+
yarn.lock and package.json might get out of sync with node_modules,
|
|
99
|
+
which can be very confusing.
|
|
100
|
+
|
|
101
|
+
--error-on-fail is ${chalk_1.default.bold("switched on")} by default on CI.
|
|
102
|
+
|
|
103
|
+
See https://github.com/ds300/patch-package/issues/86 for background.
|
|
104
|
+
|
|
105
|
+
${chalk_1.default.bold("--reverse")}
|
|
106
|
+
|
|
107
|
+
Un-applies all patches.
|
|
108
|
+
|
|
109
|
+
Note that this will fail if the patched files have changed since being
|
|
110
|
+
patched. In that case, you'll probably need to re-install 'node_modules'.
|
|
111
|
+
|
|
112
|
+
This option was added to help people using CircleCI avoid an issue around caching
|
|
113
|
+
and patch file updates (https://github.com/ds300/patch-package/issues/37),
|
|
114
|
+
but might be useful in other contexts too.
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
2. Creating patch files
|
|
118
|
+
=======================
|
|
119
|
+
|
|
120
|
+
${chalk_1.default.bold("patch-package")} <package-name>${chalk_1.default.italic("[ <package-name>]")}
|
|
121
|
+
|
|
122
|
+
When given package names as arguments, patch-package will create patch files
|
|
123
|
+
based on any changes you've made to the versions installed by yarn/npm.
|
|
124
|
+
|
|
125
|
+
Options:
|
|
126
|
+
|
|
127
|
+
${chalk_1.default.bold("--create-issue")}
|
|
128
|
+
|
|
129
|
+
For packages whose source is hosted on GitHub this option opens a web
|
|
130
|
+
browser with a draft issue based on your diff.
|
|
131
|
+
|
|
132
|
+
${chalk_1.default.bold("--use-yarn")}
|
|
133
|
+
|
|
134
|
+
By default, patch-package checks whether you use npm or yarn based on
|
|
135
|
+
which lockfile you have. If you have both, it uses npm by default.
|
|
136
|
+
Set this option to override that default and always use yarn.
|
|
137
|
+
|
|
138
|
+
${chalk_1.default.bold("--exclude <regexp>")}
|
|
139
|
+
|
|
140
|
+
Ignore paths matching the regexp when creating patch files.
|
|
141
|
+
Paths are relative to the root dir of the package to be patched.
|
|
142
|
+
|
|
143
|
+
Default: 'package\\.json$'
|
|
144
|
+
|
|
145
|
+
${chalk_1.default.bold("--include <regexp>")}
|
|
146
|
+
|
|
147
|
+
Only consider paths matching the regexp when creating patch files.
|
|
148
|
+
Paths are relative to the root dir of the package to be patched.
|
|
149
|
+
|
|
150
|
+
Default '.*'
|
|
151
|
+
|
|
152
|
+
${chalk_1.default.bold("--case-sensitive-path-filtering")}
|
|
153
|
+
|
|
154
|
+
Make regexps used in --include or --exclude filters case-sensitive.
|
|
155
|
+
|
|
156
|
+
${chalk_1.default.bold("--patch-dir")}
|
|
157
|
+
|
|
158
|
+
Specify the name for the directory in which to put the patch files.
|
|
159
|
+
`);
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrREFBeUI7QUFDekIsc0RBQTZCO0FBQzdCLHdEQUErQjtBQUUvQixpREFBbUQ7QUFDbkQscURBQWlEO0FBQ2pELDJDQUF1QztBQUN2Qyw2Q0FBeUM7QUFDekMsaUVBQTZEO0FBQzdELGlDQUE2QjtBQUM3QiwrQkFBcUM7QUFDckMsK0JBQStCO0FBQy9CLGtEQUF3QjtBQUV4QixNQUFNLE9BQU8sR0FBRywrQkFBYyxFQUFFLENBQUE7QUFDaEMsTUFBTSxJQUFJLEdBQUcsa0JBQVEsQ0FBQyxpQkFBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7SUFDM0MsT0FBTyxFQUFFO1FBQ1AsVUFBVTtRQUNWLCtCQUErQjtRQUMvQixTQUFTO1FBQ1QsTUFBTTtRQUNOLFNBQVM7UUFDVCxlQUFlO1FBQ2YsY0FBYztLQUNmO0lBQ0QsTUFBTSxFQUFFLENBQUMsV0FBVyxDQUFDO0NBQ3RCLENBQUMsQ0FBQTtBQUNGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7QUFFM0IsT0FBTyxDQUFDLEdBQUcsQ0FDVCxlQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztBQUMzQiwyQ0FBMkM7QUFDM0MsT0FBTyxDQUFDLFdBQUksQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDcEQsQ0FBQTtBQUVELElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFO0lBQzFCLE9BQU87Q0FDUjtLQUFNLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFO0lBQzlCLFNBQVMsRUFBRSxDQUFBO0NBQ1o7S0FBTTtJQUNMLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxnQkFBUyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLFVBQUcsQ0FBQyxDQUFDLENBQUE7SUFDekUsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQTtLQUN2RDtJQUNELElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRTtRQUN2QixNQUFNLFlBQVksR0FBRyx1QkFBVSxDQUM3QixJQUFJLENBQUMsT0FBTyxFQUNaLFNBQVMsRUFDVCxJQUFJLEVBQ0osSUFBSSxDQUFDLCtCQUErQixDQUFDLENBQ3RDLENBQUE7UUFDRCxNQUFNLFlBQVksR0FBRyx1QkFBVSxDQUM3QixJQUFJLENBQUMsT0FBTyxFQUNaLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsSUFBSSxDQUFDLCtCQUErQixDQUFDLENBQ3RDLENBQUE7UUFDRCxNQUFNLGNBQWMsR0FBRywyQ0FBb0IsQ0FDekMsT0FBTyxFQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2pDLENBQUE7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDeEMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUE0QixFQUFFLEVBQUU7WUFDcEQscUJBQVMsQ0FBQztnQkFDUixvQkFBb0I7Z0JBQ3BCLE9BQU87Z0JBQ1AsY0FBYztnQkFDZCxZQUFZO2dCQUNaLFlBQVk7Z0JBQ1osUUFBUTtnQkFDUixXQUFXO2FBQ1osQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7S0FDSDtTQUFNO1FBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDakMsK0NBQStDO1FBQy9DLHVEQUF1RDtRQUN2RCxNQUFNLG1CQUFtQixHQUN2QixDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLGVBQUksSUFBSSxpQkFBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFBO1FBQ3BFLGlDQUFrQixDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFBO0tBQ3hFO0NBQ0Y7QUFFRCxTQUFTLFNBQVM7SUFDaEIsT0FBTyxDQUFDLEdBQUcsQ0FBQzs7Ozs7O01BTVIsZUFBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7OzJCQUVOLGVBQUssQ0FBQyxJQUFJLENBQ2pDLGVBQWUsQ0FDaEI7Ozs7Ozs7TUFPRyxlQUFLLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDOzs7O01BSW5DLGVBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7Ozs7Ozs7OzsyQkFTUixlQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQzs7OztNQUk5QyxlQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O01BZXZCLGVBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixlQUFLLENBQUMsTUFBTSxDQUMzRCxtQkFBbUIsQ0FDcEI7Ozs7Ozs7TUFPRyxlQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDOzs7OztNQUs1QixlQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzs7Ozs7O01BTXhCLGVBQUssQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUM7Ozs7Ozs7TUFPaEMsZUFBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQzs7Ozs7OztNQU9oQyxlQUFLLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxDQUFDOzs7O01BSTdDLGVBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDOzs7Q0FHOUIsQ0FBQyxDQUFBO0FBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjaGFsayBmcm9tIFwiY2hhbGtcIlxuaW1wb3J0IHByb2Nlc3MgZnJvbSBcInByb2Nlc3NcIlxuaW1wb3J0IG1pbmltaXN0IGZyb20gXCJtaW5pbWlzdFwiXG5cbmltcG9ydCB7IGFwcGx5UGF0Y2hlc0ZvckFwcCB9IGZyb20gXCIuL2FwcGx5UGF0Y2hlc1wiXG5pbXBvcnQgeyBnZXRBcHBSb290UGF0aCB9IGZyb20gXCIuL2dldEFwcFJvb3RQYXRoXCJcbmltcG9ydCB7IG1ha2VQYXRjaCB9IGZyb20gXCIuL21ha2VQYXRjaFwiXG5pbXBvcnQgeyBtYWtlUmVnRXhwIH0gZnJvbSBcIi4vbWFrZVJlZ0V4cFwiXG5pbXBvcnQgeyBkZXRlY3RQYWNrYWdlTWFuYWdlciB9IGZyb20gXCIuL2RldGVjdFBhY2thZ2VNYW5hZ2VyXCJcbmltcG9ydCB7IGpvaW4gfSBmcm9tIFwiLi9wYXRoXCJcbmltcG9ydCB7IG5vcm1hbGl6ZSwgc2VwIH0gZnJvbSBcInBhdGhcIlxuaW1wb3J0IHNsYXNoID0gcmVxdWlyZShcInNsYXNoXCIpXG5pbXBvcnQgaXNDaSBmcm9tIFwiaXMtY2lcIlxuXG5jb25zdCBhcHBQYXRoID0gZ2V0QXBwUm9vdFBhdGgoKVxuY29uc3QgYXJndiA9IG1pbmltaXN0KHByb2Nlc3MuYXJndi5zbGljZSgyKSwge1xuICBib29sZWFuOiBbXG4gICAgXCJ1c2UteWFyblwiLFxuICAgIFwiY2FzZS1zZW5zaXRpdmUtcGF0aC1maWx0ZXJpbmdcIixcbiAgICBcInJldmVyc2VcIixcbiAgICBcImhlbHBcIixcbiAgICBcInZlcnNpb25cIixcbiAgICBcImVycm9yLW9uLWZhaWxcIixcbiAgICBcImNyZWF0ZS1pc3N1ZVwiLFxuICBdLFxuICBzdHJpbmc6IFtcInBhdGNoLWRpclwiXSxcbn0pXG5jb25zdCBwYWNrYWdlTmFtZXMgPSBhcmd2Ll9cblxuY29uc29sZS5sb2coXG4gIGNoYWxrLmJvbGQoXCJwYXRjaC1wYWNrYWdlXCIpLFxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tdmFyLXJlcXVpcmVzXG4gIHJlcXVpcmUoam9pbihfX2Rpcm5hbWUsIFwiLi4vcGFja2FnZS5qc29uXCIpKS52ZXJzaW9uLFxuKVxuXG5pZiAoYXJndi52ZXJzaW9uIHx8IGFyZ3Yudikge1xuICAvLyBub29wXG59IGVsc2UgaWYgKGFyZ3YuaGVscCB8fCBhcmd2LmgpIHtcbiAgcHJpbnRIZWxwKClcbn0gZWxzZSB7XG4gIGNvbnN0IHBhdGNoRGlyID0gc2xhc2gobm9ybWFsaXplKChhcmd2W1wicGF0Y2gtZGlyXCJdIHx8IFwicGF0Y2hlc1wiKSArIHNlcCkpXG4gIGlmIChwYXRjaERpci5zdGFydHNXaXRoKFwiL1wiKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIi0tcGF0Y2gtZGlyIG11c3QgYmUgYSByZWxhdGl2ZSBwYXRoXCIpXG4gIH1cbiAgaWYgKHBhY2thZ2VOYW1lcy5sZW5ndGgpIHtcbiAgICBjb25zdCBpbmNsdWRlUGF0aHMgPSBtYWtlUmVnRXhwKFxuICAgICAgYXJndi5pbmNsdWRlLFxuICAgICAgXCJpbmNsdWRlXCIsXG4gICAgICAvLiovLFxuICAgICAgYXJndltcImNhc2Utc2Vuc2l0aXZlLXBhdGgtZmlsdGVyaW5nXCJdLFxuICAgIClcbiAgICBjb25zdCBleGNsdWRlUGF0aHMgPSBtYWtlUmVnRXhwKFxuICAgICAgYXJndi5leGNsdWRlLFxuICAgICAgXCJleGNsdWRlXCIsXG4gICAgICAvcGFja2FnZVxcLmpzb24kLyxcbiAgICAgIGFyZ3ZbXCJjYXNlLXNlbnNpdGl2ZS1wYXRoLWZpbHRlcmluZ1wiXSxcbiAgICApXG4gICAgY29uc3QgcGFja2FnZU1hbmFnZXIgPSBkZXRlY3RQYWNrYWdlTWFuYWdlcihcbiAgICAgIGFwcFBhdGgsXG4gICAgICBhcmd2W1widXNlLXlhcm5cIl0gPyBcInlhcm5cIiA6IG51bGwsXG4gICAgKVxuICAgIGNvbnN0IGNyZWF0ZUlzc3VlID0gYXJndltcImNyZWF0ZS1pc3N1ZVwiXVxuICAgIHBhY2thZ2VOYW1lcy5mb3JFYWNoKChwYWNrYWdlUGF0aFNwZWNpZmllcjogc3RyaW5nKSA9PiB7XG4gICAgICBtYWtlUGF0Y2goe1xuICAgICAgICBwYWNrYWdlUGF0aFNwZWNpZmllcixcbiAgICAgICAgYXBwUGF0aCxcbiAgICAgICAgcGFja2FnZU1hbmFnZXIsXG4gICAgICAgIGluY2x1ZGVQYXRocyxcbiAgICAgICAgZXhjbHVkZVBhdGhzLFxuICAgICAgICBwYXRjaERpcixcbiAgICAgICAgY3JlYXRlSXNzdWUsXG4gICAgICB9KVxuICAgIH0pXG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5sb2coXCJBcHBseWluZyBwYXRjaGVzLi4uXCIpXG4gICAgY29uc3QgcmV2ZXJzZSA9ICEhYXJndltcInJldmVyc2VcIl1cbiAgICAvLyBkb24ndCB3YW50IHRvIGV4aXQoMSkgb24gcG9zdGluc2FsbCBsb2NhbGx5LlxuICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vZHMzMDAvcGF0Y2gtcGFja2FnZS9pc3N1ZXMvODZcbiAgICBjb25zdCBzaG91bGRFeGl0V2l0aEVycm9yID1cbiAgICAgICEhYXJndltcImVycm9yLW9uLWZhaWxcIl0gfHwgaXNDaSB8fCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJ0ZXN0XCJcbiAgICBhcHBseVBhdGNoZXNGb3JBcHAoeyBhcHBQYXRoLCByZXZlcnNlLCBwYXRjaERpciwgc2hvdWxkRXhpdFdpdGhFcnJvciB9KVxuICB9XG59XG5cbmZ1bmN0aW9uIHByaW50SGVscCgpIHtcbiAgY29uc29sZS5sb2coYFxuVXNhZ2U6XG5cbiAgMS4gUGF0Y2hpbmcgcGFja2FnZXNcbiAgPT09PT09PT09PT09PT09PT09PT1cblxuICAgICR7Y2hhbGsuYm9sZChcInBhdGNoLXBhY2thZ2VcIil9XG5cbiAgV2l0aG91dCBhcmd1bWVudHMsIHRoZSAke2NoYWxrLmJvbGQoXG4gICAgXCJwYXRjaC1wYWNrYWdlXCIsXG4gICl9IGNvbW1hbmQgd2lsbCBhdHRlbXB0IHRvIGZpbmQgYW5kIGFwcGx5XG4gIHBhdGNoIGZpbGVzIHRvIHlvdXIgcHJvamVjdC4gSXQgbG9va3MgZm9yIGZpbGVzIG5hbWVkIGxpa2VcblxuICAgICAuL3BhdGNoZXMvPHBhY2thZ2UtbmFtZT4rPHZlcnNpb24+LnBhdGNoXG5cbiAgT3B0aW9uczpcblxuICAgICR7Y2hhbGsuYm9sZChcIi0tcGF0Y2gtZGlyIDxkaXJuYW1lPlwiKX1cblxuICAgICAgU3BlY2lmeSB0aGUgbmFtZSBmb3IgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCB0aGUgcGF0Y2ggZmlsZXMgYXJlIGxvY2F0ZWQuXG4gICAgICBcbiAgICAke2NoYWxrLmJvbGQoXCItLWVycm9yLW9uLWZhaWxcIil9XG4gICAgXG4gICAgICBGb3JjZXMgcGF0Y2gtcGFja2FnZSB0byBleGl0IHdpdGggY29kZSAxIGFmdGVyIGZhaWxpbmcuXG4gICAgXG4gICAgICBXaGVuIHJ1bm5pbmcgbG9jYWxseSBwYXRjaC1wYWNrYWdlIGFsd2F5cyBleGl0cyB3aXRoIDAgYnkgZGVmYXVsdC5cbiAgICAgIFRoaXMgaGFwcGVucyBldmVuIGFmdGVyIGZhaWxpbmcgdG8gYXBwbHkgcGF0Y2hlcyBiZWNhdXNlIG90aGVyd2lzZSBcbiAgICAgIHlhcm4ubG9jayBhbmQgcGFja2FnZS5qc29uIG1pZ2h0IGdldCBvdXQgb2Ygc3luYyB3aXRoIG5vZGVfbW9kdWxlcyxcbiAgICAgIHdoaWNoIGNhbiBiZSB2ZXJ5IGNvbmZ1c2luZy5cbiAgICAgIFxuICAgICAgLS1lcnJvci1vbi1mYWlsIGlzICR7Y2hhbGsuYm9sZChcInN3aXRjaGVkIG9uXCIpfSBieSBkZWZhdWx0IG9uIENJLlxuICAgICAgXG4gICAgICBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2RzMzAwL3BhdGNoLXBhY2thZ2UvaXNzdWVzLzg2IGZvciBiYWNrZ3JvdW5kLlxuXG4gICAgJHtjaGFsay5ib2xkKFwiLS1yZXZlcnNlXCIpfVxuICAgICAgICBcbiAgICAgIFVuLWFwcGxpZXMgYWxsIHBhdGNoZXMuXG5cbiAgICAgIE5vdGUgdGhhdCB0aGlzIHdpbGwgZmFpbCBpZiB0aGUgcGF0Y2hlZCBmaWxlcyBoYXZlIGNoYW5nZWQgc2luY2UgYmVpbmdcbiAgICAgIHBhdGNoZWQuIEluIHRoYXQgY2FzZSwgeW91J2xsIHByb2JhYmx5IG5lZWQgdG8gcmUtaW5zdGFsbCAnbm9kZV9tb2R1bGVzJy5cblxuICAgICAgVGhpcyBvcHRpb24gd2FzIGFkZGVkIHRvIGhlbHAgcGVvcGxlIHVzaW5nIENpcmNsZUNJIGF2b2lkIGFuIGlzc3VlIGFyb3VuZCBjYWNoaW5nXG4gICAgICBhbmQgcGF0Y2ggZmlsZSB1cGRhdGVzIChodHRwczovL2dpdGh1Yi5jb20vZHMzMDAvcGF0Y2gtcGFja2FnZS9pc3N1ZXMvMzcpLFxuICAgICAgYnV0IG1pZ2h0IGJlIHVzZWZ1bCBpbiBvdGhlciBjb250ZXh0cyB0b28uXG4gICAgICBcblxuICAyLiBDcmVhdGluZyBwYXRjaCBmaWxlc1xuICA9PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgJHtjaGFsay5ib2xkKFwicGF0Y2gtcGFja2FnZVwiKX0gPHBhY2thZ2UtbmFtZT4ke2NoYWxrLml0YWxpYyhcbiAgICBcIlsgPHBhY2thZ2UtbmFtZT5dXCIsXG4gICl9XG5cbiAgV2hlbiBnaXZlbiBwYWNrYWdlIG5hbWVzIGFzIGFyZ3VtZW50cywgcGF0Y2gtcGFja2FnZSB3aWxsIGNyZWF0ZSBwYXRjaCBmaWxlc1xuICBiYXNlZCBvbiBhbnkgY2hhbmdlcyB5b3UndmUgbWFkZSB0byB0aGUgdmVyc2lvbnMgaW5zdGFsbGVkIGJ5IHlhcm4vbnBtLlxuXG4gIE9wdGlvbnM6XG4gIFxuICAgICR7Y2hhbGsuYm9sZChcIi0tY3JlYXRlLWlzc3VlXCIpfVxuICAgIFxuICAgICAgIEZvciBwYWNrYWdlcyB3aG9zZSBzb3VyY2UgaXMgaG9zdGVkIG9uIEdpdEh1YiB0aGlzIG9wdGlvbiBvcGVucyBhIHdlYlxuICAgICAgIGJyb3dzZXIgd2l0aCBhIGRyYWZ0IGlzc3VlIGJhc2VkIG9uIHlvdXIgZGlmZi5cblxuICAgICR7Y2hhbGsuYm9sZChcIi0tdXNlLXlhcm5cIil9XG5cbiAgICAgICAgQnkgZGVmYXVsdCwgcGF0Y2gtcGFja2FnZSBjaGVja3Mgd2hldGhlciB5b3UgdXNlIG5wbSBvciB5YXJuIGJhc2VkIG9uXG4gICAgICAgIHdoaWNoIGxvY2tmaWxlIHlvdSBoYXZlLiBJZiB5b3UgaGF2ZSBib3RoLCBpdCB1c2VzIG5wbSBieSBkZWZhdWx0LlxuICAgICAgICBTZXQgdGhpcyBvcHRpb24gdG8gb3ZlcnJpZGUgdGhhdCBkZWZhdWx0IGFuZCBhbHdheXMgdXNlIHlhcm4uXG5cbiAgICAke2NoYWxrLmJvbGQoXCItLWV4Y2x1ZGUgPHJlZ2V4cD5cIil9XG5cbiAgICAgICAgSWdub3JlIHBhdGhzIG1hdGNoaW5nIHRoZSByZWdleHAgd2hlbiBjcmVhdGluZyBwYXRjaCBmaWxlcy5cbiAgICAgICAgUGF0aHMgYXJlIHJlbGF0aXZlIHRvIHRoZSByb290IGRpciBvZiB0aGUgcGFja2FnZSB0byBiZSBwYXRjaGVkLlxuXG4gICAgICAgIERlZmF1bHQ6ICdwYWNrYWdlXFxcXC5qc29uJCdcblxuICAgICR7Y2hhbGsuYm9sZChcIi0taW5jbHVkZSA8cmVnZXhwPlwiKX1cblxuICAgICAgICBPbmx5IGNvbnNpZGVyIHBhdGhzIG1hdGNoaW5nIHRoZSByZWdleHAgd2hlbiBjcmVhdGluZyBwYXRjaCBmaWxlcy5cbiAgICAgICAgUGF0aHMgYXJlIHJlbGF0aXZlIHRvIHRoZSByb290IGRpciBvZiB0aGUgcGFja2FnZSB0byBiZSBwYXRjaGVkLlxuXG4gICAgICAgIERlZmF1bHQgJy4qJ1xuXG4gICAgJHtjaGFsay5ib2xkKFwiLS1jYXNlLXNlbnNpdGl2ZS1wYXRoLWZpbHRlcmluZ1wiKX1cblxuICAgICAgICBNYWtlIHJlZ2V4cHMgdXNlZCBpbiAtLWluY2x1ZGUgb3IgLS1leGNsdWRlIGZpbHRlcnMgY2FzZS1zZW5zaXRpdmUuXG4gICAgXG4gICAgJHtjaGFsay5ib2xkKFwiLS1wYXRjaC1kaXJcIil9XG5cbiAgICAgICAgU3BlY2lmeSB0aGUgbmFtZSBmb3IgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCB0byBwdXQgdGhlIHBhdGNoIGZpbGVzLlxuYClcbn1cbiJdfQ==
|
|
@@ -0,0 +1,231 @@
|
|
|
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.makePatch = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const path_1 = require("./path");
|
|
9
|
+
const spawnSafe_1 = require("./spawnSafe");
|
|
10
|
+
const filterFiles_1 = require("./filterFiles");
|
|
11
|
+
const fs_extra_1 = require("fs-extra");
|
|
12
|
+
const rimraf_1 = require("rimraf");
|
|
13
|
+
const fs_extra_2 = require("fs-extra");
|
|
14
|
+
const tmp_1 = require("tmp");
|
|
15
|
+
const patchFs_1 = require("./patchFs");
|
|
16
|
+
const PackageDetails_1 = require("./PackageDetails");
|
|
17
|
+
const resolveRelativeFileDependencies_1 = require("./resolveRelativeFileDependencies");
|
|
18
|
+
const getPackageResolution_1 = require("./getPackageResolution");
|
|
19
|
+
const parse_1 = require("./patch/parse");
|
|
20
|
+
const zlib_1 = require("zlib");
|
|
21
|
+
const getPackageVersion_1 = require("./getPackageVersion");
|
|
22
|
+
const createIssue_1 = require("./createIssue");
|
|
23
|
+
function printNoPackageFoundError(packageName, packageJsonPath) {
|
|
24
|
+
console.error(`No such package ${packageName}
|
|
25
|
+
|
|
26
|
+
File not found: ${packageJsonPath}`);
|
|
27
|
+
}
|
|
28
|
+
function makePatch({ packagePathSpecifier, appPath, packageManager, includePaths, excludePaths, patchDir, createIssue, }) {
|
|
29
|
+
const packageDetails = PackageDetails_1.getPatchDetailsFromCliString(packagePathSpecifier);
|
|
30
|
+
if (!packageDetails) {
|
|
31
|
+
console.error("No such package", packagePathSpecifier);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const appPackageJson = require(path_1.join(appPath, "package.json"));
|
|
35
|
+
const packagePath = path_1.join(appPath, packageDetails.path);
|
|
36
|
+
const packageJsonPath = path_1.join(packagePath, "package.json");
|
|
37
|
+
if (!fs_extra_1.existsSync(packageJsonPath)) {
|
|
38
|
+
printNoPackageFoundError(packagePathSpecifier, packageJsonPath);
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
const tmpRepo = tmp_1.dirSync({ unsafeCleanup: true });
|
|
42
|
+
const tmpRepoPackagePath = path_1.join(tmpRepo.name, packageDetails.path);
|
|
43
|
+
const tmpRepoNpmRoot = tmpRepoPackagePath.slice(0, -`/node_modules/${packageDetails.name}`.length);
|
|
44
|
+
const tmpRepoPackageJsonPath = path_1.join(tmpRepoNpmRoot, "package.json");
|
|
45
|
+
try {
|
|
46
|
+
const patchesDir = path_1.resolve(path_1.join(appPath, patchDir));
|
|
47
|
+
console.info(chalk_1.default.grey("•"), "Creating temporary folder");
|
|
48
|
+
// make a blank package.json
|
|
49
|
+
fs_extra_1.mkdirpSync(tmpRepoNpmRoot);
|
|
50
|
+
fs_extra_1.writeFileSync(tmpRepoPackageJsonPath, JSON.stringify({
|
|
51
|
+
dependencies: {
|
|
52
|
+
[packageDetails.name]: getPackageResolution_1.getPackageResolution({
|
|
53
|
+
packageDetails,
|
|
54
|
+
packageManager,
|
|
55
|
+
appPath,
|
|
56
|
+
}),
|
|
57
|
+
},
|
|
58
|
+
resolutions: resolveRelativeFileDependencies_1.resolveRelativeFileDependencies(appPath, appPackageJson.resolutions || {}),
|
|
59
|
+
}));
|
|
60
|
+
const packageVersion = getPackageVersion_1.getPackageVersion(path_1.join(path_1.resolve(packageDetails.path), "package.json"));
|
|
61
|
+
[".npmrc", ".yarnrc"].forEach((rcFile) => {
|
|
62
|
+
const rcPath = path_1.join(appPath, rcFile);
|
|
63
|
+
if (fs_extra_1.existsSync(rcPath)) {
|
|
64
|
+
fs_extra_2.copySync(rcPath, path_1.join(tmpRepo.name, rcFile));
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
if (packageManager === "yarn") {
|
|
68
|
+
console.info(chalk_1.default.grey("•"), `Installing ${packageDetails.name}@${packageVersion} with yarn`);
|
|
69
|
+
try {
|
|
70
|
+
// try first without ignoring scripts in case they are required
|
|
71
|
+
// this works in 99.99% of cases
|
|
72
|
+
spawnSafe_1.spawnSafeSync(`yarn`, ["install", "--ignore-engines"], {
|
|
73
|
+
cwd: tmpRepoNpmRoot,
|
|
74
|
+
logStdErrOnError: false,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
// try again while ignoring scripts in case the script depends on
|
|
79
|
+
// an implicit context which we havn't reproduced
|
|
80
|
+
spawnSafe_1.spawnSafeSync(`yarn`, ["install", "--ignore-engines", "--ignore-scripts"], {
|
|
81
|
+
cwd: tmpRepoNpmRoot,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
console.info(chalk_1.default.grey("•"), `Installing ${packageDetails.name}@${packageVersion} with npm`);
|
|
87
|
+
try {
|
|
88
|
+
// try first without ignoring scripts in case they are required
|
|
89
|
+
// this works in 99.99% of cases
|
|
90
|
+
spawnSafe_1.spawnSafeSync(`npm`, ["i", "--force"], {
|
|
91
|
+
cwd: tmpRepoNpmRoot,
|
|
92
|
+
logStdErrOnError: false,
|
|
93
|
+
stdio: "ignore",
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
// try again while ignoring scripts in case the script depends on
|
|
98
|
+
// an implicit context which we havn't reproduced
|
|
99
|
+
spawnSafe_1.spawnSafeSync(`npm`, ["i", "--ignore-scripts", "--force"], {
|
|
100
|
+
cwd: tmpRepoNpmRoot,
|
|
101
|
+
stdio: "ignore",
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
const git = (...args) => spawnSafe_1.spawnSafeSync("git", args, {
|
|
106
|
+
cwd: tmpRepo.name,
|
|
107
|
+
env: Object.assign(Object.assign({}, process.env), { HOME: tmpRepo.name }),
|
|
108
|
+
maxBuffer: 1024 * 1024 * 100,
|
|
109
|
+
});
|
|
110
|
+
// remove nested node_modules just to be safe
|
|
111
|
+
rimraf_1.sync(path_1.join(tmpRepoPackagePath, "node_modules"));
|
|
112
|
+
// remove .git just to be safe
|
|
113
|
+
rimraf_1.sync(path_1.join(tmpRepoPackagePath, ".git"));
|
|
114
|
+
// commit the package
|
|
115
|
+
console.info(chalk_1.default.grey("•"), "Diffing your files with clean files");
|
|
116
|
+
fs_extra_1.writeFileSync(path_1.join(tmpRepo.name, ".gitignore"), "!/node_modules\n\n");
|
|
117
|
+
git("init");
|
|
118
|
+
git("config", "--local", "user.name", "patch-package");
|
|
119
|
+
git("config", "--local", "user.email", "patch@pack.age");
|
|
120
|
+
// remove ignored files first
|
|
121
|
+
filterFiles_1.removeIgnoredFiles(tmpRepoPackagePath, includePaths, excludePaths);
|
|
122
|
+
git("add", "-f", packageDetails.path);
|
|
123
|
+
git("commit", "--allow-empty", "-m", "init");
|
|
124
|
+
// replace package with user's version
|
|
125
|
+
rimraf_1.sync(tmpRepoPackagePath);
|
|
126
|
+
// pnpm installs packages as symlinks, copySync would copy only the symlink
|
|
127
|
+
fs_extra_2.copySync(fs_extra_1.realpathSync(packagePath), tmpRepoPackagePath);
|
|
128
|
+
// remove nested node_modules just to be safe
|
|
129
|
+
rimraf_1.sync(path_1.join(tmpRepoPackagePath, "node_modules"));
|
|
130
|
+
// remove .git just to be safe
|
|
131
|
+
rimraf_1.sync(path_1.join(tmpRepoPackagePath, ".git"));
|
|
132
|
+
// also remove ignored files like before
|
|
133
|
+
filterFiles_1.removeIgnoredFiles(tmpRepoPackagePath, includePaths, excludePaths);
|
|
134
|
+
// stage all files
|
|
135
|
+
git("add", "-f", packageDetails.path);
|
|
136
|
+
// get diff of changes
|
|
137
|
+
const diffResult = git("diff", "--cached", "--no-color", "--ignore-space-at-eol", "--no-ext-diff");
|
|
138
|
+
if (diffResult.stdout.length === 0) {
|
|
139
|
+
console.warn(`⁉️ Not creating patch file for package '${packagePathSpecifier}'`);
|
|
140
|
+
console.warn(`⁉️ There don't appear to be any changes.`);
|
|
141
|
+
process.exit(1);
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
try {
|
|
145
|
+
parse_1.parsePatchFile(diffResult.stdout.toString());
|
|
146
|
+
}
|
|
147
|
+
catch (e) {
|
|
148
|
+
if (e.message.includes("Unexpected file mode string: 120000")) {
|
|
149
|
+
console.error(`
|
|
150
|
+
⛔️ ${chalk_1.default.red.bold("ERROR")}
|
|
151
|
+
|
|
152
|
+
Your changes involve creating symlinks. patch-package does not yet support
|
|
153
|
+
symlinks.
|
|
154
|
+
|
|
155
|
+
️Please use ${chalk_1.default.bold("--include")} and/or ${chalk_1.default.bold("--exclude")} to narrow the scope of your patch if
|
|
156
|
+
this was unintentional.
|
|
157
|
+
`);
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
const outPath = "./patch-package-error.json.gz";
|
|
161
|
+
fs_extra_1.writeFileSync(outPath, zlib_1.gzipSync(JSON.stringify({
|
|
162
|
+
error: { message: e.message, stack: e.stack },
|
|
163
|
+
patch: diffResult.stdout.toString(),
|
|
164
|
+
})));
|
|
165
|
+
console.error(`
|
|
166
|
+
⛔️ ${chalk_1.default.red.bold("ERROR")}
|
|
167
|
+
|
|
168
|
+
patch-package was unable to read the patch-file made by git. This should not
|
|
169
|
+
happen.
|
|
170
|
+
|
|
171
|
+
A diagnostic file was written to
|
|
172
|
+
|
|
173
|
+
${outPath}
|
|
174
|
+
|
|
175
|
+
Please attach it to a github issue
|
|
176
|
+
|
|
177
|
+
https://github.com/ds300/patch-package/issues/new?title=New+patch+parse+failed&body=Please+attach+the+diagnostic+file+by+dragging+it+into+here+🙏
|
|
178
|
+
|
|
179
|
+
Note that this diagnostic file will contain code from the package you were
|
|
180
|
+
attempting to patch.
|
|
181
|
+
|
|
182
|
+
`);
|
|
183
|
+
}
|
|
184
|
+
process.exit(1);
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
// maybe delete existing
|
|
188
|
+
patchFs_1.getPatchFiles(patchDir).forEach((filename) => {
|
|
189
|
+
const deets = PackageDetails_1.getPackageDetailsFromPatchFilename(filename);
|
|
190
|
+
if (deets && deets.path === packageDetails.path) {
|
|
191
|
+
fs_extra_1.unlinkSync(path_1.join(patchDir, filename));
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
const patchFileName = createPatchFileName({
|
|
195
|
+
packageDetails,
|
|
196
|
+
packageVersion,
|
|
197
|
+
});
|
|
198
|
+
const patchPath = path_1.join(patchesDir, patchFileName);
|
|
199
|
+
if (!fs_extra_1.existsSync(path_1.dirname(patchPath))) {
|
|
200
|
+
// scoped package
|
|
201
|
+
fs_extra_1.mkdirSync(path_1.dirname(patchPath));
|
|
202
|
+
}
|
|
203
|
+
fs_extra_1.writeFileSync(patchPath, diffResult.stdout);
|
|
204
|
+
console.log(`${chalk_1.default.green("✔")} Created file ${path_1.join(patchDir, patchFileName)}\n`);
|
|
205
|
+
if (createIssue) {
|
|
206
|
+
createIssue_1.openIssueCreationLink({
|
|
207
|
+
packageDetails,
|
|
208
|
+
patchFileContents: diffResult.stdout.toString(),
|
|
209
|
+
packageVersion,
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
createIssue_1.maybePrintIssueCreationPrompt(packageDetails, packageManager);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
catch (e) {
|
|
217
|
+
console.error(e);
|
|
218
|
+
throw e;
|
|
219
|
+
}
|
|
220
|
+
finally {
|
|
221
|
+
tmpRepo.removeCallback();
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
exports.makePatch = makePatch;
|
|
225
|
+
function createPatchFileName({ packageDetails, packageVersion, }) {
|
|
226
|
+
const packageNames = packageDetails.packageNames
|
|
227
|
+
.map((name) => name.replace(/\//g, "+"))
|
|
228
|
+
.join("++");
|
|
229
|
+
return `${packageNames}+${packageVersion}.patch`;
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZVBhdGNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21ha2VQYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBeUI7QUFDekIsaUNBQStDO0FBQy9DLDJDQUEyQztBQUUzQywrQ0FBa0Q7QUFDbEQsdUNBT2lCO0FBQ2pCLG1DQUF1QztBQUN2Qyx1Q0FBbUM7QUFDbkMsNkJBQTZCO0FBQzdCLHVDQUF5QztBQUN6QyxxREFJeUI7QUFDekIsdUZBQW1GO0FBQ25GLGlFQUE2RDtBQUM3RCx5Q0FBOEM7QUFDOUMsK0JBQStCO0FBQy9CLDJEQUF1RDtBQUN2RCwrQ0FHc0I7QUFFdEIsU0FBUyx3QkFBd0IsQ0FDL0IsV0FBbUIsRUFDbkIsZUFBdUI7SUFFdkIsT0FBTyxDQUFDLEtBQUssQ0FDWCxtQkFBbUIsV0FBVzs7b0JBRWQsZUFBZSxFQUFFLENBQ2xDLENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBZ0IsU0FBUyxDQUFDLEVBQ3hCLG9CQUFvQixFQUNwQixPQUFPLEVBQ1AsY0FBYyxFQUNkLFlBQVksRUFDWixZQUFZLEVBQ1osUUFBUSxFQUNSLFdBQVcsR0FTWjtJQUNDLE1BQU0sY0FBYyxHQUFHLDZDQUE0QixDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFFekUsSUFBSSxDQUFDLGNBQWMsRUFBRTtRQUNuQixPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLG9CQUFvQixDQUFDLENBQUE7UUFDdEQsT0FBTTtLQUNQO0lBQ0QsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLFdBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQTtJQUM3RCxNQUFNLFdBQVcsR0FBRyxXQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN0RCxNQUFNLGVBQWUsR0FBRyxXQUFJLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBRXpELElBQUksQ0FBQyxxQkFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ2hDLHdCQUF3QixDQUFDLG9CQUFvQixFQUFFLGVBQWUsQ0FBQyxDQUFBO1FBQy9ELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FDaEI7SUFFRCxNQUFNLE9BQU8sR0FBRyxhQUFPLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUNoRCxNQUFNLGtCQUFrQixHQUFHLFdBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNsRSxNQUFNLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQzdDLENBQUMsRUFDRCxDQUFDLGlCQUFpQixjQUFjLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUMvQyxDQUFBO0lBRUQsTUFBTSxzQkFBc0IsR0FBRyxXQUFJLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBRW5FLElBQUk7UUFDRixNQUFNLFVBQVUsR0FBRyxjQUFPLENBQUMsV0FBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO1FBRW5ELE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSwyQkFBMkIsQ0FBQyxDQUFBO1FBRTFELDRCQUE0QjtRQUM1QixxQkFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQzFCLHdCQUFhLENBQ1gsc0JBQXNCLEVBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixZQUFZLEVBQUU7Z0JBQ1osQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsMkNBQW9CLENBQUM7b0JBQzFDLGNBQWM7b0JBQ2QsY0FBYztvQkFDZCxPQUFPO2lCQUNSLENBQUM7YUFDSDtZQUNELFdBQVcsRUFBRSxpRUFBK0IsQ0FDMUMsT0FBTyxFQUNQLGNBQWMsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUNqQztTQUNGLENBQUMsQ0FDSCxDQUFBO1FBRUQsTUFBTSxjQUFjLEdBQUcscUNBQWlCLENBQ3RDLFdBQUksQ0FBQyxjQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUNuRCxDQUlBO1FBQUEsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDeEMsTUFBTSxNQUFNLEdBQUcsV0FBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUNwQyxJQUFJLHFCQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3RCLG1CQUFRLENBQUMsTUFBTSxFQUFFLFdBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUE7YUFDN0M7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUVGLElBQUksY0FBYyxLQUFLLE1BQU0sRUFBRTtZQUM3QixPQUFPLENBQUMsSUFBSSxDQUNWLGVBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQ2YsY0FBYyxjQUFjLENBQUMsSUFBSSxJQUFJLGNBQWMsWUFBWSxDQUNoRSxDQUFBO1lBQ0QsSUFBSTtnQkFDRiwrREFBK0Q7Z0JBQy9ELGdDQUFnQztnQkFDaEMseUJBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsRUFBRTtvQkFDckQsR0FBRyxFQUFFLGNBQWM7b0JBQ25CLGdCQUFnQixFQUFFLEtBQUs7aUJBQ3hCLENBQUMsQ0FBQTthQUNIO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsaUVBQWlFO2dCQUNqRSxpREFBaUQ7Z0JBQ2pELHlCQUFhLENBQ1gsTUFBTSxFQUNOLENBQUMsU0FBUyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDLEVBQ25EO29CQUNFLEdBQUcsRUFBRSxjQUFjO2lCQUNwQixDQUNGLENBQUE7YUFDRjtTQUNGO2FBQU07WUFDTCxPQUFPLENBQUMsSUFBSSxDQUNWLGVBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQ2YsY0FBYyxjQUFjLENBQUMsSUFBSSxJQUFJLGNBQWMsV0FBVyxDQUMvRCxDQUFBO1lBQ0QsSUFBSTtnQkFDRiwrREFBK0Q7Z0JBQy9ELGdDQUFnQztnQkFDaEMseUJBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLEVBQUU7b0JBQ3JDLEdBQUcsRUFBRSxjQUFjO29CQUNuQixnQkFBZ0IsRUFBRSxLQUFLO29CQUN2QixLQUFLLEVBQUUsUUFBUTtpQkFDaEIsQ0FBQyxDQUFBO2FBQ0g7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixpRUFBaUU7Z0JBQ2pFLGlEQUFpRDtnQkFDakQseUJBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLEVBQUU7b0JBQ3pELEdBQUcsRUFBRSxjQUFjO29CQUNuQixLQUFLLEVBQUUsUUFBUTtpQkFDaEIsQ0FBQyxDQUFBO2FBQ0g7U0FDRjtRQUVELE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFjLEVBQUUsRUFBRSxDQUNoQyx5QkFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDekIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2pCLEdBQUcsa0NBQU8sT0FBTyxDQUFDLEdBQUcsS0FBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksR0FBRTtZQUMzQyxTQUFTLEVBQUUsSUFBSSxHQUFHLElBQUksR0FBRyxHQUFHO1NBQzdCLENBQUMsQ0FBQTtRQUVKLDZDQUE2QztRQUM3QyxhQUFNLENBQUMsV0FBSSxDQUFDLGtCQUFrQixFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUE7UUFDaEQsOEJBQThCO1FBQzlCLGFBQU0sQ0FBQyxXQUFJLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUV4QyxxQkFBcUI7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLHFDQUFxQyxDQUFDLENBQUE7UUFDcEUsd0JBQWEsQ0FBQyxXQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFBO1FBQ3JFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNYLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQTtRQUN0RCxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtRQUV4RCw2QkFBNkI7UUFDN0IsZ0NBQWtCLENBQUMsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBRWxFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNyQyxHQUFHLENBQUMsUUFBUSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFFNUMsc0NBQXNDO1FBQ3RDLGFBQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBRTFCLDJFQUEyRTtRQUMzRSxtQkFBUSxDQUFDLHVCQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtRQUV2RCw2Q0FBNkM7UUFDN0MsYUFBTSxDQUFDLFdBQUksQ0FBQyxrQkFBa0IsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFBO1FBQ2hELDhCQUE4QjtRQUM5QixhQUFNLENBQUMsV0FBSSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFFeEMsd0NBQXdDO1FBQ3hDLGdDQUFrQixDQUFDLGtCQUFrQixFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQTtRQUVsRSxrQkFBa0I7UUFDbEIsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRXJDLHNCQUFzQjtRQUN0QixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQ3BCLE1BQU0sRUFDTixVQUFVLEVBQ1YsWUFBWSxFQUNaLHVCQUF1QixFQUN2QixlQUFlLENBQ2hCLENBQUE7UUFFRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNsQyxPQUFPLENBQUMsSUFBSSxDQUNWLDRDQUE0QyxvQkFBb0IsR0FBRyxDQUNwRSxDQUFBO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQywyQ0FBMkMsQ0FBQyxDQUFBO1lBQ3pELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDZixPQUFNO1NBQ1A7UUFFRCxJQUFJO1lBQ0Ysc0JBQWMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7U0FDN0M7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQ0csQ0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMscUNBQXFDLENBQUMsRUFDcEU7Z0JBQ0EsT0FBTyxDQUFDLEtBQUssQ0FBQztLQUNqQixlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7Ozs7O2dCQUtaLGVBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsZUFBSyxDQUFDLElBQUksQ0FDbEQsV0FBVyxDQUNaOztDQUVSLENBQUMsQ0FBQTthQUNLO2lCQUFNO2dCQUNMLE1BQU0sT0FBTyxHQUFHLCtCQUErQixDQUFBO2dCQUMvQyx3QkFBYSxDQUNYLE9BQU8sRUFDUCxlQUFRLENBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDYixLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRTtvQkFDN0MsS0FBSyxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO2lCQUNwQyxDQUFDLENBQ0gsQ0FDRixDQUFBO2dCQUNELE9BQU8sQ0FBQyxLQUFLLENBQUM7S0FDakIsZUFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDOzs7Ozs7O01BT3RCLE9BQU87Ozs7Ozs7OztDQVNaLENBQUMsQ0FBQTthQUNLO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNmLE9BQU07U0FDUDtRQUVELHdCQUF3QjtRQUN4Qix1QkFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzNDLE1BQU0sS0FBSyxHQUFHLG1EQUFrQyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBQzFELElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLElBQUksRUFBRTtnQkFDL0MscUJBQVUsQ0FBQyxXQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUE7YUFDckM7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUVGLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDO1lBQ3hDLGNBQWM7WUFDZCxjQUFjO1NBQ2YsQ0FBQyxDQUFBO1FBRUYsTUFBTSxTQUFTLEdBQUcsV0FBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQTtRQUNqRCxJQUFJLENBQUMscUJBQVUsQ0FBQyxjQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRTtZQUNuQyxpQkFBaUI7WUFDakIsb0JBQVMsQ0FBQyxjQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtTQUM5QjtRQUNELHdCQUFhLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMzQyxPQUFPLENBQUMsR0FBRyxDQUNULEdBQUcsZUFBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsaUJBQWlCLFdBQUksQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FDdEUsQ0FBQTtRQUNELElBQUksV0FBVyxFQUFFO1lBQ2YsbUNBQXFCLENBQUM7Z0JBQ3BCLGNBQWM7Z0JBQ2QsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7Z0JBQy9DLGNBQWM7YUFDZixDQUFDLENBQUE7U0FDSDthQUFNO1lBQ0wsMkNBQTZCLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFBO1NBQzlEO0tBQ0Y7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDaEIsTUFBTSxDQUFDLENBQUE7S0FDUjtZQUFTO1FBQ1IsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFBO0tBQ3pCO0FBQ0gsQ0FBQztBQWhSRCw4QkFnUkM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLEVBQzNCLGNBQWMsRUFDZCxjQUFjLEdBSWY7SUFDQyxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsWUFBWTtTQUM3QyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUViLE9BQU8sR0FBRyxZQUFZLElBQUksY0FBYyxRQUFRLENBQUE7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjaGFsayBmcm9tIFwiY2hhbGtcIlxuaW1wb3J0IHsgam9pbiwgZGlybmFtZSwgcmVzb2x2ZSB9IGZyb20gXCIuL3BhdGhcIlxuaW1wb3J0IHsgc3Bhd25TYWZlU3luYyB9IGZyb20gXCIuL3NwYXduU2FmZVwiXG5pbXBvcnQgeyBQYWNrYWdlTWFuYWdlciB9IGZyb20gXCIuL2RldGVjdFBhY2thZ2VNYW5hZ2VyXCJcbmltcG9ydCB7IHJlbW92ZUlnbm9yZWRGaWxlcyB9IGZyb20gXCIuL2ZpbHRlckZpbGVzXCJcbmltcG9ydCB7XG4gIHdyaXRlRmlsZVN5bmMsXG4gIGV4aXN0c1N5bmMsXG4gIG1rZGlyU3luYyxcbiAgdW5saW5rU3luYyxcbiAgbWtkaXJwU3luYyxcbiAgcmVhbHBhdGhTeW5jLFxufSBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHsgc3luYyBhcyByaW1yYWYgfSBmcm9tIFwicmltcmFmXCJcbmltcG9ydCB7IGNvcHlTeW5jIH0gZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCB7IGRpclN5bmMgfSBmcm9tIFwidG1wXCJcbmltcG9ydCB7IGdldFBhdGNoRmlsZXMgfSBmcm9tIFwiLi9wYXRjaEZzXCJcbmltcG9ydCB7XG4gIGdldFBhdGNoRGV0YWlsc0Zyb21DbGlTdHJpbmcsXG4gIGdldFBhY2thZ2VEZXRhaWxzRnJvbVBhdGNoRmlsZW5hbWUsXG4gIFBhY2thZ2VEZXRhaWxzLFxufSBmcm9tIFwiLi9QYWNrYWdlRGV0YWlsc1wiXG5pbXBvcnQgeyByZXNvbHZlUmVsYXRpdmVGaWxlRGVwZW5kZW5jaWVzIH0gZnJvbSBcIi4vcmVzb2x2ZVJlbGF0aXZlRmlsZURlcGVuZGVuY2llc1wiXG5pbXBvcnQgeyBnZXRQYWNrYWdlUmVzb2x1dGlvbiB9IGZyb20gXCIuL2dldFBhY2thZ2VSZXNvbHV0aW9uXCJcbmltcG9ydCB7IHBhcnNlUGF0Y2hGaWxlIH0gZnJvbSBcIi4vcGF0Y2gvcGFyc2VcIlxuaW1wb3J0IHsgZ3ppcFN5bmMgfSBmcm9tIFwiemxpYlwiXG5pbXBvcnQgeyBnZXRQYWNrYWdlVmVyc2lvbiB9IGZyb20gXCIuL2dldFBhY2thZ2VWZXJzaW9uXCJcbmltcG9ydCB7XG4gIG1heWJlUHJpbnRJc3N1ZUNyZWF0aW9uUHJvbXB0LFxuICBvcGVuSXNzdWVDcmVhdGlvbkxpbmssXG59IGZyb20gXCIuL2NyZWF0ZUlzc3VlXCJcblxuZnVuY3Rpb24gcHJpbnROb1BhY2thZ2VGb3VuZEVycm9yKFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuICBwYWNrYWdlSnNvblBhdGg6IHN0cmluZyxcbikge1xuICBjb25zb2xlLmVycm9yKFxuICAgIGBObyBzdWNoIHBhY2thZ2UgJHtwYWNrYWdlTmFtZX1cblxuICBGaWxlIG5vdCBmb3VuZDogJHtwYWNrYWdlSnNvblBhdGh9YCxcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZVBhdGNoKHtcbiAgcGFja2FnZVBhdGhTcGVjaWZpZXIsXG4gIGFwcFBhdGgsXG4gIHBhY2thZ2VNYW5hZ2VyLFxuICBpbmNsdWRlUGF0aHMsXG4gIGV4Y2x1ZGVQYXRocyxcbiAgcGF0Y2hEaXIsXG4gIGNyZWF0ZUlzc3VlLFxufToge1xuICBwYWNrYWdlUGF0aFNwZWNpZmllcjogc3RyaW5nXG4gIGFwcFBhdGg6IHN0cmluZ1xuICBwYWNrYWdlTWFuYWdlcjogUGFja2FnZU1hbmFnZXJcbiAgaW5jbHVkZVBhdGhzOiBSZWdFeHBcbiAgZXhjbHVkZVBhdGhzOiBSZWdFeHBcbiAgcGF0Y2hEaXI6IHN0cmluZ1xuICBjcmVhdGVJc3N1ZTogYm9vbGVhblxufSkge1xuICBjb25zdCBwYWNrYWdlRGV0YWlscyA9IGdldFBhdGNoRGV0YWlsc0Zyb21DbGlTdHJpbmcocGFja2FnZVBhdGhTcGVjaWZpZXIpXG5cbiAgaWYgKCFwYWNrYWdlRGV0YWlscykge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJObyBzdWNoIHBhY2thZ2VcIiwgcGFja2FnZVBhdGhTcGVjaWZpZXIpXG4gICAgcmV0dXJuXG4gIH1cbiAgY29uc3QgYXBwUGFja2FnZUpzb24gPSByZXF1aXJlKGpvaW4oYXBwUGF0aCwgXCJwYWNrYWdlLmpzb25cIikpXG4gIGNvbnN0IHBhY2thZ2VQYXRoID0gam9pbihhcHBQYXRoLCBwYWNrYWdlRGV0YWlscy5wYXRoKVxuICBjb25zdCBwYWNrYWdlSnNvblBhdGggPSBqb2luKHBhY2thZ2VQYXRoLCBcInBhY2thZ2UuanNvblwiKVxuXG4gIGlmICghZXhpc3RzU3luYyhwYWNrYWdlSnNvblBhdGgpKSB7XG4gICAgcHJpbnROb1BhY2thZ2VGb3VuZEVycm9yKHBhY2thZ2VQYXRoU3BlY2lmaWVyLCBwYWNrYWdlSnNvblBhdGgpXG4gICAgcHJvY2Vzcy5leGl0KDEpXG4gIH1cblxuICBjb25zdCB0bXBSZXBvID0gZGlyU3luYyh7IHVuc2FmZUNsZWFudXA6IHRydWUgfSlcbiAgY29uc3QgdG1wUmVwb1BhY2thZ2VQYXRoID0gam9pbih0bXBSZXBvLm5hbWUsIHBhY2thZ2VEZXRhaWxzLnBhdGgpXG4gIGNvbnN0IHRtcFJlcG9OcG1Sb290ID0gdG1wUmVwb1BhY2thZ2VQYXRoLnNsaWNlKFxuICAgIDAsXG4gICAgLWAvbm9kZV9tb2R1bGVzLyR7cGFja2FnZURldGFpbHMubmFtZX1gLmxlbmd0aCxcbiAgKVxuXG4gIGNvbnN0IHRtcFJlcG9QYWNrYWdlSnNvblBhdGggPSBqb2luKHRtcFJlcG9OcG1Sb290LCBcInBhY2thZ2UuanNvblwiKVxuXG4gIHRyeSB7XG4gICAgY29uc3QgcGF0Y2hlc0RpciA9IHJlc29sdmUoam9pbihhcHBQYXRoLCBwYXRjaERpcikpXG5cbiAgICBjb25zb2xlLmluZm8oY2hhbGsuZ3JleShcIuKAolwiKSwgXCJDcmVhdGluZyB0ZW1wb3JhcnkgZm9sZGVyXCIpXG5cbiAgICAvLyBtYWtlIGEgYmxhbmsgcGFja2FnZS5qc29uXG4gICAgbWtkaXJwU3luYyh0bXBSZXBvTnBtUm9vdClcbiAgICB3cml0ZUZpbGVTeW5jKFxuICAgICAgdG1wUmVwb1BhY2thZ2VKc29uUGF0aCxcbiAgICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgZGVwZW5kZW5jaWVzOiB7XG4gICAgICAgICAgW3BhY2thZ2VEZXRhaWxzLm5hbWVdOiBnZXRQYWNrYWdlUmVzb2x1dGlvbih7XG4gICAgICAgICAgICBwYWNrYWdlRGV0YWlscyxcbiAgICAgICAgICAgIHBhY2thZ2VNYW5hZ2VyLFxuICAgICAgICAgICAgYXBwUGF0aCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVzb2x1dGlvbnM6IHJlc29sdmVSZWxhdGl2ZUZpbGVEZXBlbmRlbmNpZXMoXG4gICAgICAgICAgYXBwUGF0aCxcbiAgICAgICAgICBhcHBQYWNrYWdlSnNvbi5yZXNvbHV0aW9ucyB8fCB7fSxcbiAgICAgICAgKSxcbiAgICAgIH0pLFxuICAgIClcblxuICAgIGNvbnN0IHBhY2thZ2VWZXJzaW9uID0gZ2V0UGFja2FnZVZlcnNpb24oXG4gICAgICBqb2luKHJlc29sdmUocGFja2FnZURldGFpbHMucGF0aCksIFwicGFja2FnZS5qc29uXCIpLFxuICAgIClcblxuICAgIC8vIGNvcHkgLm5wbXJjLy55YXJucmMgaW4gY2FzZSBwYWNrYWdlcyBhcmUgaG9zdGVkIGluIHByaXZhdGUgcmVnaXN0cnlcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6YWxpZ25cbiAgICA7W1wiLm5wbXJjXCIsIFwiLnlhcm5yY1wiXS5mb3JFYWNoKChyY0ZpbGUpID0+IHtcbiAgICAgIGNvbnN0IHJjUGF0aCA9IGpvaW4oYXBwUGF0aCwgcmNGaWxlKVxuICAgICAgaWYgKGV4aXN0c1N5bmMocmNQYXRoKSkge1xuICAgICAgICBjb3B5U3luYyhyY1BhdGgsIGpvaW4odG1wUmVwby5uYW1lLCByY0ZpbGUpKVxuICAgICAgfVxuICAgIH0pXG5cbiAgICBpZiAocGFja2FnZU1hbmFnZXIgPT09IFwieWFyblwiKSB7XG4gICAgICBjb25zb2xlLmluZm8oXG4gICAgICAgIGNoYWxrLmdyZXkoXCLigKJcIiksXG4gICAgICAgIGBJbnN0YWxsaW5nICR7cGFja2FnZURldGFpbHMubmFtZX1AJHtwYWNrYWdlVmVyc2lvbn0gd2l0aCB5YXJuYCxcbiAgICAgIClcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIHRyeSBmaXJzdCB3aXRob3V0IGlnbm9yaW5nIHNjcmlwdHMgaW4gY2FzZSB0aGV5IGFyZSByZXF1aXJlZFxuICAgICAgICAvLyB0aGlzIHdvcmtzIGluIDk5Ljk5JSBvZiBjYXNlc1xuICAgICAgICBzcGF3blNhZmVTeW5jKGB5YXJuYCwgW1wiaW5zdGFsbFwiLCBcIi0taWdub3JlLWVuZ2luZXNcIl0sIHtcbiAgICAgICAgICBjd2Q6IHRtcFJlcG9OcG1Sb290LFxuICAgICAgICAgIGxvZ1N0ZEVyck9uRXJyb3I6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyB0cnkgYWdhaW4gd2hpbGUgaWdub3Jpbmcgc2NyaXB0cyBpbiBjYXNlIHRoZSBzY3JpcHQgZGVwZW5kcyBvblxuICAgICAgICAvLyBhbiBpbXBsaWNpdCBjb250ZXh0IHdoaWNoIHdlIGhhdm4ndCByZXByb2R1Y2VkXG4gICAgICAgIHNwYXduU2FmZVN5bmMoXG4gICAgICAgICAgYHlhcm5gLFxuICAgICAgICAgIFtcImluc3RhbGxcIiwgXCItLWlnbm9yZS1lbmdpbmVzXCIsIFwiLS1pZ25vcmUtc2NyaXB0c1wiXSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjd2Q6IHRtcFJlcG9OcG1Sb290LFxuICAgICAgICAgIH0sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5pbmZvKFxuICAgICAgICBjaGFsay5ncmV5KFwi4oCiXCIpLFxuICAgICAgICBgSW5zdGFsbGluZyAke3BhY2thZ2VEZXRhaWxzLm5hbWV9QCR7cGFja2FnZVZlcnNpb259IHdpdGggbnBtYCxcbiAgICAgIClcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIHRyeSBmaXJzdCB3aXRob3V0IGlnbm9yaW5nIHNjcmlwdHMgaW4gY2FzZSB0aGV5IGFyZSByZXF1aXJlZFxuICAgICAgICAvLyB0aGlzIHdvcmtzIGluIDk5Ljk5JSBvZiBjYXNlc1xuICAgICAgICBzcGF3blNhZmVTeW5jKGBucG1gLCBbXCJpXCIsIFwiLS1mb3JjZVwiXSwge1xuICAgICAgICAgIGN3ZDogdG1wUmVwb05wbVJvb3QsXG4gICAgICAgICAgbG9nU3RkRXJyT25FcnJvcjogZmFsc2UsXG4gICAgICAgICAgc3RkaW86IFwiaWdub3JlXCIsXG4gICAgICAgIH0pXG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIHRyeSBhZ2FpbiB3aGlsZSBpZ25vcmluZyBzY3JpcHRzIGluIGNhc2UgdGhlIHNjcmlwdCBkZXBlbmRzIG9uXG4gICAgICAgIC8vIGFuIGltcGxpY2l0IGNvbnRleHQgd2hpY2ggd2UgaGF2bid0IHJlcHJvZHVjZWRcbiAgICAgICAgc3Bhd25TYWZlU3luYyhgbnBtYCwgW1wiaVwiLCBcIi0taWdub3JlLXNjcmlwdHNcIiwgXCItLWZvcmNlXCJdLCB7XG4gICAgICAgICAgY3dkOiB0bXBSZXBvTnBtUm9vdCxcbiAgICAgICAgICBzdGRpbzogXCJpZ25vcmVcIixcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBnaXQgPSAoLi4uYXJnczogc3RyaW5nW10pID0+XG4gICAgICBzcGF3blNhZmVTeW5jKFwiZ2l0XCIsIGFyZ3MsIHtcbiAgICAgICAgY3dkOiB0bXBSZXBvLm5hbWUsXG4gICAgICAgIGVudjogeyAuLi5wcm9jZXNzLmVudiwgSE9NRTogdG1wUmVwby5uYW1lIH0sXG4gICAgICAgIG1heEJ1ZmZlcjogMTAyNCAqIDEwMjQgKiAxMDAsXG4gICAgICB9KVxuXG4gICAgLy8gcmVtb3ZlIG5lc3RlZCBub2RlX21vZHVsZXMganVzdCB0byBiZSBzYWZlXG4gICAgcmltcmFmKGpvaW4odG1wUmVwb1BhY2thZ2VQYXRoLCBcIm5vZGVfbW9kdWxlc1wiKSlcbiAgICAvLyByZW1vdmUgLmdpdCBqdXN0IHRvIGJlIHNhZmVcbiAgICByaW1yYWYoam9pbih0bXBSZXBvUGFja2FnZVBhdGgsIFwiLmdpdFwiKSlcblxuICAgIC8vIGNvbW1pdCB0aGUgcGFja2FnZVxuICAgIGNvbnNvbGUuaW5mbyhjaGFsay5ncmV5KFwi4oCiXCIpLCBcIkRpZmZpbmcgeW91ciBmaWxlcyB3aXRoIGNsZWFuIGZpbGVzXCIpXG4gICAgd3JpdGVGaWxlU3luYyhqb2luKHRtcFJlcG8ubmFtZSwgXCIuZ2l0aWdub3JlXCIpLCBcIiEvbm9kZV9tb2R1bGVzXFxuXFxuXCIpXG4gICAgZ2l0KFwiaW5pdFwiKVxuICAgIGdpdChcImNvbmZpZ1wiLCBcIi0tbG9jYWxcIiwgXCJ1c2VyLm5hbWVcIiwgXCJwYXRjaC1wYWNrYWdlXCIpXG4gICAgZ2l0KFwiY29uZmlnXCIsIFwiLS1sb2NhbFwiLCBcInVzZXIuZW1haWxcIiwgXCJwYXRjaEBwYWNrLmFnZVwiKVxuXG4gICAgLy8gcmVtb3ZlIGlnbm9yZWQgZmlsZXMgZmlyc3RcbiAgICByZW1vdmVJZ25vcmVkRmlsZXModG1wUmVwb1BhY2thZ2VQYXRoLCBpbmNsdWRlUGF0aHMsIGV4Y2x1ZGVQYXRocylcblxuICAgIGdpdChcImFkZFwiLCBcIi1mXCIsIHBhY2thZ2VEZXRhaWxzLnBhdGgpXG4gICAgZ2l0KFwiY29tbWl0XCIsIFwiLS1hbGxvdy1lbXB0eVwiLCBcIi1tXCIsIFwiaW5pdFwiKVxuXG4gICAgLy8gcmVwbGFjZSBwYWNrYWdlIHdpdGggdXNlcidzIHZlcnNpb25cbiAgICByaW1yYWYodG1wUmVwb1BhY2thZ2VQYXRoKVxuXG4gICAgLy8gcG5wbSBpbnN0YWxscyBwYWNrYWdlcyBhcyBzeW1saW5rcywgY29weVN5bmMgd291bGQgY29weSBvbmx5IHRoZSBzeW1saW5rXG4gICAgY29weVN5bmMocmVhbHBhdGhTeW5jKHBhY2thZ2VQYXRoKSwgdG1wUmVwb1BhY2thZ2VQYXRoKVxuXG4gICAgLy8gcmVtb3ZlIG5lc3RlZCBub2RlX21vZHVsZXMganVzdCB0byBiZSBzYWZlXG4gICAgcmltcmFmKGpvaW4odG1wUmVwb1BhY2thZ2VQYXRoLCBcIm5vZGVfbW9kdWxlc1wiKSlcbiAgICAvLyByZW1vdmUgLmdpdCBqdXN0IHRvIGJlIHNhZmVcbiAgICByaW1yYWYoam9pbih0bXBSZXBvUGFja2FnZVBhdGgsIFwiLmdpdFwiKSlcblxuICAgIC8vIGFsc28gcmVtb3ZlIGlnbm9yZWQgZmlsZXMgbGlrZSBiZWZvcmVcbiAgICByZW1vdmVJZ25vcmVkRmlsZXModG1wUmVwb1BhY2thZ2VQYXRoLCBpbmNsdWRlUGF0aHMsIGV4Y2x1ZGVQYXRocylcblxuICAgIC8vIHN0YWdlIGFsbCBmaWxlc1xuICAgIGdpdChcImFkZFwiLCBcIi1mXCIsIHBhY2thZ2VEZXRhaWxzLnBhdGgpXG5cbiAgICAvLyBnZXQgZGlmZiBvZiBjaGFuZ2VzXG4gICAgY29uc3QgZGlmZlJlc3VsdCA9IGdpdChcbiAgICAgIFwiZGlmZlwiLFxuICAgICAgXCItLWNhY2hlZFwiLFxuICAgICAgXCItLW5vLWNvbG9yXCIsXG4gICAgICBcIi0taWdub3JlLXNwYWNlLWF0LWVvbFwiLFxuICAgICAgXCItLW5vLWV4dC1kaWZmXCIsXG4gICAgKVxuXG4gICAgaWYgKGRpZmZSZXN1bHQuc3Rkb3V0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBg4oGJ77iPICBOb3QgY3JlYXRpbmcgcGF0Y2ggZmlsZSBmb3IgcGFja2FnZSAnJHtwYWNrYWdlUGF0aFNwZWNpZmllcn0nYCxcbiAgICAgIClcbiAgICAgIGNvbnNvbGUud2Fybihg4oGJ77iPICBUaGVyZSBkb24ndCBhcHBlYXIgdG8gYmUgYW55IGNoYW5nZXMuYClcbiAgICAgIHByb2Nlc3MuZXhpdCgxKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHBhcnNlUGF0Y2hGaWxlKGRpZmZSZXN1bHQuc3Rkb3V0LnRvU3RyaW5nKCkpXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKFxuICAgICAgICAoZSBhcyBFcnJvcikubWVzc2FnZS5pbmNsdWRlcyhcIlVuZXhwZWN0ZWQgZmlsZSBtb2RlIHN0cmluZzogMTIwMDAwXCIpXG4gICAgICApIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgXG7im5TvuI8gJHtjaGFsay5yZWQuYm9sZChcIkVSUk9SXCIpfVxuXG4gIFlvdXIgY2hhbmdlcyBpbnZvbHZlIGNyZWF0aW5nIHN5bWxpbmtzLiBwYXRjaC1wYWNrYWdlIGRvZXMgbm90IHlldCBzdXBwb3J0XG4gIHN5bWxpbmtzLlxuICBcbiAg77iPUGxlYXNlIHVzZSAke2NoYWxrLmJvbGQoXCItLWluY2x1ZGVcIil9IGFuZC9vciAke2NoYWxrLmJvbGQoXG4gICAgICAgICAgXCItLWV4Y2x1ZGVcIixcbiAgICAgICAgKX0gdG8gbmFycm93IHRoZSBzY29wZSBvZiB5b3VyIHBhdGNoIGlmXG4gIHRoaXMgd2FzIHVuaW50ZW50aW9uYWwuXG5gKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgb3V0UGF0aCA9IFwiLi9wYXRjaC1wYWNrYWdlLWVycm9yLmpzb24uZ3pcIlxuICAgICAgICB3cml0ZUZpbGVTeW5jKFxuICAgICAgICAgIG91dFBhdGgsXG4gICAgICAgICAgZ3ppcFN5bmMoXG4gICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgIGVycm9yOiB7IG1lc3NhZ2U6IGUubWVzc2FnZSwgc3RhY2s6IGUuc3RhY2sgfSxcbiAgICAgICAgICAgICAgcGF0Y2g6IGRpZmZSZXN1bHQuc3Rkb3V0LnRvU3RyaW5nKCksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApLFxuICAgICAgICApXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYFxu4puU77iPICR7Y2hhbGsucmVkLmJvbGQoXCJFUlJPUlwiKX1cbiAgICAgICAgXG4gIHBhdGNoLXBhY2thZ2Ugd2FzIHVuYWJsZSB0byByZWFkIHRoZSBwYXRjaC1maWxlIG1hZGUgYnkgZ2l0LiBUaGlzIHNob3VsZCBub3RcbiAgaGFwcGVuLlxuICBcbiAgQSBkaWFnbm9zdGljIGZpbGUgd2FzIHdyaXR0ZW4gdG9cbiAgXG4gICAgJHtvdXRQYXRofVxuICBcbiAgUGxlYXNlIGF0dGFjaCBpdCB0byBhIGdpdGh1YiBpc3N1ZVxuICBcbiAgICBodHRwczovL2dpdGh1Yi5jb20vZHMzMDAvcGF0Y2gtcGFja2FnZS9pc3N1ZXMvbmV3P3RpdGxlPU5ldytwYXRjaCtwYXJzZStmYWlsZWQmYm9keT1QbGVhc2UrYXR0YWNoK3RoZStkaWFnbm9zdGljK2ZpbGUrYnkrZHJhZ2dpbmcraXQraW50bytoZXJlK/CfmY9cbiAgXG4gIE5vdGUgdGhhdCB0aGlzIGRpYWdub3N0aWMgZmlsZSB3aWxsIGNvbnRhaW4gY29kZSBmcm9tIHRoZSBwYWNrYWdlIHlvdSB3ZXJlXG4gIGF0dGVtcHRpbmcgdG8gcGF0Y2guXG5cbmApXG4gICAgICB9XG4gICAgICBwcm9jZXNzLmV4aXQoMSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIG1heWJlIGRlbGV0ZSBleGlzdGluZ1xuICAgIGdldFBhdGNoRmlsZXMocGF0Y2hEaXIpLmZvckVhY2goKGZpbGVuYW1lKSA9PiB7XG4gICAgICBjb25zdCBkZWV0cyA9IGdldFBhY2thZ2VEZXRhaWxzRnJvbVBhdGNoRmlsZW5hbWUoZmlsZW5hbWUpXG4gICAgICBpZiAoZGVldHMgJiYgZGVldHMucGF0aCA9PT0gcGFja2FnZURldGFpbHMucGF0aCkge1xuICAgICAgICB1bmxpbmtTeW5jKGpvaW4ocGF0Y2hEaXIsIGZpbGVuYW1lKSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgY29uc3QgcGF0Y2hGaWxlTmFtZSA9IGNyZWF0ZVBhdGNoRmlsZU5hbWUoe1xuICAgICAgcGFja2FnZURldGFpbHMsXG4gICAgICBwYWNrYWdlVmVyc2lvbixcbiAgICB9KVxuXG4gICAgY29uc3QgcGF0Y2hQYXRoID0gam9pbihwYXRjaGVzRGlyLCBwYXRjaEZpbGVOYW1lKVxuICAgIGlmICghZXhpc3RzU3luYyhkaXJuYW1lKHBhdGNoUGF0aCkpKSB7XG4gICAgICAvLyBzY29wZWQgcGFja2FnZVxuICAgICAgbWtkaXJTeW5jKGRpcm5hbWUocGF0Y2hQYXRoKSlcbiAgICB9XG4gICAgd3JpdGVGaWxlU3luYyhwYXRjaFBhdGgsIGRpZmZSZXN1bHQuc3Rkb3V0KVxuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYCR7Y2hhbGsuZ3JlZW4oXCLinJRcIil9IENyZWF0ZWQgZmlsZSAke2pvaW4ocGF0Y2hEaXIsIHBhdGNoRmlsZU5hbWUpfVxcbmAsXG4gICAgKVxuICAgIGlmIChjcmVhdGVJc3N1ZSkge1xuICAgICAgb3Blbklzc3VlQ3JlYXRpb25MaW5rKHtcbiAgICAgICAgcGFja2FnZURldGFpbHMsXG4gICAgICAgIHBhdGNoRmlsZUNvbnRlbnRzOiBkaWZmUmVzdWx0LnN0ZG91dC50b1N0cmluZygpLFxuICAgICAgICBwYWNrYWdlVmVyc2lvbixcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIG1heWJlUHJpbnRJc3N1ZUNyZWF0aW9uUHJvbXB0KHBhY2thZ2VEZXRhaWxzLCBwYWNrYWdlTWFuYWdlcilcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLmVycm9yKGUpXG4gICAgdGhyb3cgZVxuICB9IGZpbmFsbHkge1xuICAgIHRtcFJlcG8ucmVtb3ZlQ2FsbGJhY2soKVxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVBhdGNoRmlsZU5hbWUoe1xuICBwYWNrYWdlRGV0YWlscyxcbiAgcGFja2FnZVZlcnNpb24sXG59OiB7XG4gIHBhY2thZ2VEZXRhaWxzOiBQYWNrYWdlRGV0YWlsc1xuICBwYWNrYWdlVmVyc2lvbjogc3RyaW5nXG59KSB7XG4gIGNvbnN0IHBhY2thZ2VOYW1lcyA9IHBhY2thZ2VEZXRhaWxzLnBhY2thZ2VOYW1lc1xuICAgIC5tYXAoKG5hbWUpID0+IG5hbWUucmVwbGFjZSgvXFwvL2csIFwiK1wiKSlcbiAgICAuam9pbihcIisrXCIpXG5cbiAgcmV0dXJuIGAke3BhY2thZ2VOYW1lc30rJHtwYWNrYWdlVmVyc2lvbn0ucGF0Y2hgXG59XG4iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
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.makeRegExp = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const makeRegExp = (reString, name, defaultValue, caseSensitive) => {
|
|
9
|
+
if (!reString) {
|
|
10
|
+
return defaultValue;
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
try {
|
|
14
|
+
return new RegExp(reString, caseSensitive ? "" : "i");
|
|
15
|
+
}
|
|
16
|
+
catch (_) {
|
|
17
|
+
console.error(`${chalk_1.default.red.bold("***ERROR***")}
|
|
18
|
+
Invalid format for option --${name}
|
|
19
|
+
|
|
20
|
+
Unable to convert the string ${JSON.stringify(reString)} to a regular expression.
|
|
21
|
+
`);
|
|
22
|
+
process.exit(1);
|
|
23
|
+
return /unreachable/;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
exports.makeRegExp = makeRegExp;
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZVJlZ0V4cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWtlUmVnRXhwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQUF5QjtBQUVsQixNQUFNLFVBQVUsR0FBRyxDQUN4QixRQUFnQixFQUNoQixJQUFZLEVBQ1osWUFBb0IsRUFDcEIsYUFBc0IsRUFDZCxFQUFFO0lBQ1YsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNiLE9BQU8sWUFBWSxDQUFBO0tBQ3BCO1NBQU07UUFDTCxJQUFJO1lBQ0YsT0FBTyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1NBQ3REO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDOzhCQUN0QixJQUFJOztpQ0FFRCxJQUFJLENBQUMsU0FBUyxDQUMzQyxRQUFRLENBQ1Q7Q0FDRixDQUFDLENBQUE7WUFFSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ2YsT0FBTyxhQUFhLENBQUE7U0FDckI7S0FDRjtBQUNILENBQUMsQ0FBQTtBQXhCWSxRQUFBLFVBQVUsY0F3QnRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoYWxrIGZyb20gXCJjaGFsa1wiXG5cbmV4cG9ydCBjb25zdCBtYWtlUmVnRXhwID0gKFxuICByZVN0cmluZzogc3RyaW5nLFxuICBuYW1lOiBzdHJpbmcsXG4gIGRlZmF1bHRWYWx1ZTogUmVnRXhwLFxuICBjYXNlU2Vuc2l0aXZlOiBib29sZWFuLFxuKTogUmVnRXhwID0+IHtcbiAgaWYgKCFyZVN0cmluZykge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWVcbiAgfSBlbHNlIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIG5ldyBSZWdFeHAocmVTdHJpbmcsIGNhc2VTZW5zaXRpdmUgPyBcIlwiIDogXCJpXCIpXG4gICAgfSBjYXRjaCAoXykge1xuICAgICAgY29uc29sZS5lcnJvcihgJHtjaGFsay5yZWQuYm9sZChcIioqKkVSUk9SKioqXCIpfVxuSW52YWxpZCBmb3JtYXQgZm9yIG9wdGlvbiAtLSR7bmFtZX1cblxuICBVbmFibGUgdG8gY29udmVydCB0aGUgc3RyaW5nICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgcmVTdHJpbmcsXG4gICl9IHRvIGEgcmVndWxhciBleHByZXNzaW9uLlxuYClcblxuICAgICAgcHJvY2Vzcy5leGl0KDEpXG4gICAgICByZXR1cm4gL3VucmVhY2hhYmxlL1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.packageIsDevDependency = void 0;
|
|
4
|
+
const path_1 = require("./path");
|
|
5
|
+
const fs_1 = require("fs");
|
|
6
|
+
function packageIsDevDependency({ appPath, packageDetails, }) {
|
|
7
|
+
const packageJsonPath = path_1.join(appPath, "package.json");
|
|
8
|
+
if (!fs_1.existsSync(packageJsonPath)) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
const { devDependencies } = require(packageJsonPath);
|
|
12
|
+
return Boolean(devDependencies && devDependencies[packageDetails.packageNames[0]]);
|
|
13
|
+
}
|
|
14
|
+
exports.packageIsDevDependency = packageIsDevDependency;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZUlzRGV2RGVwZW5kZW5jeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wYWNrYWdlSXNEZXZEZXBlbmRlbmN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGlDQUE2QjtBQUM3QiwyQkFBK0I7QUFFL0IsU0FBZ0Isc0JBQXNCLENBQUMsRUFDckMsT0FBTyxFQUNQLGNBQWMsR0FJZjtJQUNDLE1BQU0sZUFBZSxHQUFHLFdBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFDckQsSUFBSSxDQUFDLGVBQVUsQ0FBQyxlQUFlLENBQUMsRUFBRTtRQUNoQyxPQUFPLEtBQUssQ0FBQTtLQUNiO0lBQ0QsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUNwRCxPQUFPLE9BQU8sQ0FBQyxlQUFlLElBQUksZUFBZSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ3BGLENBQUM7QUFiRCx3REFhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhdGNoZWRQYWNrYWdlRGV0YWlscyB9IGZyb20gXCIuL1BhY2thZ2VEZXRhaWxzXCJcbmltcG9ydCB7IGpvaW4gfSBmcm9tIFwiLi9wYXRoXCJcbmltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tIFwiZnNcIlxuXG5leHBvcnQgZnVuY3Rpb24gcGFja2FnZUlzRGV2RGVwZW5kZW5jeSh7XG4gIGFwcFBhdGgsXG4gIHBhY2thZ2VEZXRhaWxzLFxufToge1xuICBhcHBQYXRoOiBzdHJpbmdcbiAgcGFja2FnZURldGFpbHM6IFBhdGNoZWRQYWNrYWdlRGV0YWlsc1xufSkge1xuICBjb25zdCBwYWNrYWdlSnNvblBhdGggPSBqb2luKGFwcFBhdGgsIFwicGFja2FnZS5qc29uXCIpXG4gIGlmICghZXhpc3RzU3luYyhwYWNrYWdlSnNvblBhdGgpKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgY29uc3QgeyBkZXZEZXBlbmRlbmNpZXMgfSA9IHJlcXVpcmUocGFja2FnZUpzb25QYXRoKVxuICByZXR1cm4gQm9vbGVhbihkZXZEZXBlbmRlbmNpZXMgJiYgZGV2RGVwZW5kZW5jaWVzW3BhY2thZ2VEZXRhaWxzLnBhY2thZ2VOYW1lc1swXV0pXG59XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const packageIsDevDependency_1 = require("./packageIsDevDependency");
|
|
4
|
+
const path_1 = require("./path");
|
|
5
|
+
const path_2 = require("path");
|
|
6
|
+
const PackageDetails_1 = require("./PackageDetails");
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const appPath = path_2.normalize(path_1.join(__dirname, "../"));
|
|
9
|
+
describe(packageIsDevDependency_1.packageIsDevDependency, () => {
|
|
10
|
+
it("returns true if package is a dev dependency", () => {
|
|
11
|
+
expect(packageIsDevDependency_1.packageIsDevDependency({
|
|
12
|
+
appPath,
|
|
13
|
+
packageDetails: PackageDetails_1.getPackageDetailsFromPatchFilename("typescript+3.0.1.patch"),
|
|
14
|
+
})).toBe(true);
|
|
15
|
+
});
|
|
16
|
+
it("returns false if package is not a dev dependency", () => {
|
|
17
|
+
expect(packageIsDevDependency_1.packageIsDevDependency({
|
|
18
|
+
appPath,
|
|
19
|
+
packageDetails: PackageDetails_1.getPackageDetailsFromPatchFilename("chalk+3.0.1.patch"),
|
|
20
|
+
})).toBe(false);
|
|
21
|
+
});
|
|
22
|
+
it("returns false if package is a transitive dependency of a dev dependency", () => {
|
|
23
|
+
expect(fs_1.existsSync(path_1.join(appPath, "node_modules/cosmiconfig"))).toBe(true);
|
|
24
|
+
expect(packageIsDevDependency_1.packageIsDevDependency({
|
|
25
|
+
appPath,
|
|
26
|
+
packageDetails: PackageDetails_1.getPackageDetailsFromPatchFilename(
|
|
27
|
+
// cosmiconfig is a transitive dep of lint-staged
|
|
28
|
+
"cosmiconfig+3.0.1.patch"),
|
|
29
|
+
})).toBe(false);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZUlzRGV2RGVwZW5kZW5jeS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BhY2thZ2VJc0RldkRlcGVuZGVuY3kudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFFQUFpRTtBQUNqRSxpQ0FBNkI7QUFDN0IsK0JBQWdDO0FBQ2hDLHFEQUFxRTtBQUNyRSwyQkFBK0I7QUFFL0IsTUFBTSxPQUFPLEdBQUcsZ0JBQVMsQ0FBQyxXQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7QUFFakQsUUFBUSxDQUFDLCtDQUFzQixFQUFFLEdBQUcsRUFBRTtJQUNwQyxFQUFFLENBQUMsNkNBQTZDLEVBQUUsR0FBRyxFQUFFO1FBQ3JELE1BQU0sQ0FDSiwrQ0FBc0IsQ0FBQztZQUNyQixPQUFPO1lBQ1AsY0FBYyxFQUFFLG1EQUFrQyxDQUNoRCx3QkFBd0IsQ0FDeEI7U0FDSCxDQUFDLENBQ0gsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDZCxDQUFDLENBQUMsQ0FBQTtJQUNGLEVBQUUsQ0FBQyxrREFBa0QsRUFBRSxHQUFHLEVBQUU7UUFDMUQsTUFBTSxDQUNKLCtDQUFzQixDQUFDO1lBQ3JCLE9BQU87WUFDUCxjQUFjLEVBQUUsbURBQWtDLENBQ2hELG1CQUFtQixDQUNuQjtTQUNILENBQUMsQ0FDSCxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNmLENBQUMsQ0FBQyxDQUFBO0lBQ0YsRUFBRSxDQUFDLHlFQUF5RSxFQUFFLEdBQUcsRUFBRTtRQUNqRixNQUFNLENBQUMsZUFBVSxDQUFDLFdBQUksQ0FBQyxPQUFPLEVBQUUsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hFLE1BQU0sQ0FDSiwrQ0FBc0IsQ0FBQztZQUNyQixPQUFPO1lBQ1AsY0FBYyxFQUFFLG1EQUFrQztZQUNoRCxpREFBaUQ7WUFDakQseUJBQXlCLENBQ3pCO1NBQ0gsQ0FBQyxDQUNILENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2YsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhY2thZ2VJc0RldkRlcGVuZGVuY3kgfSBmcm9tIFwiLi9wYWNrYWdlSXNEZXZEZXBlbmRlbmN5XCJcbmltcG9ydCB7IGpvaW4gfSBmcm9tIFwiLi9wYXRoXCJcbmltcG9ydCB7IG5vcm1hbGl6ZSB9IGZyb20gXCJwYXRoXCJcbmltcG9ydCB7IGdldFBhY2thZ2VEZXRhaWxzRnJvbVBhdGNoRmlsZW5hbWUgfSBmcm9tIFwiLi9QYWNrYWdlRGV0YWlsc1wiXG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSBcImZzXCJcblxuY29uc3QgYXBwUGF0aCA9IG5vcm1hbGl6ZShqb2luKF9fZGlybmFtZSwgXCIuLi9cIikpXG5cbmRlc2NyaWJlKHBhY2thZ2VJc0RldkRlcGVuZGVuY3ksICgpID0+IHtcbiAgaXQoXCJyZXR1cm5zIHRydWUgaWYgcGFja2FnZSBpcyBhIGRldiBkZXBlbmRlbmN5XCIsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBwYWNrYWdlSXNEZXZEZXBlbmRlbmN5KHtcbiAgICAgICAgYXBwUGF0aCxcbiAgICAgICAgcGFja2FnZURldGFpbHM6IGdldFBhY2thZ2VEZXRhaWxzRnJvbVBhdGNoRmlsZW5hbWUoXG4gICAgICAgICAgXCJ0eXBlc2NyaXB0KzMuMC4xLnBhdGNoXCIsXG4gICAgICAgICkhLFxuICAgICAgfSksXG4gICAgKS50b0JlKHRydWUpXG4gIH0pXG4gIGl0KFwicmV0dXJucyBmYWxzZSBpZiBwYWNrYWdlIGlzIG5vdCBhIGRldiBkZXBlbmRlbmN5XCIsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBwYWNrYWdlSXNEZXZEZXBlbmRlbmN5KHtcbiAgICAgICAgYXBwUGF0aCxcbiAgICAgICAgcGFja2FnZURldGFpbHM6IGdldFBhY2thZ2VEZXRhaWxzRnJvbVBhdGNoRmlsZW5hbWUoXG4gICAgICAgICAgXCJjaGFsayszLjAuMS5wYXRjaFwiLFxuICAgICAgICApISxcbiAgICAgIH0pLFxuICAgICkudG9CZShmYWxzZSlcbiAgfSlcbiAgaXQoXCJyZXR1cm5zIGZhbHNlIGlmIHBhY2thZ2UgaXMgYSB0cmFuc2l0aXZlIGRlcGVuZGVuY3kgb2YgYSBkZXYgZGVwZW5kZW5jeVwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KGV4aXN0c1N5bmMoam9pbihhcHBQYXRoLCBcIm5vZGVfbW9kdWxlcy9jb3NtaWNvbmZpZ1wiKSkpLnRvQmUodHJ1ZSlcbiAgICBleHBlY3QoXG4gICAgICBwYWNrYWdlSXNEZXZEZXBlbmRlbmN5KHtcbiAgICAgICAgYXBwUGF0aCxcbiAgICAgICAgcGFja2FnZURldGFpbHM6IGdldFBhY2thZ2VEZXRhaWxzRnJvbVBhdGNoRmlsZW5hbWUoXG4gICAgICAgICAgLy8gY29zbWljb25maWcgaXMgYSB0cmFuc2l0aXZlIGRlcCBvZiBsaW50LXN0YWdlZFxuICAgICAgICAgIFwiY29zbWljb25maWcrMy4wLjEucGF0Y2hcIixcbiAgICAgICAgKSEsXG4gICAgICB9KSxcbiAgICApLnRvQmUoZmFsc2UpXG4gIH0pXG59KVxuIl19
|