npm-check-updates
Version:
Find newer versions of dependencies than what your package.json allows
1 lines • 3.38 MB
Source Map (JSON)
{"version":3,"file":"index.js","sources":["../node_modules/prompts-ncu/node_modules/kleur/index.js","../node_modules/prompts-ncu/lib/util/action.js","../node_modules/prompts-ncu/lib/util/strip.js","../node_modules/sisteransi/src/index.js","../node_modules/prompts-ncu/lib/util/clear.js","../node_modules/prompts-ncu/lib/util/figures.js","../node_modules/prompts-ncu/lib/util/style.js","../node_modules/prompts-ncu/lib/util/lines.js","../node_modules/prompts-ncu/lib/util/wrap.js","../node_modules/prompts-ncu/lib/util/entriesToDisplay.js","../node_modules/prompts-ncu/lib/util/index.js","../node_modules/prompts-ncu/lib/elements/prompt.js","../node_modules/prompts-ncu/lib/elements/text.js","../node_modules/prompts-ncu/lib/elements/select.js","../node_modules/prompts-ncu/lib/elements/toggle.js","../node_modules/prompts-ncu/lib/dateparts/datepart.js","../node_modules/prompts-ncu/lib/dateparts/meridiem.js","../node_modules/prompts-ncu/lib/dateparts/day.js","../node_modules/prompts-ncu/lib/dateparts/hours.js","../node_modules/prompts-ncu/lib/dateparts/milliseconds.js","../node_modules/prompts-ncu/lib/dateparts/minutes.js","../node_modules/prompts-ncu/lib/dateparts/month.js","../node_modules/prompts-ncu/lib/dateparts/seconds.js","../node_modules/prompts-ncu/lib/dateparts/year.js","../node_modules/prompts-ncu/lib/dateparts/index.js","../node_modules/prompts-ncu/lib/elements/date.js","../node_modules/prompts-ncu/lib/elements/number.js","../node_modules/prompts-ncu/lib/elements/multiselect.js","../node_modules/prompts-ncu/lib/elements/autocomplete.js","../node_modules/prompts-ncu/lib/elements/autocompleteMultiselect.js","../node_modules/prompts-ncu/lib/elements/confirm.js","../node_modules/prompts-ncu/lib/elements/index.js","../node_modules/prompts-ncu/lib/prompts.js","../node_modules/prompts-ncu/lib/index.js","../node_modules/prompts-ncu/index.js","../node_modules/isexe/windows.js","../node_modules/isexe/mode.js","../node_modules/isexe/index.js","../node_modules/which/which.js","../node_modules/path-key/index.js","../node_modules/cross-spawn/lib/util/resolveCommand.js","../node_modules/cross-spawn/lib/util/escape.js","../node_modules/shebang-regex/index.js","../node_modules/shebang-command/index.js","../node_modules/cross-spawn/lib/util/readShebang.js","../node_modules/cross-spawn/lib/parse.js","../node_modules/cross-spawn/lib/enoent.js","../node_modules/cross-spawn/index.js","../node_modules/spawn-please/src/index.js","../node_modules/cli-table3/src/debug.js","../node_modules/cli-table3/node_modules/ansi-regex/index.js","../node_modules/cli-table3/node_modules/strip-ansi/index.js","../node_modules/is-fullwidth-code-point/index.js","../node_modules/cli-table3/node_modules/emoji-regex/index.js","../node_modules/cli-table3/node_modules/string-width/index.js","../node_modules/cli-table3/src/utils.js","../node_modules/@colors/colors/lib/styles.js","../node_modules/@colors/colors/lib/system/has-flag.js","../node_modules/@colors/colors/lib/system/supports-colors.js","../node_modules/@colors/colors/lib/custom/trap.js","../node_modules/@colors/colors/lib/custom/zalgo.js","../node_modules/@colors/colors/lib/maps/america.js","../node_modules/@colors/colors/lib/maps/zebra.js","../node_modules/@colors/colors/lib/maps/rainbow.js","../node_modules/@colors/colors/lib/maps/random.js","../node_modules/@colors/colors/lib/colors.js","../node_modules/@colors/colors/safe.js","../node_modules/cli-table3/src/cell.js","../node_modules/cli-table3/src/layout-manager.js","../node_modules/cli-table3/src/table.js","../node_modules/cli-table3/index.js","../src/lib/keyValueBy.ts","../src/lib/chalk.ts","../src/lib/filterObject.ts","../src/lib/exists.ts","../src/lib/getPackageJson.ts","../src/lib/getPackageVersion.ts","../node_modules/lru-cache/dist/commonjs/index.js","../node_modules/hosted-git-info/lib/hosts.js","../node_modules/hosted-git-info/lib/parse-url.js","../node_modules/hosted-git-info/lib/from-url.js","../node_modules/hosted-git-info/lib/index.js","../src/lib/getRepoUrl.ts","../node_modules/lodash/isArray.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_root.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/_isKey.js","../node_modules/lodash/isObject.js","../node_modules/lodash/isFunction.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_getValue.js","../node_modules/lodash/_getNative.js","../node_modules/lodash/_nativeCreate.js","../node_modules/lodash/_hashClear.js","../node_modules/lodash/_hashDelete.js","../node_modules/lodash/_hashGet.js","../node_modules/lodash/_hashHas.js","../node_modules/lodash/_hashSet.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_listCacheClear.js","../node_modules/lodash/eq.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/lodash/_listCacheGet.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_listCacheSet.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_Map.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_getMapData.js","../node_modules/lodash/_mapCacheDelete.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/memoize.js","../node_modules/lodash/_memoizeCapped.js","../node_modules/lodash/_stringToPath.js","../node_modules/lodash/_arrayMap.js","../node_modules/lodash/_baseToString.js","../node_modules/lodash/toString.js","../node_modules/lodash/_castPath.js","../node_modules/lodash/_toKey.js","../node_modules/lodash/_baseGet.js","../node_modules/lodash/propertyOf.js","../node_modules/parse-github-url/index.js","../node_modules/semver/internal/constants.js","../node_modules/semver/internal/debug.js","../node_modules/semver/internal/re.js","../node_modules/semver/internal/parse-options.js","../node_modules/semver/internal/identifiers.js","../node_modules/semver/classes/semver.js","../node_modules/semver/functions/parse.js","../node_modules/semver/functions/valid.js","../node_modules/semver/functions/clean.js","../node_modules/semver/functions/inc.js","../node_modules/semver/functions/diff.js","../node_modules/semver/functions/major.js","../node_modules/semver/functions/minor.js","../node_modules/semver/functions/patch.js","../node_modules/semver/functions/prerelease.js","../node_modules/semver/functions/compare.js","../node_modules/semver/functions/rcompare.js","../node_modules/semver/functions/compare-loose.js","../node_modules/semver/functions/compare-build.js","../node_modules/semver/functions/sort.js","../node_modules/semver/functions/rsort.js","../node_modules/semver/functions/gt.js","../node_modules/semver/functions/lt.js","../node_modules/semver/functions/eq.js","../node_modules/semver/functions/neq.js","../node_modules/semver/functions/gte.js","../node_modules/semver/functions/lte.js","../node_modules/semver/functions/cmp.js","../node_modules/semver/functions/coerce.js","../node_modules/semver/internal/lrucache.js","../node_modules/semver/classes/range.js","../node_modules/semver/classes/comparator.js","../node_modules/semver/functions/satisfies.js","../node_modules/semver/ranges/to-comparators.js","../node_modules/semver/ranges/max-satisfying.js","../node_modules/semver/ranges/min-satisfying.js","../node_modules/semver/ranges/min-version.js","../node_modules/semver/ranges/valid.js","../node_modules/semver/ranges/outside.js","../node_modules/semver/ranges/gtr.js","../node_modules/semver/ranges/ltr.js","../node_modules/semver/ranges/intersects.js","../node_modules/semver/ranges/simplify.js","../node_modules/semver/ranges/subset.js","../node_modules/semver/index.js","../node_modules/semver-utils/semver-utils.js","../src/lib/sortBy.ts","../src/lib/version-util.ts","../src/lib/logging.ts","../src/lib/cache.ts","../src/lib/wrap.ts","../src/lib/table.ts","../src/cli-options.ts","../src/lib/findLockfile.ts","../src/lib/determinePackageManager.ts","../node_modules/camelcase/index.js","../node_modules/fast-memoize/src/index.js","../node_modules/ini/lib/ini.js","../node_modules/npm-registry-fetch/lib/errors.js","../node_modules/minipass/dist/commonjs/index.js","../node_modules/minizlib/dist/commonjs/constants.js","../node_modules/minizlib/dist/commonjs/index.js","../node_modules/minipass-sized/node_modules/minipass/index.js","../node_modules/minipass-sized/index.js","../node_modules/minipass-fetch/lib/blob.js","../node_modules/minipass-fetch/lib/fetch-error.js","../node_modules/safer-buffer/safer.js","../node_modules/iconv-lite/lib/bom-handling.js","../node_modules/iconv-lite/encodings/internal.js","../node_modules/iconv-lite/encodings/utf32.js","../node_modules/iconv-lite/encodings/utf16.js","../node_modules/iconv-lite/encodings/utf7.js","../node_modules/iconv-lite/encodings/sbcs-codec.js","../node_modules/iconv-lite/encodings/sbcs-data.js","../node_modules/iconv-lite/encodings/sbcs-data-generated.js","../node_modules/iconv-lite/encodings/dbcs-codec.js","../node_modules/iconv-lite/encodings/dbcs-data.js","../node_modules/iconv-lite/encodings/index.js","../node_modules/iconv-lite/lib/streams.js","../node_modules/iconv-lite/lib/index.js","../node_modules/encoding/lib/encoding.js","../node_modules/minipass-fetch/lib/body.js","../node_modules/minipass-fetch/lib/headers.js","../node_modules/minipass-fetch/lib/response.js","../node_modules/minipass-fetch/lib/request.js","../node_modules/minipass-fetch/lib/abort-error.js","../node_modules/minipass-fetch/lib/index.js","../node_modules/npm-registry-fetch/lib/default-opts.js","../node_modules/proc-log/lib/index.js","../node_modules/@npmcli/redact/lib/matchers.js","../node_modules/@npmcli/redact/lib/utils.js","../node_modules/@npmcli/redact/lib/index.js","../node_modules/npm-registry-fetch/lib/check-response.js","../node_modules/validate-npm-package-name/lib/index.js","../node_modules/npm-package-arg/lib/npa.js","../node_modules/npm-registry-fetch/lib/auth.js","../node_modules/make-fetch-happen/lib/options.js","../node_modules/http-cache-semantics/index.js","../node_modules/negotiator/lib/charset.js","../node_modules/negotiator/lib/encoding.js","../node_modules/negotiator/lib/language.js","../node_modules/negotiator/lib/mediaType.js","../node_modules/negotiator/index.js","../node_modules/ssri/lib/index.js","../node_modules/make-fetch-happen/lib/cache/policy.js","../node_modules/make-fetch-happen/lib/cache/errors.js","../node_modules/minipass-flush/node_modules/minipass/index.js","../node_modules/minipass-flush/index.js","../node_modules/minipass-collect/index.js","../node_modules/minipass-pipeline/node_modules/minipass/index.js","../node_modules/minipass-pipeline/index.js","../node_modules/imurmurhash/imurmurhash.js","../node_modules/unique-slug/lib/index.js","../node_modules/unique-filename/lib/index.js","../node_modules/cacache/lib/util/hash-to-segments.js","../node_modules/cacache/lib/content/path.js","../node_modules/@npmcli/fs/lib/common/get-options.js","../node_modules/@npmcli/fs/lib/common/node.js","../node_modules/@npmcli/fs/lib/cp/errors.js","../node_modules/@npmcli/fs/lib/cp/polyfill.js","../node_modules/@npmcli/fs/lib/cp/index.js","../node_modules/@npmcli/fs/lib/with-temp-dir.js","../node_modules/@npmcli/fs/lib/readdir-scoped.js","../node_modules/@npmcli/fs/lib/move-file.js","../node_modules/@npmcli/fs/lib/index.js","../node_modules/cacache/lib/entry-index.js","../node_modules/cacache/lib/memoization.js","../node_modules/fs-minipass/lib/index.js","../node_modules/cacache/lib/content/read.js","../node_modules/cacache/lib/get.js","../node_modules/cacache/lib/content/write.js","../node_modules/cacache/lib/put.js","../node_modules/balanced-match/index.js","../node_modules/brace-expansion/index.js","../node_modules/minimatch/dist/commonjs/assert-valid-pattern.js","../node_modules/minimatch/dist/commonjs/brace-expressions.js","../node_modules/minimatch/dist/commonjs/unescape.js","../node_modules/minimatch/dist/commonjs/ast.js","../node_modules/minimatch/dist/commonjs/escape.js","../node_modules/minimatch/dist/commonjs/index.js","../node_modules/cacache/node_modules/path-scurry/dist/commonjs/index.js","../node_modules/cacache/node_modules/glob/dist/commonjs/pattern.js","../node_modules/cacache/node_modules/glob/dist/commonjs/ignore.js","../node_modules/cacache/node_modules/glob/dist/commonjs/processor.js","../node_modules/cacache/node_modules/glob/dist/commonjs/walker.js","../node_modules/cacache/node_modules/glob/dist/commonjs/glob.js","../node_modules/cacache/node_modules/glob/dist/commonjs/has-magic.js","../node_modules/cacache/node_modules/glob/dist/commonjs/index.js","../node_modules/cacache/lib/util/glob.js","../node_modules/cacache/lib/content/rm.js","../node_modules/cacache/lib/rm.js","../node_modules/cacache/lib/verify.js","../node_modules/cacache/lib/util/tmp.js","../node_modules/cacache/lib/index.js","../node_modules/make-fetch-happen/lib/pipeline.js","../node_modules/make-fetch-happen/lib/cache/key.js","../node_modules/err-code/index.js","../node_modules/retry/lib/retry_operation.js","../node_modules/retry/lib/retry.js","../node_modules/retry/index.js","../node_modules/promise-retry/index.js","../node_modules/@npmcli/agent/lib/dns.js","../node_modules/@npmcli/agent/lib/options.js","../node_modules/ms/index.js","../node_modules/debug/src/common.js","../node_modules/debug/src/browser.js","../node_modules/has-flag/index.js","../node_modules/supports-color/index.js","../node_modules/debug/src/node.js","../node_modules/debug/src/index.js","../node_modules/agent-base/dist/helpers.js","../node_modules/agent-base/dist/index.js","../node_modules/http-proxy-agent/dist/index.js","../node_modules/https-proxy-agent/dist/parse-proxy-response.js","../node_modules/https-proxy-agent/dist/index.js","../node_modules/smart-buffer/build/utils.js","../node_modules/smart-buffer/build/smartbuffer.js","../node_modules/socks/build/common/constants.js","../node_modules/socks/build/common/util.js","../node_modules/ip-address/dist/common.js","../node_modules/ip-address/dist/v4/constants.js","../node_modules/ip-address/dist/address-error.js","../node_modules/ip-address/node_modules/jsbn/index.js","../node_modules/ip-address/node_modules/sprintf-js/src/sprintf.js","../node_modules/ip-address/dist/ipv4.js","../node_modules/ip-address/dist/v6/constants.js","../node_modules/ip-address/dist/v6/helpers.js","../node_modules/ip-address/dist/v6/regular-expressions.js","../node_modules/ip-address/dist/ipv6.js","../node_modules/ip-address/dist/ip-address.js","../node_modules/socks/build/common/helpers.js","../node_modules/socks/build/common/receivebuffer.js","../node_modules/socks/build/client/socksclient.js","../node_modules/socks/build/index.js","../node_modules/socks-proxy-agent/dist/index.js","../node_modules/@npmcli/agent/lib/errors.js","../node_modules/@npmcli/agent/lib/proxy.js","../node_modules/@npmcli/agent/lib/agents.js","../node_modules/@npmcli/agent/lib/index.js","../node_modules/make-fetch-happen/lib/remote.js","../node_modules/make-fetch-happen/lib/cache/entry.js","../node_modules/make-fetch-happen/lib/cache/index.js","../node_modules/make-fetch-happen/lib/fetch.js","../node_modules/make-fetch-happen/lib/index.js","../node_modules/jsonparse/jsonparse.js","../node_modules/npm-registry-fetch/lib/json-stream.js","../node_modules/npm-registry-fetch/lib/index.js","../node_modules/untildify/index.js","../node_modules/yocto-queue/index.js","../node_modules/p-limit/index.js","../node_modules/p-locate/index.js","../node_modules/locate-path/index.js","../node_modules/path-exists/index.js","../node_modules/find-up/index.js","../src/lib/figgy-pudding/index.js","../src/lib/libnpmconfig/index.js","../src/package-managers/filters.ts","../src/package-managers/npm.ts","../src/package-managers/bun.ts","../src/package-managers/pnpm.ts","../node_modules/js-yaml/lib/common.js","../node_modules/js-yaml/lib/exception.js","../node_modules/js-yaml/lib/snippet.js","../node_modules/js-yaml/lib/type.js","../node_modules/js-yaml/lib/schema.js","../node_modules/js-yaml/lib/type/str.js","../node_modules/js-yaml/lib/type/seq.js","../node_modules/js-yaml/lib/type/map.js","../node_modules/js-yaml/lib/schema/failsafe.js","../node_modules/js-yaml/lib/type/null.js","../node_modules/js-yaml/lib/type/bool.js","../node_modules/js-yaml/lib/type/int.js","../node_modules/js-yaml/lib/type/float.js","../node_modules/js-yaml/lib/schema/json.js","../node_modules/js-yaml/lib/schema/core.js","../node_modules/js-yaml/lib/type/timestamp.js","../node_modules/js-yaml/lib/type/merge.js","../node_modules/js-yaml/lib/type/binary.js","../node_modules/js-yaml/lib/type/omap.js","../node_modules/js-yaml/lib/type/pairs.js","../node_modules/js-yaml/lib/type/set.js","../node_modules/js-yaml/lib/schema/default.js","../node_modules/js-yaml/lib/loader.js","../node_modules/js-yaml/lib/dumper.js","../node_modules/js-yaml/index.js","../node_modules/jsonlines/lib/parser.js","../node_modules/jsonlines/lib/stringifier.js","../node_modules/jsonlines/index.js","../node_modules/lodash/identity.js","../node_modules/lodash/_WeakMap.js","../node_modules/lodash/_metaMap.js","../node_modules/lodash/_baseSetData.js","../node_modules/lodash/_baseCreate.js","../node_modules/lodash/_createCtor.js","../node_modules/lodash/_createBind.js","../node_modules/lodash/_apply.js","../node_modules/lodash/_composeArgs.js","../node_modules/lodash/_composeArgsRight.js","../node_modules/lodash/_countHolders.js","../node_modules/lodash/_baseLodash.js","../node_modules/lodash/_LazyWrapper.js","../node_modules/lodash/noop.js","../node_modules/lodash/_getData.js","../node_modules/lodash/_realNames.js","../node_modules/lodash/_getFuncName.js","../node_modules/lodash/_LodashWrapper.js","../node_modules/lodash/_copyArray.js","../node_modules/lodash/_wrapperClone.js","../node_modules/lodash/wrapperLodash.js","../node_modules/lodash/_isLaziable.js","../node_modules/lodash/_shortOut.js","../node_modules/lodash/_setData.js","../node_modules/lodash/_getWrapDetails.js","../node_modules/lodash/_insertWrapDetails.js","../node_modules/lodash/constant.js","../node_modules/lodash/_defineProperty.js","../node_modules/lodash/_baseSetToString.js","../node_modules/lodash/_setToString.js","../node_modules/lodash/_arrayEach.js","../node_modules/lodash/_baseFindIndex.js","../node_modules/lodash/_baseIsNaN.js","../node_modules/lodash/_strictIndexOf.js","../node_modules/lodash/_baseIndexOf.js","../node_modules/lodash/_arrayIncludes.js","../node_modules/lodash/_updateWrapDetails.js","../node_modules/lodash/_setWrapToString.js","../node_modules/lodash/_createRecurry.js","../node_modules/lodash/_getHolder.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/_reorder.js","../node_modules/lodash/_replaceHolders.js","../node_modules/lodash/_createHybrid.js","../node_modules/lodash/_createCurry.js","../node_modules/lodash/_createPartial.js","../node_modules/lodash/_mergeData.js","../node_modules/lodash/_trimmedEndIndex.js","../node_modules/lodash/_baseTrim.js","../node_modules/lodash/toNumber.js","../node_modules/lodash/toFinite.js","../node_modules/lodash/toInteger.js","../node_modules/lodash/_createWrap.js","../node_modules/lodash/curry.js","../src/package-managers/yarn.ts","../src/lib/programError.ts","../src/lib/loadPackageInfoFromFile.ts","../src/lib/resolveDepSections.ts","../src/lib/upgradePackageData.ts","../src/lib/doctor.ts","../src/lib/findPackage.ts","../node_modules/fast-glob/out/utils/array.js","../node_modules/fast-glob/out/utils/errno.js","../node_modules/fast-glob/out/utils/fs.js","../node_modules/fast-glob/out/utils/path.js","../node_modules/is-extglob/index.js","../node_modules/is-glob/index.js","../node_modules/fast-glob/node_modules/glob-parent/index.js","../node_modules/braces/lib/utils.js","../node_modules/braces/lib/stringify.js","../node_modules/is-number/index.js","../node_modules/to-regex-range/index.js","../node_modules/fill-range/index.js","../node_modules/braces/lib/compile.js","../node_modules/braces/lib/expand.js","../node_modules/braces/lib/constants.js","../node_modules/braces/lib/parse.js","../node_modules/braces/index.js","../node_modules/micromatch/node_modules/picomatch/lib/constants.js","../node_modules/micromatch/node_modules/picomatch/lib/utils.js","../node_modules/micromatch/node_modules/picomatch/lib/scan.js","../node_modules/micromatch/node_modules/picomatch/lib/parse.js","../node_modules/micromatch/node_modules/picomatch/lib/picomatch.js","../node_modules/micromatch/node_modules/picomatch/index.js","../node_modules/micromatch/index.js","../node_modules/fast-glob/out/utils/pattern.js","../node_modules/merge2/index.js","../node_modules/fast-glob/out/utils/stream.js","../node_modules/fast-glob/out/utils/string.js","../node_modules/fast-glob/out/utils/index.js","../node_modules/fast-glob/out/managers/tasks.js","../node_modules/@nodelib/fs.stat/out/providers/async.js","../node_modules/@nodelib/fs.stat/out/providers/sync.js","../node_modules/@nodelib/fs.stat/out/adapters/fs.js","../node_modules/@nodelib/fs.stat/out/settings.js","../node_modules/@nodelib/fs.stat/out/index.js","../node_modules/queue-microtask/index.js","../node_modules/run-parallel/index.js","../node_modules/@nodelib/fs.scandir/out/constants.js","../node_modules/@nodelib/fs.scandir/out/utils/fs.js","../node_modules/@nodelib/fs.scandir/out/utils/index.js","../node_modules/@nodelib/fs.scandir/out/providers/common.js","../node_modules/@nodelib/fs.scandir/out/providers/async.js","../node_modules/@nodelib/fs.scandir/out/providers/sync.js","../node_modules/@nodelib/fs.scandir/out/adapters/fs.js","../node_modules/@nodelib/fs.scandir/out/settings.js","../node_modules/@nodelib/fs.scandir/out/index.js","../node_modules/reusify/reusify.js","../node_modules/fastq/queue.js","../node_modules/@nodelib/fs.walk/out/readers/common.js","../node_modules/@nodelib/fs.walk/out/readers/reader.js","../node_modules/@nodelib/fs.walk/out/readers/async.js","../node_modules/@nodelib/fs.walk/out/providers/async.js","../node_modules/@nodelib/fs.walk/out/providers/stream.js","../node_modules/@nodelib/fs.walk/out/readers/sync.js","../node_modules/@nodelib/fs.walk/out/providers/sync.js","../node_modules/@nodelib/fs.walk/out/settings.js","../node_modules/@nodelib/fs.walk/out/index.js","../node_modules/fast-glob/out/readers/reader.js","../node_modules/fast-glob/out/readers/stream.js","../node_modules/fast-glob/out/readers/async.js","../node_modules/fast-glob/out/providers/matchers/matcher.js","../node_modules/fast-glob/out/providers/matchers/partial.js","../node_modules/fast-glob/out/providers/filters/deep.js","../node_modules/fast-glob/out/providers/filters/entry.js","../node_modules/fast-glob/out/providers/filters/error.js","../node_modules/fast-glob/out/providers/transformers/entry.js","../node_modules/fast-glob/out/providers/provider.js","../node_modules/fast-glob/out/providers/async.js","../node_modules/fast-glob/out/providers/stream.js","../node_modules/fast-glob/out/readers/sync.js","../node_modules/fast-glob/out/providers/sync.js","../node_modules/fast-glob/out/settings.js","../node_modules/fast-glob/out/index.js","../src/lib/getAllPackages.ts","../node_modules/require-from-string/index.js","../node_modules/json5/dist/index.mjs","../node_modules/rc-config-loader/lib/rc-config-loader.js","../src/lib/getNcuRc.ts","../node_modules/dequal/dist/index.mjs","../node_modules/remote-git-tags/index.js","../src/package-managers/gitTags.ts","../src/package-managers/staticRegistry.ts","../src/package-managers/index.ts","../src/lib/initOptions.ts","../src/lib/mergeOptions.ts","../node_modules/fp-and-or/index.js","../node_modules/picomatch/lib/constants.js","../node_modules/picomatch/lib/utils.js","../node_modules/picomatch/lib/scan.js","../node_modules/picomatch/lib/parse.js","../node_modules/picomatch/lib/picomatch.js","../node_modules/picomatch/index.js","../src/lib/filterAndReject.ts","../src/lib/getPackageManager.ts","../src/lib/getInstalledPackages.ts","../node_modules/progress/lib/node-progress.js","../node_modules/progress/index.js","../src/lib/getPeerDependenciesFromRegistry.ts","../src/lib/pick.ts","../node_modules/indent-string/index.js","../node_modules/clean-stack/index.js","../node_modules/aggregate-error/index.js","../node_modules/p-map/index.js","../src/types/Target.ts","../src/lib/queryVersions.ts","../node_modules/lodash/_arrayPush.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/_isFlattenable.js","../node_modules/lodash/_baseFlatten.js","../node_modules/lodash/flatten.js","../node_modules/lodash/_overRest.js","../node_modules/lodash/_flatRest.js","../node_modules/lodash/_createFlow.js","../node_modules/lodash/flow.js","../src/lib/getPreferredWildcard.ts","../src/lib/isUpgradeable.ts","../src/lib/upgradeDependencies.ts","../src/lib/upgradePackageDefinitions.ts","../src/lib/runGlobal.ts","../node_modules/jju/lib/unicode.js","../node_modules/jju/lib/parse.js","../node_modules/jju/lib/stringify.js","../node_modules/jju/lib/analyze.js","../node_modules/jju/lib/document.js","../node_modules/jju/lib/utils.js","../node_modules/jju/index.js","../node_modules/json-parse-helpfulerror/index.js","../src/lib/getCurrentDependencies.ts","../src/lib/getEnginesNodeFromRegistry.ts","../src/lib/getIgnoredUpgradesDueToEnginesNode.ts","../src/lib/getIgnoredUpgradesDueToPeerDeps.ts","../src/lib/runLocal.ts","../src/index.ts"],"sourcesContent":["'use strict';\n\nlet FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM, isTTY=true;\nif (typeof process !== 'undefined') {\n\t({ FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM } = process.env || {});\n\tisTTY = process.stdout && process.stdout.isTTY;\n}\n\nconst $ = {\n\tenabled: !NODE_DISABLE_COLORS && NO_COLOR == null && TERM !== 'dumb' && (\n\t\tFORCE_COLOR != null && FORCE_COLOR !== '0' || isTTY\n\t),\n\n\t// modifiers\n\treset: init(0, 0),\n\tbold: init(1, 22),\n\tdim: init(2, 22),\n\titalic: init(3, 23),\n\tunderline: init(4, 24),\n\tinverse: init(7, 27),\n\thidden: init(8, 28),\n\tstrikethrough: init(9, 29),\n\n\t// colors\n\tblack: init(30, 39),\n\tred: init(31, 39),\n\tgreen: init(32, 39),\n\tyellow: init(33, 39),\n\tblue: init(34, 39),\n\tmagenta: init(35, 39),\n\tcyan: init(36, 39),\n\twhite: init(37, 39),\n\tgray: init(90, 39),\n\tgrey: init(90, 39),\n\n\t// background colors\n\tbgBlack: init(40, 49),\n\tbgRed: init(41, 49),\n\tbgGreen: init(42, 49),\n\tbgYellow: init(43, 49),\n\tbgBlue: init(44, 49),\n\tbgMagenta: init(45, 49),\n\tbgCyan: init(46, 49),\n\tbgWhite: init(47, 49)\n};\n\nfunction run(arr, str) {\n\tlet i=0, tmp, beg='', end='';\n\tfor (; i < arr.length; i++) {\n\t\ttmp = arr[i];\n\t\tbeg += tmp.open;\n\t\tend += tmp.close;\n\t\tif (!!~str.indexOf(tmp.close)) {\n\t\t\tstr = str.replace(tmp.rgx, tmp.close + tmp.open);\n\t\t}\n\t}\n\treturn beg + str + end;\n}\n\nfunction chain(has, keys) {\n\tlet ctx = { has, keys };\n\n\tctx.reset = $.reset.bind(ctx);\n\tctx.bold = $.bold.bind(ctx);\n\tctx.dim = $.dim.bind(ctx);\n\tctx.italic = $.italic.bind(ctx);\n\tctx.underline = $.underline.bind(ctx);\n\tctx.inverse = $.inverse.bind(ctx);\n\tctx.hidden = $.hidden.bind(ctx);\n\tctx.strikethrough = $.strikethrough.bind(ctx);\n\n\tctx.black = $.black.bind(ctx);\n\tctx.red = $.red.bind(ctx);\n\tctx.green = $.green.bind(ctx);\n\tctx.yellow = $.yellow.bind(ctx);\n\tctx.blue = $.blue.bind(ctx);\n\tctx.magenta = $.magenta.bind(ctx);\n\tctx.cyan = $.cyan.bind(ctx);\n\tctx.white = $.white.bind(ctx);\n\tctx.gray = $.gray.bind(ctx);\n\tctx.grey = $.grey.bind(ctx);\n\n\tctx.bgBlack = $.bgBlack.bind(ctx);\n\tctx.bgRed = $.bgRed.bind(ctx);\n\tctx.bgGreen = $.bgGreen.bind(ctx);\n\tctx.bgYellow = $.bgYellow.bind(ctx);\n\tctx.bgBlue = $.bgBlue.bind(ctx);\n\tctx.bgMagenta = $.bgMagenta.bind(ctx);\n\tctx.bgCyan = $.bgCyan.bind(ctx);\n\tctx.bgWhite = $.bgWhite.bind(ctx);\n\n\treturn ctx;\n}\n\nfunction init(open, close) {\n\tlet blk = {\n\t\topen: `\\x1b[${open}m`,\n\t\tclose: `\\x1b[${close}m`,\n\t\trgx: new RegExp(`\\\\x1b\\\\[${close}m`, 'g')\n\t};\n\treturn function (txt) {\n\t\tif (this !== void 0 && this.has !== void 0) {\n\t\t\t!!~this.has.indexOf(open) || (this.has.push(open),this.keys.push(blk));\n\t\t\treturn txt === void 0 ? this : $.enabled ? run(this.keys, txt+'') : txt+'';\n\t\t}\n\t\treturn txt === void 0 ? chain([open], [blk]) : $.enabled ? run([blk], txt+'') : txt+'';\n\t};\n}\n\nmodule.exports = $;\n","'use strict';\n\nmodule.exports = (key, isSelect) => {\n if (key.meta && key.name !== 'escape') return;\n \n if (key.ctrl) {\n if (key.name === 'a') return 'first';\n if (key.name === 'c') return 'abort';\n if (key.name === 'd') return 'abort';\n if (key.name === 'e') return 'last';\n if (key.name === 'g') return 'reset';\n }\n \n if (isSelect) {\n if (key.name === 'j') return 'down';\n if (key.name === 'k') return 'up';\n }\n\n if (key.name === 'return') return 'submit';\n if (key.name === 'enter') return 'submit'; // ctrl + J\n if (key.name === 'backspace') return 'delete';\n if (key.name === 'delete') return 'deleteForward';\n if (key.name === 'abort') return 'abort';\n if (key.name === 'escape') return 'exit';\n if (key.name === 'tab') return 'next';\n if (key.name === 'pagedown') return 'nextPage';\n if (key.name === 'pageup') return 'prevPage';\n // TODO create home() in prompt types (e.g. TextPrompt)\n if (key.name === 'home') return 'home';\n // TODO create end() in prompt types (e.g. TextPrompt)\n if (key.name === 'end') return 'end';\n\n if (key.name === 'up') return 'up';\n if (key.name === 'down') return 'down';\n if (key.name === 'right') return 'right';\n if (key.name === 'left') return 'left';\n\n return false;\n};\n","'use strict';\n\nmodule.exports = str => {\n const pattern = [\n '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n '(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PRZcf-ntqry=><~]))'\n ].join('|');\n\n const RGX = new RegExp(pattern, 'g');\n return typeof str === 'string' ? str.replace(RGX, '') : str;\n};\n","'use strict';\n\nconst ESC = '\\x1B';\nconst CSI = `${ESC}[`;\nconst beep = '\\u0007';\n\nconst cursor = {\n to(x, y) {\n if (!y) return `${CSI}${x + 1}G`;\n return `${CSI}${y + 1};${x + 1}H`;\n },\n move(x, y) {\n let ret = '';\n\n if (x < 0) ret += `${CSI}${-x}D`;\n else if (x > 0) ret += `${CSI}${x}C`;\n\n if (y < 0) ret += `${CSI}${-y}A`;\n else if (y > 0) ret += `${CSI}${y}B`;\n\n return ret;\n },\n up: (count = 1) => `${CSI}${count}A`,\n down: (count = 1) => `${CSI}${count}B`,\n forward: (count = 1) => `${CSI}${count}C`,\n backward: (count = 1) => `${CSI}${count}D`,\n nextLine: (count = 1) => `${CSI}E`.repeat(count),\n prevLine: (count = 1) => `${CSI}F`.repeat(count),\n left: `${CSI}G`,\n hide: `${CSI}?25l`,\n show: `${CSI}?25h`,\n save: `${ESC}7`,\n restore: `${ESC}8`\n}\n\nconst scroll = {\n up: (count = 1) => `${CSI}S`.repeat(count),\n down: (count = 1) => `${CSI}T`.repeat(count)\n}\n\nconst erase = {\n screen: `${CSI}2J`,\n up: (count = 1) => `${CSI}1J`.repeat(count),\n down: (count = 1) => `${CSI}J`.repeat(count),\n line: `${CSI}2K`,\n lineEnd: `${CSI}K`,\n lineStart: `${CSI}1K`,\n lines(count) {\n let clear = '';\n for (let i = 0; i < count; i++)\n clear += this.line + (i < count - 1 ? cursor.up() : '');\n if (count)\n clear += cursor.left;\n return clear;\n }\n}\n\nmodule.exports = { cursor, scroll, erase, beep };\n","'use strict';\n\nconst strip = require('./strip');\nconst { erase, cursor } = require('sisteransi');\n\nconst width = str => [...strip(str)].length;\n\n/**\n * @param {string} prompt\n * @param {number} perLine\n */\nmodule.exports = function(prompt, perLine) {\n if (!perLine) return erase.line + cursor.to(0);\n\n let rows = 0;\n const lines = prompt.split(/\\r?\\n/);\n for (let line of lines) {\n rows += 1 + Math.floor(Math.max(width(line) - 1, 0) / perLine);\n }\n\n return erase.lines(rows);\n};\n","'use strict';\t\n\n const main = {\n arrowUp: '↑',\n arrowDown: '↓',\n arrowLeft: '←',\n arrowRight: '→',\n radioOn: '◉',\n radioOff: '◯',\n tick: '✔',\t\n cross: '✖',\t\n ellipsis: '…',\t\n pointerSmall: '›',\t\n line: '─',\t\n pointer: '❯'\t\n};\t\nconst win = {\n arrowUp: main.arrowUp,\n arrowDown: main.arrowDown,\n arrowLeft: main.arrowLeft,\n arrowRight: main.arrowRight,\n radioOn: '(*)',\n radioOff: '( )',\t\n tick: '√',\t\n cross: '×',\t\n ellipsis: '...',\t\n pointerSmall: '»',\t\n line: '─',\t\n pointer: '>'\t\n};\t\nconst figures = process.platform === 'win32' ? win : main;\t\n\n module.exports = figures;\n","'use strict';\n\nconst c = require('kleur');\nconst figures = require('./figures');\n\n// rendering user input.\nconst styles = Object.freeze({\n password: { scale: 1, render: input => '*'.repeat(input.length) },\n emoji: { scale: 2, render: input => '😃'.repeat(input.length) },\n invisible: { scale: 0, render: input => '' },\n default: { scale: 1, render: input => `${input}` }\n});\nconst render = type => styles[type] || styles.default;\n\n// icon to signalize a prompt.\nconst symbols = Object.freeze({\n aborted: c.red(figures.cross),\n done: c.green(figures.tick),\n exited: c.yellow(figures.cross),\n default: c.cyan('?')\n});\n\nconst symbol = (done, aborted, exited) =>\n aborted ? symbols.aborted : exited ? symbols.exited : done ? symbols.done : symbols.default;\n\n// between the question and the user's input.\nconst delimiter = completing =>\n c.gray(completing ? figures.ellipsis : figures.pointerSmall);\n\nconst item = (expandable, expanded) =>\n c.gray(expandable ? (expanded ? figures.pointerSmall : '+') : figures.line);\n\nmodule.exports = {\n styles,\n render,\n symbols,\n symbol,\n delimiter,\n item\n};\n","'use strict';\n\nconst strip = require('./strip');\n\n/**\n * @param {string} msg\n * @param {number} perLine\n */\nmodule.exports = function (msg, perLine) {\n let lines = String(strip(msg) || '').split(/\\r?\\n/);\n\n if (!perLine) return lines.length;\n return lines.map(l => Math.ceil(l.length / perLine))\n .reduce((a, b) => a + b);\n};\n","'use strict';\n\n/**\n * @param {string} msg The message to wrap\n * @param {object} opts\n * @param {number|string} [opts.margin] Left margin\n * @param {number} opts.width Maximum characters per line including the margin\n */\nmodule.exports = (msg, opts = {}) => {\n const tab = Number.isSafeInteger(parseInt(opts.margin))\n ? new Array(parseInt(opts.margin)).fill(' ').join('')\n : (opts.margin || '');\n\n const width = opts.width;\n\n return (msg || '').split(/\\r?\\n/g)\n .map(line => line\n .split(/\\s+/g)\n .reduce((arr, w) => {\n if (w.length + tab.length >= width || arr[arr.length - 1].length + w.length + 1 < width)\n arr[arr.length - 1] += ` ${w}`;\n else arr.push(`${tab}${w}`);\n return arr;\n }, [ tab ])\n .join('\\n'))\n .join('\\n');\n};\n","'use strict';\n\n/**\n * Determine what entries should be displayed on the screen, based on the\n * currently selected index and the maximum visible. Used in list-based\n * prompts like `select` and `multiselect`.\n *\n * @param {number} cursor the currently selected entry\n * @param {number} total the total entries available to display\n * @param {number} [maxVisible] the number of entries that can be displayed\n */\nmodule.exports = (cursor, total, maxVisible) => {\n maxVisible = maxVisible || total;\n\n let startIndex = Math.min(total- maxVisible, cursor - Math.floor(maxVisible / 2));\n if (startIndex < 0) startIndex = 0;\n\n let endIndex = Math.min(startIndex + maxVisible, total);\n\n return { startIndex, endIndex };\n};\n","'use strict';\n\nmodule.exports = {\n action: require('./action'),\n clear: require('./clear'),\n style: require('./style'),\n strip: require('./strip'),\n figures: require('./figures'),\n lines: require('./lines'),\n wrap: require('./wrap'),\n entriesToDisplay: require('./entriesToDisplay')\n};\n","'use strict';\n\nconst readline = require('readline');\nconst { action } = require('../util');\nconst EventEmitter = require('events');\nconst { beep, cursor } = require('sisteransi');\nconst color = require('kleur');\n\n/**\n * Base prompt skeleton\n * @param {Stream} [opts.stdin] The Readable stream to listen to\n * @param {Stream} [opts.stdout] The Writable stream to write readline data to\n */\nclass Prompt extends EventEmitter {\n constructor(opts={}) {\n super();\n\n this.firstRender = true;\n this.in = opts.stdin || process.stdin;\n this.out = opts.stdout || process.stdout;\n this.onRender = (opts.onRender || (() => void 0)).bind(this);\n const rl = readline.createInterface({ input:this.in, escapeCodeTimeout:50 });\n readline.emitKeypressEvents(this.in, rl);\n\n if (this.in.isTTY) this.in.setRawMode(true);\n const keypress = (str, key) => {\n let a = action(key, this.isSelect);\n if (a === false) {\n this._ && this._(str, key);\n } else if (typeof this[a] === 'function') {\n this[a](key);\n } else {\n this.bell();\n }\n };\n\n this.close = () => {\n this.out.write(cursor.show);\n this.in.removeListener('keypress', keypress);\n if (this.in.isTTY) this.in.setRawMode(false);\n rl.close();\n this.emit(this.aborted ? 'abort' : this.exited ? 'exit' : 'submit', this.value);\n this.closed = true;\n };\n\n this.in.on('keypress', keypress);\n }\n\n fire() {\n this.emit('state', {\n value: this.value,\n aborted: !!this.aborted,\n exited: !!this.exited\n });\n }\n\n bell() {\n this.out.write(beep);\n }\n\n render() {\n this.onRender(color);\n if (this.firstRender) this.firstRender = false;\n }\n}\n\nmodule.exports = Prompt;\n","const color = require('kleur');\nconst Prompt = require('./prompt');\nconst { erase, cursor } = require('sisteransi');\nconst { style, clear, lines, figures } = require('../util');\n\n/**\n * TextPrompt Base Element\n * @param {Object} opts Options\n * @param {String} opts.message Message\n * @param {String} [opts.style='default'] Render style\n * @param {String} [opts.initial] Default value\n * @param {Function} [opts.validate] Validate function\n * @param {Stream} [opts.stdin] The Readable stream to listen to\n * @param {Stream} [opts.stdout] The Writable stream to write readline data to\n * @param {String} [opts.error] The invalid error label\n */\nclass TextPrompt extends Prompt {\n constructor(opts={}) {\n super(opts);\n this.transform = style.render(opts.style);\n this.scale = this.transform.scale;\n this.msg = opts.message;\n this.initial = opts.initial || ``;\n this.validator = opts.validate || (() => true);\n this.value = ``;\n this.errorMsg = opts.error || `Please Enter A Valid Value`;\n this.cursor = Number(!!this.initial);\n this.cursorOffset = 0;\n this.clear = clear(``, this.out.columns);\n this.render();\n }\n\n set value(v) {\n if (!v && this.initial) {\n this.placeholder = true;\n this.rendered = color.gray(this.transform.render(this.initial));\n } else {\n this.placeholder = false;\n this.rendered = this.transform.render(v);\n }\n this._value = v;\n this.fire();\n }\n\n get value() {\n return this._value;\n }\n\n reset() {\n this.value = ``;\n this.cursor = Number(!!this.initial);\n this.cursorOffset = 0;\n this.fire();\n this.render();\n }\n\n exit() {\n this.abort();\n }\n\n abort() {\n this.value = this.value || this.initial;\n this.done = this.aborted = true;\n this.error = false;\n this.red = false;\n this.fire();\n this.render();\n this.out.write('\\n');\n this.close();\n }\n\n async validate() {\n let valid = await this.validator(this.value);\n if (typeof valid === `string`) {\n this.errorMsg = valid;\n valid = false;\n }\n this.error = !valid;\n }\n\n async submit() {\n this.value = this.value || this.initial;\n this.cursorOffset = 0;\n this.cursor = this.rendered.length;\n await this.validate();\n if (this.error) {\n this.red = true;\n this.fire();\n this.render();\n return;\n }\n this.done = true;\n this.aborted = false;\n this.fire();\n this.render();\n this.out.write('\\n');\n this.close();\n }\n\n next() {\n if (!this.placeholder) return this.bell();\n this.value = this.initial;\n this.cursor = this.rendered.length;\n this.fire();\n this.render();\n }\n\n moveCursor(n) {\n if (this.placeholder) return;\n this.cursor = this.cursor+n;\n this.cursorOffset += n;\n }\n\n _(c, key) {\n let s1 = this.value.slice(0, this.cursor);\n let s2 = this.value.slice(this.cursor);\n this.value = `${s1}${c}${s2}`;\n this.red = false;\n this.cursor = this.placeholder ? 0 : s1.length+1;\n this.render();\n }\n\n delete() {\n if (this.isCursorAtStart()) return this.bell();\n let s1 = this.value.slice(0, this.cursor-1);\n let s2 = this.value.slice(this.cursor);\n this.value = `${s1}${s2}`;\n this.red = false;\n if (this.isCursorAtStart()) {\n this.cursorOffset = 0\n } else {\n this.cursorOffset++;\n this.moveCursor(-1);\n }\n this.render();\n }\n\n deleteForward() {\n if(this.cursor*this.scale >= this.rendered.length || this.placeholder) return this.bell();\n let s1 = this.value.slice(0, this.cursor);\n let s2 = this.value.slice(this.cursor+1);\n this.value = `${s1}${s2}`;\n this.red = false;\n if (this.isCursorAtEnd()) {\n this.cursorOffset = 0;\n } else {\n this.cursorOffset++;\n }\n this.render();\n }\n\n first() {\n this.cursor = 0;\n this.render();\n }\n\n last() {\n this.cursor = this.value.length;\n this.render();\n }\n\n left() {\n if (this.cursor <= 0 || this.placeholder) return this.bell();\n this.moveCursor(-1);\n this.render();\n }\n\n right() {\n if (this.cursor*this.scale >= this.rendered.length || this.placeholder) return this.bell();\n this.moveCursor(1);\n this.render();\n }\n\n isCursorAtStart() {\n return this.cursor === 0 || (this.placeholder && this.cursor === 1);\n }\n\n isCursorAtEnd() {\n return this.cursor === this.rendered.length || (this.placeholder && this.cursor === this.rendered.length + 1)\n }\n\n render() {\n if (this.closed) return;\n if (!this.firstRender) {\n if (this.outputError)\n this.out.write(cursor.down(lines(this.outputError, this.out.columns) - 1) + clear(this.outputError, this.out.columns));\n this.out.write(clear(this.outputText, this.out.columns));\n }\n super.render();\n this.outputError = '';\n\n this.outputText = [\n style.symbol(this.done, this.aborted),\n color.bold(this.msg),\n style.delimiter(this.done),\n this.red ? color.red(this.rendered) : this.rendered\n ].join(` `);\n\n if (this.error) {\n this.outputError += this.errorMsg.split(`\\n`)\n .reduce((a, l, i) => a + `\\n${i ? ' ' : figures.pointerSmall} ${color.red().italic(l)}`, ``);\n }\n\n this.out.write(erase.line + cursor.to(0) + this.outputText + cursor.save + this.outputError + cursor.restore + cursor.move(this.cursorOffset, 0));\n }\n}\n\nmodule.exports = TextPrompt;","'use strict';\n\nconst color = require('kleur');\nconst Prompt = require('./prompt');\nconst { style, clear, figures, wrap, entriesToDisplay } = require('../util');\nconst { cursor } = require('sisteransi');\n\n/**\n * SelectPrompt Base Element\n * @param {Object} opts Options\n * @param {String} opts.message Message\n * @param {Array} opts.choices Array of choice objects\n * @param {String} [opts.hint] Hint to display\n * @param {Number} [opts.initial] Index of default value\n * @param {Stream} [opts.stdin] The Readable stream to listen to\n * @param {Stream} [opts.stdout] The Writable stream to write readline data to\n * @param {Number} [opts.optionsPerPage=10] Max options to display at once\n */\nclass SelectPrompt extends Prompt {\n constructor(opts={}) {\n super(opts);\n this.isSelect = true;\n this.msg = opts.message;\n this.hint = opts.hint || '- Use arrow-keys. Return to submit.';\n this.warn = opts.warn || '- This option is disabled';\n this.cursor = opts.initial || 0;\n this.choices = opts.choices.map((ch, idx) => {\n if (typeof ch === 'string')\n ch = {title: ch, value: idx};\n return {\n title: ch && (ch.title || ch.value || ch),\n value: ch && (ch.value === undefined ? idx : ch.value),\n description: ch && ch.description,\n selected: ch && ch.selected,\n disabled: ch && ch.disabled\n };\n });\n this.optionsPerPage = opts.optionsPerPage || 10;\n this.value = (this.choices[this.cursor] || {}).value;\n this.clear = clear('', this.out.columns);\n this.render();\n }\n\n moveCursor(n) {\n this.cursor = n;\n this.value = this.choices[n].value;\n this.fire();\n }\n\n reset() {\n this.moveCursor(0);\n this.fire();\n this.render();\n }\n\n exit() {\n this.abort();\n }\n\n abort() {\n this.done = this.aborted = true;\n this.fire();\n this.render();\n this.out.write('\\n');\n this.close();\n }\n\n submit() {\n if (!this.selection.disabled) {\n this.done = true;\n this.aborted = false;\n this.fire();\n this.render();\n this.out.write('\\n');\n this.close();\n } else\n this.bell();\n }\n\n first() {\n this.moveCursor(0);\n this.render();\n }\n\n last() {\n this.moveCursor(this.choices.length - 1);\n this.render();\n }\n\n up() {\n if (this.cursor === 0) {\n this.moveCursor(this.choices.length - 1);\n } else {\n this.moveCursor(this.cursor - 1);\n }\n this.render();\n }\n\n down() {\n if (this.cursor === this.choices.length - 1) {\n this.moveCursor(0);\n } else {\n this.moveCursor(this.cursor + 1);\n }\n this.render();\n }\n\n next() {\n this.moveCursor((this.cursor + 1) % this.choices.length);\n this.render();\n }\n\n _(c, key) {\n if (c === ' ') return this.submit();\n }\n\n get selection() {\n return this.choices[this.cursor];\n }\n\n render() {\n if (this.closed) return;\n if (this.firstRender) this.out.write(cursor.hide);\n else this.out.write(clear(this.outputText, this.out.columns));\n super.render();\n\n let { startIndex, endIndex } = entriesToDisplay(this.cursor, this.choices.length, this.optionsPerPage);\n\n // Print prompt\n this.outputText = [\n style.symbol(this.done, this.aborted),\n color.bold(this.msg),\n style.delimiter(false),\n this.done ? this.selection.title : this.selection.disabled\n ? color.yellow(this.warn) : color.gray(this.hint)\n ].join(' ');\n\n // Print choices\n if (!this.done) {\n this.outputText += '\\n';\n for (let i = startIndex; i < endIndex; i++) {\n let title, prefix, desc = '', v = this.choices[i];\n\n // Determine whether to display \"more choices\" indicators\n if (i === startIndex && startIndex > 0) {\n prefix = figures.arrowUp;\n } else if (i === endIndex - 1 && endIndex < this.choices.length) {\n prefix = figures.arrowDown;\n } else {\n prefix = ' ';\n }\n\n if (v.disabled) {\n title = this.cursor === i ? color.gray().underline(v.title) : color.strikethrough().gray(v.title);\n prefix = (this.cursor === i ? color.bold().gray(figures.pointer) + ' ' : ' ') + prefix;\n } else {\n title = this.cursor === i ? color.cyan().underline(v.title) : v.title;\n prefix = (this.cursor === i ? color.cyan(figures.pointer) + ' ' : ' ') + prefix;\n if (v.description && this.cursor === i) {\n desc = ` - ${v.description}`;\n if (prefix.length + title.length + desc.length >= this.out.columns\n || v.description.split(/\\r?\\n/).length > 1) {\n desc = '\\n' + wrap(v.description, { margin: 3, width: this.out.columns });\n }\n }\n }\n\n this.outputText += `${prefix} ${title}${color.gray(desc)}\\n`;\n }\n }\n\n this.out.write(this.outputText);\n }\n}\n\nmodule.exports = SelectPrompt;\n","const color = require('kleur');\nconst Prompt = require('./prompt');\nconst { style, clear } = require('../util');\nconst { cursor, erase } = require('sisteransi');\n\n/**\n * TogglePrompt Base Element\n * @param {Object} opts Options\n * @param {String} opts.message Message\n * @param {Boolean} [opts.initial=false] Default value\n * @param {String} [opts.active='no'] Active label\n * @param {String} [opts.inactive='off'] Inactive label\n * @param {Stream} [opts.stdin] The Readable stream to listen to\n * @param {Stream} [opts.stdout] The Writable stream to write readline data to\n */\nclass TogglePrompt extends Prompt {\n constructor(opts={}) {\n super(opts);\n this.msg = opts.message;\n this.value = !!opts.initial;\n this.active = opts.active || 'on';\n this.inactive = opts.inactive || 'off';\n this.initialValue = this.value;\n this.render();\n }\n\n reset() {\n this.value = this.initialValue;\n this.fire();\n this.render();\n }\n\n exit() {\n this.abort();\n }\n\n abort() {\n this.done = this.aborted = true;\n this.fire();\n this.