From 030bbf23e2cfdc09623ff644b953de7ea95e7690 Mon Sep 17 00:00:00 2001 From: Gradyn Wursten Date: Fri, 5 Dec 2025 12:40:27 -0700 Subject: [PATCH 1/4] add support for info.plist variables and ios build number check --- index.js | 5 +-- lib/helpers.js | 89 +++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 83 insertions(+), 11 deletions(-) diff --git a/index.js b/index.js index 716cbf9..7b0cf28 100644 --- a/index.js +++ b/index.js @@ -13,6 +13,7 @@ const pathToPackage = argv.pathToPackage || `${pathToRoot}/package.json`; const info = helpers.getPackageInfo(pathToPackage); const pathToPlist = argv.pathToPlist || `${pathToRoot}/ios/${info.name}/Info.plist`; +const pathToPbxproj = argv.pathToPbxproj || `${pathToRoot}/ios/${info.name}.xcodeproj/project.pbxproj`; const pathToGradle = argv.pathToGradle || `${pathToRoot}/android/app/build.gradle`; // handle case of several plist files const pathsToPlists = Array.isArray(pathToPlist) ? pathToPlist : [pathToPlist]; @@ -27,7 +28,7 @@ let patch = helpers.version(versions[2], argv.patch, argv.major || argv.minor); const version = `${major}.${minor}.${patch}`; // getting next build number -const buildCurrent = helpers.getBuildNumberFromPlist(pathsToPlists[0]); +const buildCurrent = helpers.getMaximumBuildNumber(pathsToPlists[0], pathToPbxproj); const build = buildCurrent + 1; // getting commit message @@ -73,7 +74,7 @@ const update = chain.then(() => { log.info('Updating version in xcode project...', 1); pathsToPlists.forEach(pathToPlist => { - helpers.changeVersionAndBuildInPlist(pathToPlist, version, build); + helpers.changeVersionAndBuildInPlist(pathToPlist, version, build, pathToPbxproj); }); log.success(`Version and build number in ios project (plist file) changed.`, 2); }).then(() => { diff --git a/lib/helpers.js b/lib/helpers.js index c411c25..8352981 100644 --- a/lib/helpers.js +++ b/lib/helpers.js @@ -19,31 +19,102 @@ module.exports = { return flag ? value + 1 : value; }, + replacePlaceholdersFromPbxproj(string, pathToPbxproj) { + const pbxProjContent = fs.readFileSync(pathToPbxproj, 'utf8'); + + // Convert to set and back to remove duplicates, since replaceAll will replace all instances of a placeholder + const placeholders = [...new Set(string.match(/\$\([^)]*\)/))]; + for (let placeholder of placeholders) { + // Slice to remove $( and ) + const regex = new RegExp(`${placeholder.slice(2,-1)}\\s*=\\s*([^;]+);`); + const match = pbxProjContent.match(regex); + if (match) string = string.replaceAll(placeholder, match[1]); + } + + return string; + }, + getPackageInfo(pathToFile) { return JSON.parse(fs.readFileSync(pathToFile, 'utf8')); }, - getBuildNumberFromPlist(pathToPlist) { + getMaximumBuildNumber(pathToPlist, pathToPbxproj = null) { + const buildNumbers = []; + buildNumbers.push(this.getBuildNumberFromPlist(pathToPlist, pathToPbxproj)); + + return Math.max(...buildNumbers); + }, + + matchPlistBuildNumber(content) { + return content.match(/(CFBundleVersion<\/key>\s+)(.*)(<\/string>)/)[2]; + }, + + matchPlistVersionNumber(content) { + return content.match(/(CFBundleShortVersionString<\/key>\s+)(.*)(<\/string>)/)[2]; + }, + + getBuildNumberFromPlist(pathToPlist, pathToPbxproj = null) { const content = fs.readFileSync(pathToPlist, 'utf8'); - const match = content.match(/(CFBundleVersion<\/key>\s+)([\d\.]+)(<\/string>)/); - if (match && match[2]) { - return parseInt(match[2]); + const match = this.matchPlistBuildNumber(content); + if (match) { + let result = match; + if (pathToPbxproj) result = this.replacePlaceholdersFromPbxproj(match, pathToPbxproj); + return parseInt(result); } return 1; }, + setBuildSetting(content, key, newValue) { + // Escape key in case it ever contains regex characters + const escapedKey = key.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + + const regex = new RegExp(`(${escapedKey}\\s*=\\s*)([^;]*)(;)`, 'g'); + + return content.replaceAll(regex, (_, prefix, _oldValue, suffix) => { + return `${prefix}${newValue}${suffix}`; + }); + }, + changeVersionInPackage(pathToFile, version) { let packageContent = fs.readFileSync(pathToFile, 'utf8'); packageContent = packageContent.replace(/("version":\s*")([\d\.]+)(")/g, `$1${version}$3`); fs.writeFileSync(pathToFile, packageContent, 'utf8'); }, - changeVersionAndBuildInPlist(pathToFile, version, build) { - let content = fs.readFileSync(pathToFile, 'utf8'); - content = content.replace(/(CFBundleShortVersionString<\/key>\s*)([\d\.]+)(<\/string>)/g, `$1${version}$3`); - content = content.replace(/(CFBundleVersion<\/key>\s+)([\d\.]+)(<\/string>)/g, `$1${build}$3`); - fs.writeFileSync(pathToFile, content, 'utf8'); + isSingleVariableRef(str) { + return /^\$\([^)]+\)$/.test(str); + }, + + changeVersionAndBuildInPlist(pathToPlist, version, build, pathToPbxproj = null) { + let plistContent = fs.readFileSync(pathToPlist, 'utf8'); + let pbxProjContent = null; + const rawBuildNumber = this.matchPlistBuildNumber(plistContent); + const rawVersion = this.matchPlistVersionNumber(plistContent); + + if (pathToPbxproj) { + pbxProjContent = fs.readFileSync(pathToPbxproj, 'utf8'); + } + + if (!isNaN(parseInt(rawBuildNumber))) { + plistContent = plistContent.replace(/(CFBundleVersion<\/key>\s+)([\d\.]+)(<\/string>)/g, `$1${build}$3`); + } + else if (this.isSingleVariableRef(rawBuildNumber) && pathToPbxproj) { + pbxProjContent = this.setBuildSetting(pbxProjContent, rawBuildNumber.slice(2, -1), build); + } else { + throw new Error('Build number in plist is not a single variable nor a number. Unsure how to proceed, bailing out'); + } + + if (!rawVersion.split('.').some(part => !isNaN(parseInt(part))) && rawVersion.split('.').length === 3) { + plistContent = plistContent.replace(/(CFBundleShortVersionString<\/key>\s*)([\d\.]+)(<\/string>)/g, `$1${version}$3`); + } else if (this.isSingleVariableRef(rawVersion) && pathToPbxproj) { + pbxProjContent = this.setBuildSetting(pbxProjContent, rawVersion.slice(2, -1), version); + } else { + throw new Error('Version number in plist is not a single variable nor a number. Unsure how to proceed, bailing out'); + } + + fs.writeFileSync(pathToPlist, plistContent, 'utf8'); + if (pathToPbxproj) fs.writeFileSync(pathToPbxproj, pbxProjContent, 'utf8'); }, changeVersionAndBuildInGradle(pathToFile, version, build) { From e382a688c2f36a0d2d5461622a2a012d277faef7 Mon Sep 17 00:00:00 2001 From: Gradyn Wursten Date: Mon, 8 Dec 2025 13:02:35 -0700 Subject: [PATCH 2/4] fix git tagging on windows --- lib/helpers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/helpers.js b/lib/helpers.js index 8352981..4450dcf 100644 --- a/lib/helpers.js +++ b/lib/helpers.js @@ -126,7 +126,7 @@ module.exports = { commitVersionIncrease(version, message, pathsToAdd = []) { return new Promise((resolve, reject) => { - exec(`git add ${pathsToAdd.join(' ')} && git commit -m '${message}' && git tag -a v${version} -m '${message}'`, error => { + exec(`git add ${pathsToAdd.join(' ')} && git commit -m "${message}" && git tag -a v${version} -m "${message}"`, error => { if (error) { reject(error); return; From 1e6bd2735f1835958e3f642c51eaf971eeacc7eb Mon Sep 17 00:00:00 2001 From: Gradyn Wursten Date: Mon, 8 Dec 2025 13:10:05 -0700 Subject: [PATCH 3/4] Include pathToPbxproj in commit files Added pathToPbxproj to the commit files array. --- index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 7b0cf28..5a91cb1 100644 --- a/index.js +++ b/index.js @@ -97,7 +97,8 @@ const commit = update.then(() => { return helpers.commitVersionIncrease(version, message, [ pathToPackage, ...pathsToPlists, - pathToGradle + pathToGradle, + pathToPbxproj ]).then(() => { log.success(`Commit with files added. Run "git push".`, 1); }); From 92ed154db41ec710498e9d3df118bf0e3be05847 Mon Sep 17 00:00:00 2001 From: Gradyn Wursten Date: Mon, 18 May 2026 13:50:49 -0600 Subject: [PATCH 4/4] upgrade to modern yarnn --- package.json | 3 +- yarn.lock | 1111 +++++++++++++++++++++++++++++++------------------- 2 files changed, 686 insertions(+), 428 deletions(-) diff --git a/package.json b/package.json index 54f5793..43928d7 100644 --- a/package.json +++ b/package.json @@ -25,5 +25,6 @@ }, "devDependencies": { "yarn": "1.22.0" - } + }, + "packageManager": "yarn@4.14.1" } diff --git a/yarn.lock b/yarn.lock index 76f14bd..3854738 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,427 +1,684 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - -ansi-styles@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" - dependencies: - color-convert "^1.9.0" - -builtin-modules@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - -chalk@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.0.1.tgz#dbec49436d2ae15f536114e76d14656cdbc0f44d" - dependencies: - ansi-styles "^3.1.0" - escape-string-regexp "^1.0.5" - supports-color "^4.0.0" - -child_process@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/child_process/-/child_process-1.0.2.tgz#b1f7e7fc73d25e7fd1d455adc94e143830182b5a" - -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - -color-convert@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" - dependencies: - color-name "^1.1.1" - -color-name@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -decamelize@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - -error-ex@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" - dependencies: - is-arrayish "^0.2.1" - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -find-up@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - dependencies: - locate-path "^2.0.0" - -fs@0.0.1-security: - version "0.0.1-security" - resolved "https://registry.yarnpkg.com/fs/-/fs-0.0.1-security.tgz#8a7bd37186b6dddf3813f23858b57ecaaf5e41d4" - -get-caller-file@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - -graceful-fs@^4.1.2: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -has-flag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - -hosted-git-info@^2.1.4: - version "2.5.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - dependencies: - invert-kv "^1.0.0" - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -lru-cache@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - dependencies: - mimic-fn "^1.0.0" - -mimic-fn@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" - -normalize-package-data@^2.3.2: - version "2.4.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - dependencies: - path-key "^2.0.0" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - -p-limit@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - dependencies: - p-limit "^1.1.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - dependencies: - error-ex "^1.2.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - -path-key@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - dependencies: - pify "^2.0.0" - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -readline-sync@1.4.7: - version "1.4.7" - resolved "https://registry.yarnpkg.com/readline-sync/-/readline-sync-1.4.7.tgz#001bfdd4c06110c3c084c63bf7c6a56022213f30" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - -"semver@2 || 3 || 4 || 5": - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - dependencies: - shebang-regex "^1.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - -signal-exit@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - -spdx-correct@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" - dependencies: - spdx-license-ids "^1.0.2" - -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" - -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - dependencies: - ansi-regex "^3.0.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - -supports-color@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.2.1.tgz#65a4bb2631e90e02420dba5554c375a4754bb836" - dependencies: - has-flag "^2.0.0" - -validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" - dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - -which@^1.2.9: - version "1.2.14" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" - dependencies: - isexe "^2.0.0" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - -yargs-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" - dependencies: - camelcase "^4.1.0" - -yargs@8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" - dependencies: - camelcase "^4.1.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - read-pkg-up "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^7.0.0" - -yarn@1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.0.tgz#acf82906e36bcccd1ccab1cfb73b87509667c881" +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 9 + cacheKey: 10c0 + +"ansi-regex@npm:^2.0.0": + version: 2.1.1 + resolution: "ansi-regex@npm:2.1.1" + checksum: 10c0/78cebaf50bce2cb96341a7230adf28d804611da3ce6bf338efa7b72f06cc6ff648e29f80cd95e582617ba58d5fdbec38abfeed3500a98bce8381a9daec7c548b + languageName: node + linkType: hard + +"ansi-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "ansi-regex@npm:3.0.0" + checksum: 10c0/c6a2b226d009965decc65d330b953290039f0f2b31d200516a9a79b6010f5f8f9d6acbaa0917d925c578df0c0feaddcb56569aad05776f99e2918116d4233121 + languageName: node + linkType: hard + +"ansi-styles@npm:^3.1.0": + version: 3.2.0 + resolution: "ansi-styles@npm:3.2.0" + dependencies: + color-convert: "npm:^1.9.0" + checksum: 10c0/d9bba9502d1dea5a4d2b4e919c99fd429d75f41f7a5b987ef88e62f55fb2259f58168a902a95b6f174d8f70d55313b3331f738fb230721d7881b815a7bb6d505 + languageName: node + linkType: hard + +"builtin-modules@npm:^1.0.0": + version: 1.1.1 + resolution: "builtin-modules@npm:1.1.1" + checksum: 10c0/58d72ea7f59db3c2ae854e1058d85b226f75ff7386d0f71d628e25a600383fc6652af218e20ba2361925c605a4144590ceb890dfdca298fdf8f3d040c0591a23 + languageName: node + linkType: hard + +"camelcase@npm:^4.1.0": + version: 4.1.0 + resolution: "camelcase@npm:4.1.0" + checksum: 10c0/54c0b6a85b54fb4e96a9d834a9d0d8f760fd608ab6752a6789042b5e1c38d3dd60f878d2c590d005046445d32d77f6e05e568a91fe8db3e282da0a1560d83058 + languageName: node + linkType: hard + +"chalk@npm:2.0.1": + version: 2.0.1 + resolution: "chalk@npm:2.0.1" + dependencies: + ansi-styles: "npm:^3.1.0" + escape-string-regexp: "npm:^1.0.5" + supports-color: "npm:^4.0.0" + checksum: 10c0/67a4ef2fa5ac519779d042bddb74c9b4437b0a23ecae54863c3c0e6f8e79faa957c3c67b59b3a8c55b56eed5e6fc816d566db44e5f2e79ac7f74cd78eb3ae203 + languageName: node + linkType: hard + +"child_process@npm:1.0.2": + version: 1.0.2 + resolution: "child_process@npm:1.0.2" + checksum: 10c0/6e45dff224c704dc5c5edc14532e6c0c5c23a7c5f823574349246082d94a29780a68a46155d8a6989ffa986cb12ed0b01fbfc6c713b6655959fabb6b8cd52e4a + languageName: node + linkType: hard + +"cliui@npm:^3.2.0": + version: 3.2.0 + resolution: "cliui@npm:3.2.0" + dependencies: + string-width: "npm:^1.0.1" + strip-ansi: "npm:^3.0.1" + wrap-ansi: "npm:^2.0.0" + checksum: 10c0/07b121fac7fd33ff8dbf3523f0d3dca0329d4e457e57dee54502aa5f27a33cbd9e66aa3e248f0260d8a1431b65b2bad8f510cd97fb8ab6a8e0506310a92e18d5 + languageName: node + linkType: hard + +"code-point-at@npm:^1.0.0": + version: 1.1.0 + resolution: "code-point-at@npm:1.1.0" + checksum: 10c0/33f6b234084e46e6e369b6f0b07949392651b4dde70fc6a592a8d3dafa08d5bb32e3981a02f31f6fc323a26bc03a4c063a9d56834848695bda7611c2417ea2e6 + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0": + version: 1.9.0 + resolution: "color-convert@npm:1.9.0" + dependencies: + color-name: "npm:^1.1.1" + checksum: 10c0/774439b932ac7c75e3dd347d74cf8c33b97347877c1f06911931520c72c165fd02890285401ef439a7bf358afd10aa283de41e7f8af24201ee64fa1db4f2264e + languageName: node + linkType: hard + +"color-name@npm:^1.1.1": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 + languageName: node + linkType: hard + +"cross-spawn@npm:^5.0.1": + version: 5.1.0 + resolution: "cross-spawn@npm:5.1.0" + dependencies: + lru-cache: "npm:^4.0.1" + shebang-command: "npm:^1.2.0" + which: "npm:^1.2.9" + checksum: 10c0/1918621fddb9f8c61e02118b2dbf81f611ccd1544ceaca0d026525341832b8511ce2504c60f935dbc06b35e5ef156fe8c1e72708c27dd486f034e9c0e1e07201 + languageName: node + linkType: hard + +"decamelize@npm:^1.1.1": + version: 1.2.0 + resolution: "decamelize@npm:1.2.0" + checksum: 10c0/85c39fe8fbf0482d4a1e224ef0119db5c1897f8503bcef8b826adff7a1b11414972f6fef2d7dec2ee0b4be3863cf64ac1439137ae9e6af23a3d8dcbe26a5b4b2 + languageName: node + linkType: hard + +"error-ex@npm:^1.2.0": + version: 1.3.1 + resolution: "error-ex@npm:1.3.1" + dependencies: + is-arrayish: "npm:^0.2.1" + checksum: 10c0/d54fce09b6601fba39c8f737c5ef079abf33553ef6a9a7d8986f30c5ce94b5d679a4fd42c5f644d9e3f546a17676993473fbeb56b61725b75d1d41e8e7707131 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + +"execa@npm:^0.7.0": + version: 0.7.0 + resolution: "execa@npm:0.7.0" + dependencies: + cross-spawn: "npm:^5.0.1" + get-stream: "npm:^3.0.0" + is-stream: "npm:^1.1.0" + npm-run-path: "npm:^2.0.0" + p-finally: "npm:^1.0.0" + signal-exit: "npm:^3.0.0" + strip-eof: "npm:^1.0.0" + checksum: 10c0/812f1776e2a6b2226532e43c1af87d8a12e26de03a06e7e043f653acf5565e0656f5f6c64d66726fefa17178ac129caaa419a50905934e7c4a846417abb25d4a + languageName: node + linkType: hard + +"find-up@npm:^2.0.0": + version: 2.1.0 + resolution: "find-up@npm:2.1.0" + dependencies: + locate-path: "npm:^2.0.0" + checksum: 10c0/c080875c9fe28eb1962f35cbe83c683796a0321899f1eed31a37577800055539815de13d53495049697d3ba313013344f843bb9401dd337a1b832be5edfc6840 + languageName: node + linkType: hard + +"fs@npm:0.0.1-security": + version: 0.0.1-security + resolution: "fs@npm:0.0.1-security" + checksum: 10c0/e0c0b585ec6f7483d63d067215d9d6bb2e0dba5912060d32554c8e566a0e22ee65e4c2a2b0567476efbbfb47682554b4711d69cab49950d01f227a3dfa7d671a + languageName: node + linkType: hard + +"get-caller-file@npm:^1.0.1": + version: 1.0.2 + resolution: "get-caller-file@npm:1.0.2" + checksum: 10c0/8e2aaf745dd27b404192ed76975265a23826a4b4461c16a89d69973478e7cc9edd53f401c463fa048bbc89efd06bd86873a66ce42247dc41894d231194ae039b + languageName: node + linkType: hard + +"get-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "get-stream@npm:3.0.0" + checksum: 10c0/003f5f3b8870da59c6aafdf6ed7e7b07b48c2f8629cd461bd3900726548b6b8cfa2e14d6b7814fbb08f07a42f4f738407fa70b989928b2783a76b278505bba22 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.2": + version: 4.1.11 + resolution: "graceful-fs@npm:4.1.11" + checksum: 10c0/269e09e44d18b222e423ceefe9104403dd44bf3c63bf2174dd2b3c81f6a9aa318cd6921670fab40631e102269b9b15a87d88ee44fb5f32303d94cb45921bd3c9 + languageName: node + linkType: hard + +"has-flag@npm:^2.0.0": + version: 2.0.0 + resolution: "has-flag@npm:2.0.0" + checksum: 10c0/5e1f136c7f801c2719048bedfabcf834a1ed46276cd4c98c6fcddb89a482f5d6a16df0771a38805cfc2d9010b4de157909e1a71b708e1d339b6e311041bde9b4 + languageName: node + linkType: hard + +"hosted-git-info@npm:^2.1.4": + version: 2.5.0 + resolution: "hosted-git-info@npm:2.5.0" + checksum: 10c0/33c9ec7f2e7d1846a5a6551cd75c0542c3a8ef625716aaa0826d1fb7218eff1cd72b42e9847aa15ff4a22e65ade2c568351da61aa0ccac559bc1ae7027362e91 + languageName: node + linkType: hard + +"invert-kv@npm:^1.0.0": + version: 1.0.0 + resolution: "invert-kv@npm:1.0.0" + checksum: 10c0/9ccef12ada8494c56175cc0380b4cea18b6c0a368436f324a30e43a332db90bdfb83cd3a7987b71df359cdf931ce45b7daf35b677da56658565d61068e4bc20b + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: 10c0/e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729 + languageName: node + linkType: hard + +"is-builtin-module@npm:^1.0.0": + version: 1.0.0 + resolution: "is-builtin-module@npm:1.0.0" + dependencies: + builtin-modules: "npm:^1.0.0" + checksum: 10c0/4292d9255c7d8b02fb83b19a4a2512f4be2aefb537c65499f00453ebaed6d6cf88334d458c7d7dea93065c5b1d4ab42eca10c7a29d6b81d54b748265f78ec357 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^1.0.0": + version: 1.0.0 + resolution: "is-fullwidth-code-point@npm:1.0.0" + dependencies: + number-is-nan: "npm:^1.0.0" + checksum: 10c0/12acfcf16142f2d431bf6af25d68569d3198e81b9799b4ae41058247aafcc666b0127d64384ea28e67a746372611fcbe9b802f69175287aba466da3eddd5ba0f + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^2.0.0": + version: 2.0.0 + resolution: "is-fullwidth-code-point@npm:2.0.0" + checksum: 10c0/e58f3e4a601fc0500d8b2677e26e9fe0cd450980e66adb29d85b6addf7969731e38f8e43ed2ec868a09c101a55ac3d8b78902209269f38c5286bc98f5bc1b4d9 + languageName: node + linkType: hard + +"is-stream@npm:^1.1.0": + version: 1.1.0 + resolution: "is-stream@npm:1.1.0" + checksum: 10c0/b8ae7971e78d2e8488d15f804229c6eed7ed36a28f8807a1815938771f4adff0e705218b7dab968270433f67103e4fef98062a0beea55d64835f705ee72c7002 + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"lcid@npm:^1.0.0": + version: 1.0.0 + resolution: "lcid@npm:1.0.0" + dependencies: + invert-kv: "npm:^1.0.0" + checksum: 10c0/87fb32196c3c80458778f34f71c042e114f3134a3c86c0d60ee9c94f0750e467d7ca0c005a5224ffd9d49a6e449b5e5c31e1544f1827765a0ba8747298f5980e + languageName: node + linkType: hard + +"load-json-file@npm:^2.0.0": + version: 2.0.0 + resolution: "load-json-file@npm:2.0.0" + dependencies: + graceful-fs: "npm:^4.1.2" + parse-json: "npm:^2.2.0" + pify: "npm:^2.0.0" + strip-bom: "npm:^3.0.0" + checksum: 10c0/15cf1259361325fadfc54cd4ecc5d6729103c8873492001ba5473fb1ef753000f680c887db6c86fec69a4ede009efeb8c0c0c77b2a31bc54d2793767e25577c9 + languageName: node + linkType: hard + +"locate-path@npm:^2.0.0": + version: 2.0.0 + resolution: "locate-path@npm:2.0.0" + dependencies: + p-locate: "npm:^2.0.0" + path-exists: "npm:^3.0.0" + checksum: 10c0/24efa0e589be6aa3c469b502f795126b26ab97afa378846cb508174211515633b770aa0ba610cab113caedab8d2a4902b061a08aaed5297c12ab6f5be4df0133 + languageName: node + linkType: hard + +"lru-cache@npm:^4.0.1": + version: 4.1.1 + resolution: "lru-cache@npm:4.1.1" + dependencies: + pseudomap: "npm:^1.0.2" + yallist: "npm:^2.1.2" + checksum: 10c0/741c9e095650de03a62a21a15586a62951d1fa34d6d2ad255362a901e8704fd401a133b7b4beba6b9576d04f0aa16f4e7231da7d24f43f24a2f6c37be1e4a1cb + languageName: node + linkType: hard + +"mem@npm:^1.1.0": + version: 1.1.0 + resolution: "mem@npm:1.1.0" + dependencies: + mimic-fn: "npm:^1.0.0" + checksum: 10c0/f5150bb975a7d641375d3c1962426bf338952142a429ce01e9792b03df9b63d5911d3feb7e5e50f406531ace646f3fbe39b7dc716c729d617a28b3bbdc799649 + languageName: node + linkType: hard + +"mimic-fn@npm:^1.0.0": + version: 1.1.0 + resolution: "mimic-fn@npm:1.1.0" + checksum: 10c0/c01fd0f55a5701294828f10ef22e252d468f88eb8843051fe76168621b4f563bee635369d13ce1d39031734509d932a8530e1196d3608a4bd2349e155d2bcc60 + languageName: node + linkType: hard + +"normalize-package-data@npm:^2.3.2": + version: 2.4.0 + resolution: "normalize-package-data@npm:2.4.0" + dependencies: + hosted-git-info: "npm:^2.1.4" + is-builtin-module: "npm:^1.0.0" + semver: "npm:2 || 3 || 4 || 5" + validate-npm-package-license: "npm:^3.0.1" + checksum: 10c0/3590caade17a6ce16bfbc5a1bbaf1b60dd1d0e7dbe9b2bbf612b8b8df99cdf01e96cf448cf505bba438354972726aa70db16fa9734535cf362c2ba8502e350db + languageName: node + linkType: hard + +"npm-run-path@npm:^2.0.0": + version: 2.0.2 + resolution: "npm-run-path@npm:2.0.2" + dependencies: + path-key: "npm:^2.0.0" + checksum: 10c0/95549a477886f48346568c97b08c4fda9cdbf7ce8a4fbc2213f36896d0d19249e32d68d7451bdcbca8041b5fba04a6b2c4a618beaf19849505c05b700740f1de + languageName: node + linkType: hard + +"number-is-nan@npm:^1.0.0": + version: 1.0.1 + resolution: "number-is-nan@npm:1.0.1" + checksum: 10c0/cb97149006acc5cd512c13c1838223abdf202e76ddfa059c5e8e7507aff2c3a78cd19057516885a2f6f5b576543dc4f7b6f3c997cc7df53ae26c260855466df5 + languageName: node + linkType: hard + +"os-locale@npm:^2.0.0": + version: 2.1.0 + resolution: "os-locale@npm:2.1.0" + dependencies: + execa: "npm:^0.7.0" + lcid: "npm:^1.0.0" + mem: "npm:^1.1.0" + checksum: 10c0/6f1acc060552a59f477ab541e9149a712f93a4d7b5262d070698dbe98cf047f35c7685d759a86dc56c12b76fdfbab1bf7216a74232263efbe7365de2a5d70834 + languageName: node + linkType: hard + +"p-finally@npm:^1.0.0": + version: 1.0.0 + resolution: "p-finally@npm:1.0.0" + checksum: 10c0/6b8552339a71fe7bd424d01d8451eea92d379a711fc62f6b2fe64cad8a472c7259a236c9a22b4733abca0b5666ad503cb497792a0478c5af31ded793d00937e7 + languageName: node + linkType: hard + +"p-limit@npm:^1.1.0": + version: 1.1.0 + resolution: "p-limit@npm:1.1.0" + checksum: 10c0/18b6aef244ccd4c46c53b6aa0daccefb1993bfc77c99cd3280a715c394d354a71e0df21ed9f9646dd35523e6e548a5ca498def8ae2936ed264605967ec927fd7 + languageName: node + linkType: hard + +"p-locate@npm:^2.0.0": + version: 2.0.0 + resolution: "p-locate@npm:2.0.0" + dependencies: + p-limit: "npm:^1.1.0" + checksum: 10c0/82da4be88fb02fd29175e66021610c881938d3cc97c813c71c1a605fac05617d57fd5d3b337494a6106c0edb2a37c860241430851411f1b265108cead34aee67 + languageName: node + linkType: hard + +"parse-json@npm:^2.2.0": + version: 2.2.0 + resolution: "parse-json@npm:2.2.0" + dependencies: + error-ex: "npm:^1.2.0" + checksum: 10c0/7a90132aa76016f518a3d5d746a21b3f1ad0f97a68436ed71b6f995b67c7151141f5464eea0c16c59aec9b7756519a0e3007a8f98cf3714632d509ec07736df6 + languageName: node + linkType: hard + +"path-exists@npm:^3.0.0": + version: 3.0.0 + resolution: "path-exists@npm:3.0.0" + checksum: 10c0/17d6a5664bc0a11d48e2b2127d28a0e58822c6740bde30403f08013da599182289c56518bec89407e3f31d3c2b6b296a4220bc3f867f0911fee6952208b04167 + languageName: node + linkType: hard + +"path-key@npm:^2.0.0": + version: 2.0.1 + resolution: "path-key@npm:2.0.1" + checksum: 10c0/dd2044f029a8e58ac31d2bf34c34b93c3095c1481942960e84dd2faa95bbb71b9b762a106aead0646695330936414b31ca0bd862bf488a937ad17c8c5d73b32b + languageName: node + linkType: hard + +"path-type@npm:^2.0.0": + version: 2.0.0 + resolution: "path-type@npm:2.0.0" + dependencies: + pify: "npm:^2.0.0" + checksum: 10c0/e475cead839e65a2f8fdde634b24a4116b49daea3917470552e19d49c63e59ef17963bec2f57df2c72a85fcd1f86c8850d9742e68dba9c9c8d9bcac38bab03d6 + languageName: node + linkType: hard + +"pify@npm:^2.0.0": + version: 2.3.0 + resolution: "pify@npm:2.3.0" + checksum: 10c0/551ff8ab830b1052633f59cb8adc9ae8407a436e06b4a9718bcb27dc5844b83d535c3a8512b388b6062af65a98c49bdc0dd523d8b2617b188f7c8fee457158dc + languageName: node + linkType: hard + +"pseudomap@npm:^1.0.2": + version: 1.0.2 + resolution: "pseudomap@npm:1.0.2" + checksum: 10c0/5a91ce114c64ed3a6a553aa7d2943868811377388bb31447f9d8028271bae9b05b340fe0b6961a64e45b9c72946aeb0a4ab635e8f7cb3715ffd0ff2beeb6a679 + languageName: node + linkType: hard + +"react-native-version-up@workspace:.": + version: 0.0.0-use.local + resolution: "react-native-version-up@workspace:." + dependencies: + chalk: "npm:2.0.1" + child_process: "npm:1.0.2" + fs: "npm:0.0.1-security" + readline-sync: "npm:1.4.7" + yargs: "npm:8.0.2" + yarn: "npm:1.22.0" + languageName: unknown + linkType: soft + +"read-pkg-up@npm:^2.0.0": + version: 2.0.0 + resolution: "read-pkg-up@npm:2.0.0" + dependencies: + find-up: "npm:^2.0.0" + read-pkg: "npm:^2.0.0" + checksum: 10c0/6fbb9f8c1a9ed3c8a5764387a77ac4456082f1fe98757d1ed300d8b0a4c70501f28cbb053ae7b3e0de6094930fb7258fbfe099957a53c999337aaf8bc53ff37f + languageName: node + linkType: hard + +"read-pkg@npm:^2.0.0": + version: 2.0.0 + resolution: "read-pkg@npm:2.0.0" + dependencies: + load-json-file: "npm:^2.0.0" + normalize-package-data: "npm:^2.3.2" + path-type: "npm:^2.0.0" + checksum: 10c0/c0d1b66c58e58fadaabe48c83c525fb1966304555e5089fab5ccce2c3dfe0fad726720b170a5fa23ff20452e22d1dbe817f5c63f03546bb85cbfb6b84da84c2b + languageName: node + linkType: hard + +"readline-sync@npm:1.4.7": + version: 1.4.7 + resolution: "readline-sync@npm:1.4.7" + checksum: 10c0/a8a607a3c9eb88f2b60c9f3b65010630882db944e34e578c38d0206797a7832cc9ed49c58bc42faf687ecf0cefe73c4bd43035b212dfffefc003a26f67a078e5 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + languageName: node + linkType: hard + +"require-main-filename@npm:^1.0.1": + version: 1.0.1 + resolution: "require-main-filename@npm:1.0.1" + checksum: 10c0/1ab87efb72a0e223a667154e92f29ca753fd42eb87f22db142b91c86d134e29ecf18af929111ccd255fd340b57d84a9d39489498d8dfd5136b300ded30a5f0b6 + languageName: node + linkType: hard + +"semver@npm:2 || 3 || 4 || 5": + version: 5.4.1 + resolution: "semver@npm:5.4.1" + bin: + semver: ./bin/semver + checksum: 10c0/38122c0861f58ec18371352e079fc9de154649546126be4e23c6fb0fa4ec48dd9d59eabf2796c2fab7314911b66b306a047b6c9b6137989fd946528e0ea682db + languageName: node + linkType: hard + +"set-blocking@npm:^2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 10c0/9f8c1b2d800800d0b589de1477c753492de5c1548d4ade52f57f1d1f5e04af5481554d75ce5e5c43d4004b80a3eb714398d6907027dc0534177b7539119f4454 + languageName: node + linkType: hard + +"shebang-command@npm:^1.2.0": + version: 1.2.0 + resolution: "shebang-command@npm:1.2.0" + dependencies: + shebang-regex: "npm:^1.0.0" + checksum: 10c0/7b20dbf04112c456b7fc258622dafd566553184ac9b6938dd30b943b065b21dabd3776460df534cc02480db5e1b6aec44700d985153a3da46e7db7f9bd21326d + languageName: node + linkType: hard + +"shebang-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "shebang-regex@npm:1.0.0" + checksum: 10c0/9abc45dee35f554ae9453098a13fdc2f1730e525a5eb33c51f096cc31f6f10a4b38074c1ebf354ae7bffa7229506083844008dfc3bb7818228568c0b2dc1fff2 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.0": + version: 3.0.2 + resolution: "signal-exit@npm:3.0.2" + checksum: 10c0/74ce7a3128388320ee098a773ee10db107b3e103ce0f6ef0a07815f23f5df552d6f1ba78c5d07d225467f68e008355579347c31fdd5d7bc913298b7635c70331 + languageName: node + linkType: hard + +"spdx-correct@npm:~1.0.0": + version: 1.0.2 + resolution: "spdx-correct@npm:1.0.2" + dependencies: + spdx-license-ids: "npm:^1.0.2" + checksum: 10c0/ea35a9f1d7badfbf24fa32f28cebaa8df21242c963ea791bf342637558576c32133b73a63b9c065cb3755f427657e8b3375c803f7f5693f0b69ce0505cc593cb + languageName: node + linkType: hard + +"spdx-expression-parse@npm:~1.0.0": + version: 1.0.4 + resolution: "spdx-expression-parse@npm:1.0.4" + checksum: 10c0/1244864beca580fb7840d34cacc4bf4c09d74679c3f2acca00bce76f086469a8c737508f5c383a201d31711c4ba6218ed5f42a1d89e884375315dba6b591ceda + languageName: node + linkType: hard + +"spdx-license-ids@npm:^1.0.2": + version: 1.2.2 + resolution: "spdx-license-ids@npm:1.2.2" + checksum: 10c0/7b4e4e911f9a0ffbb9cb85218c4240dadaf076bb15918319c406ed32d72e62e747edc366aa70450f53e0cc0b5266a081c23662fbe94cb4eac7f3b1c48a4d6cee + languageName: node + linkType: hard + +"string-width@npm:^1.0.1": + version: 1.0.2 + resolution: "string-width@npm:1.0.2" + dependencies: + code-point-at: "npm:^1.0.0" + is-fullwidth-code-point: "npm:^1.0.0" + strip-ansi: "npm:^3.0.0" + checksum: 10c0/c558438baed23a9ab9370bb6a939acbdb2b2ffc517838d651aad0f5b2b674fb85d460d9b1d0b6a4c210dffd09e3235222d89a5bd4c0c1587f78b2bb7bc00c65e + languageName: node + linkType: hard + +"string-width@npm:^2.0.0": + version: 2.1.1 + resolution: "string-width@npm:2.1.1" + dependencies: + is-fullwidth-code-point: "npm:^2.0.0" + strip-ansi: "npm:^4.0.0" + checksum: 10c0/e5f2b169fcf8a4257a399f95d069522f056e92ec97dbdcb9b0cdf14d688b7ca0b1b1439a1c7b9773cd79446cbafd582727279d6bfdd9f8edd306ea5e90e5b610 + languageName: node + linkType: hard + +"strip-ansi@npm:^3.0.0, strip-ansi@npm:^3.0.1": + version: 3.0.1 + resolution: "strip-ansi@npm:3.0.1" + dependencies: + ansi-regex: "npm:^2.0.0" + checksum: 10c0/f6e7fbe8e700105dccf7102eae20e4f03477537c74b286fd22cfc970f139002ed6f0d9c10d0e21aa9ed9245e0fa3c9275930e8795c5b947da136e4ecb644a70f + languageName: node + linkType: hard + +"strip-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-ansi@npm:4.0.0" + dependencies: + ansi-regex: "npm:^3.0.0" + checksum: 10c0/d75d9681e0637ea316ddbd7d4d3be010b1895a17e885155e0ed6a39755ae0fd7ef46e14b22162e66a62db122d3a98ab7917794e255532ab461bb0a04feb03e7d + languageName: node + linkType: hard + +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 + languageName: node + linkType: hard + +"strip-eof@npm:^1.0.0": + version: 1.0.0 + resolution: "strip-eof@npm:1.0.0" + checksum: 10c0/f336beed8622f7c1dd02f2cbd8422da9208fae81daf184f73656332899978919d5c0ca84dc6cfc49ad1fc4dd7badcde5412a063cf4e0d7f8ed95a13a63f68f45 + languageName: node + linkType: hard + +"supports-color@npm:^4.0.0": + version: 4.2.1 + resolution: "supports-color@npm:4.2.1" + dependencies: + has-flag: "npm:^2.0.0" + checksum: 10c0/fbca1d777291b5c821686760f39d1ce59f727de16d1e9fcee5cfc7c9049c682f5d8286c610ad33700dba76dfccb110bd92231b7f008b491fac756bd5650be096 + languageName: node + linkType: hard + +"validate-npm-package-license@npm:^3.0.1": + version: 3.0.1 + resolution: "validate-npm-package-license@npm:3.0.1" + dependencies: + spdx-correct: "npm:~1.0.0" + spdx-expression-parse: "npm:~1.0.0" + checksum: 10c0/a12c310b7d7e65663fbd984b1b155466ff24893238475f68c5e7a73d0497d3fc9d43ddff2552d2106fe7a867b23d45c654b41036e3be32e083e88d36215ad41d + languageName: node + linkType: hard + +"which-module@npm:^2.0.0": + version: 2.0.0 + resolution: "which-module@npm:2.0.0" + checksum: 10c0/946ffdbcd6f0cf517638f8f2319c6d51e528c3b41bc2c0f5dc3dc46047347abd7326aea5cdf5def0a8b32bdca313ac87a32ce5a76b943fe1ca876c4557e6b716 + languageName: node + linkType: hard + +"which@npm:^1.2.9": + version: 1.2.14 + resolution: "which@npm:1.2.14" + dependencies: + isexe: "npm:^2.0.0" + bin: + which: ./bin/which + checksum: 10c0/307d72767a0f1fd6bf2cfe5545f8738e5c840ddd3cad3a8c85694a9437e9fbd2a570b8007807a4028fb84c495ba8f21d2d43a4372eb551c6f4fdaa63839097bf + languageName: node + linkType: hard + +"wrap-ansi@npm:^2.0.0": + version: 2.1.0 + resolution: "wrap-ansi@npm:2.1.0" + dependencies: + string-width: "npm:^1.0.1" + strip-ansi: "npm:^3.0.1" + checksum: 10c0/1a47367eef192fc9ecaf00238bad5de8987c3368082b619ab36c5e2d6d7b0a2aef95a2ca65840be598c56ced5090a3ba487956c7aee0cac7c45017502fa980fb + languageName: node + linkType: hard + +"y18n@npm:^3.2.1": + version: 3.2.1 + resolution: "y18n@npm:3.2.1" + checksum: 10c0/716141637555637feb80a52d963bdecdb1b081b7aa3ae5cc19bedd51721d08e33f06288bcecea44a1e17d4c116b7580aef8828cad1639486e799ce1f542af1f1 + languageName: node + linkType: hard + +"yallist@npm:^2.1.2": + version: 2.1.2 + resolution: "yallist@npm:2.1.2" + checksum: 10c0/0b9e25aa00adf19e01d2bcd4b208aee2b0db643d9927131797b7af5ff69480fc80f1c3db738cbf3946f0bddf39d8f2d0a5709c644fd42d4aa3a4e6e786c087b5 + languageName: node + linkType: hard + +"yargs-parser@npm:^7.0.0": + version: 7.0.0 + resolution: "yargs-parser@npm:7.0.0" + dependencies: + camelcase: "npm:^4.1.0" + checksum: 10c0/6fde2df522dd071cf76308fe4e37fd2fb8eae3eb1fb6c6759c2d448264c8451162649eb8558ac8d83aff79278cabfddc17ecba3e1a0d0fe2e406cf4e1bc95b0d + languageName: node + linkType: hard + +"yargs@npm:8.0.2": + version: 8.0.2 + resolution: "yargs@npm:8.0.2" + dependencies: + camelcase: "npm:^4.1.0" + cliui: "npm:^3.2.0" + decamelize: "npm:^1.1.1" + get-caller-file: "npm:^1.0.1" + os-locale: "npm:^2.0.0" + read-pkg-up: "npm:^2.0.0" + require-directory: "npm:^2.1.1" + require-main-filename: "npm:^1.0.1" + set-blocking: "npm:^2.0.0" + string-width: "npm:^2.0.0" + which-module: "npm:^2.0.0" + y18n: "npm:^3.2.1" + yargs-parser: "npm:^7.0.0" + checksum: 10c0/70e4ed99e3f1e8a034d0b600773db9fb44e03ec88cfa7125fc65a965428051ad59e77c074afa1afcbe3ec34436d3a6e7ba18b3ec62b4e5f59f30606df791b125 + languageName: node + linkType: hard + +"yarn@npm:1.22.0": + version: 1.22.0 + resolution: "yarn@npm:1.22.0" + bin: + yarn: ./bin/yarn.js + yarnpkg: ./bin/yarn.js + checksum: 10c0/421f1934b4c1b6edcc023fea0579cf5ac8611678a069ebd423ef563fc5794670a1c1e2ab9e711e20931d2c64afaa08680434665a165f3ab670a44e366ef31e1d + languageName: node + linkType: hard