From 84bf51b6848bdcdea4703cd76f31ebc88beaf5d0 Mon Sep 17 00:00:00 2001 From: Daniel Steigerwald Date: Wed, 29 May 2024 16:17:23 +0200 Subject: [PATCH] Update pnpm patch --- package.json | 2 +- ...ngesets__assemble-release-plan@6.0.1.patch | 1669 ----------------- ...ngesets__assemble-release-plan@6.0.2.patch | 42 + pnpm-lock.yaml | 226 ++- 4 files changed, 166 insertions(+), 1773 deletions(-) delete mode 100644 patches/@changesets__assemble-release-plan@6.0.1.patch create mode 100644 patches/@changesets__assemble-release-plan@6.0.2.patch diff --git a/package.json b/package.json index 7d5a248fb..a55fa0cf2 100755 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "flexsearch": "0.7.31" }, "patchedDependencies": { - "@changesets/assemble-release-plan@6.0.1": "patches/@changesets__assemble-release-plan@6.0.1.patch" + "@changesets/assemble-release-plan@6.0.2": "patches/@changesets__assemble-release-plan@6.0.2.patch" } } } diff --git a/patches/@changesets__assemble-release-plan@6.0.1.patch b/patches/@changesets__assemble-release-plan@6.0.1.patch deleted file mode 100644 index af946a793..000000000 --- a/patches/@changesets__assemble-release-plan@6.0.1.patch +++ /dev/null @@ -1,1669 +0,0 @@ -diff --git a/dist/changesets-assemble-release-plan.cjs.js b/dist/changesets-assemble-release-plan.cjs.js -index 60427457c887f2d72168fecec83d79088c68e3a4..394d607a3c56d6f5142bc4a9db1bb6dfac41f540 100644 ---- a/dist/changesets-assemble-release-plan.cjs.js -+++ b/dist/changesets-assemble-release-plan.cjs.js -@@ -1,26 +1,30 @@ --'use strict'; -+"use strict"; - --Object.defineProperty(exports, '__esModule', { value: true }); -+Object.defineProperty(exports, "__esModule", { value: true }); - --var _objectSpread = require('@babel/runtime/helpers/objectSpread2'); --var errors = require('@changesets/errors'); --var getDependentsGraph = require('@changesets/get-dependents-graph'); --var shouldSkipPackage = require('@changesets/should-skip-package'); --var semverParse = require('semver/functions/parse'); --var semverGt = require('semver/functions/gt'); --var semverSatisfies = require('semver/functions/satisfies'); --var semverInc = require('semver/functions/inc'); -+var _objectSpread = require("@babel/runtime/helpers/objectSpread2"); -+var errors = require("@changesets/errors"); -+var getDependentsGraph = require("@changesets/get-dependents-graph"); -+var shouldSkipPackage = require("@changesets/should-skip-package"); -+var semverParse = require("semver/functions/parse"); -+var semverGt = require("semver/functions/gt"); -+var semverSatisfies = require("semver/functions/satisfies"); -+var semverInc = require("semver/functions/inc"); - --function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; } -+function _interopDefault(e) { -+ return e && e.__esModule ? e : { default: e }; -+} - --var semverParse__default = /*#__PURE__*/_interopDefault(semverParse); --var semverGt__default = /*#__PURE__*/_interopDefault(semverGt); --var semverSatisfies__default = /*#__PURE__*/_interopDefault(semverSatisfies); --var semverInc__default = /*#__PURE__*/_interopDefault(semverInc); -+var semverParse__default = /*#__PURE__*/ _interopDefault(semverParse); -+var semverGt__default = /*#__PURE__*/ _interopDefault(semverGt); -+var semverSatisfies__default = /*#__PURE__*/ _interopDefault(semverSatisfies); -+var semverInc__default = /*#__PURE__*/ _interopDefault(semverInc); - - function getHighestReleaseType(releases) { - if (releases.length === 0) { -- throw new Error(`Large internal Changesets error when calculating highest release type in the set of releases. Please contact the maintainers`); -+ throw new Error( -+ `Large internal Changesets error when calculating highest release type in the set of releases. Please contact the maintainers` -+ ); - } - - let highestReleaseType = "none"; -@@ -52,11 +56,16 @@ function getCurrentHighestVersion(packageGroup, packagesByName) { - let pkg = packagesByName.get(pkgName); - - if (!pkg) { -- console.error(`FATAL ERROR IN CHANGESETS! We were unable to version for package group: ${pkgName} in package group: ${packageGroup.toString()}`); -+ console.error( -+ `FATAL ERROR IN CHANGESETS! We were unable to version for package group: ${pkgName} in package group: ${packageGroup.toString()}` -+ ); - throw new Error(`fatal: could not resolve linked packages`); - } - -- if (highestVersion === undefined || semverGt__default["default"](pkg.packageJson.version, highestVersion)) { -+ if ( -+ highestVersion === undefined || -+ semverGt__default["default"](pkg.packageJson.version, highestVersion) -+ ) { - highestVersion = pkg.packageJson.version; - } - } -@@ -82,12 +91,18 @@ function applyLinks(releases, packagesByName, linked) { - - for (let linkedPackages of linked) { - // First we filter down to all the relevant releases for one set of linked packages -- let releasingLinkedPackages = [...releases.values()].filter(release => linkedPackages.includes(release.name) && release.type !== "none"); // If we proceed any further we do extra work with calculating highestVersion for things that might -+ let releasingLinkedPackages = [...releases.values()].filter( -+ (release) => -+ linkedPackages.includes(release.name) && release.type !== "none" -+ ); // If we proceed any further we do extra work with calculating highestVersion for things that might - // not need one, as they only have workspace based packages - - if (releasingLinkedPackages.length === 0) continue; - let highestReleaseType = getHighestReleaseType(releasingLinkedPackages); -- let highestVersion = getCurrentHighestVersion(linkedPackages, packagesByName); // Finally, we update the packages so all of them are on the highest version -+ let highestVersion = getCurrentHighestVersion( -+ linkedPackages, -+ packagesByName -+ ); // Finally, we update the packages so all of them are on the highest version - - for (let linkedPackage of releasingLinkedPackages) { - if (linkedPackage.type !== highestReleaseType) { -@@ -116,11 +131,12 @@ function incrementVersion(release, preInfo) { - let preVersion = preInfo.preVersions.get(release.name); - - if (preVersion === undefined) { -- throw new errors.InternalError(`preVersion for ${release.name} does not exist when preState is defined`); -+ throw new errors.InternalError( -+ `preVersion for ${release.name} does not exist when preState is defined` -+ ); - } // why are we adding this ourselves rather than passing 'pre' + versionType to semver.inc? - // because semver.inc with prereleases is confusing and this seems easier - -- - version += `-${preInfo.state.tag}.${preVersion}`; - } - -@@ -144,7 +160,7 @@ function determineDependents({ - packagesByName, - dependencyGraph, - preInfo, -- config -+ config, - }) { - let updated = false; // NOTE this is intended to be called recursively - -@@ -158,96 +174,101 @@ function determineDependents({ - const pkgDependents = dependencyGraph.get(nextRelease.name); - - if (!pkgDependents) { -- throw new Error(`Error in determining dependents - could not find package in repository: ${nextRelease.name}`); -+ throw new Error( -+ `Error in determining dependents - could not find package in repository: ${nextRelease.name}` -+ ); - } - -- pkgDependents.map(dependent => { -- let type; -- const dependentPackage = packagesByName.get(dependent); -- if (!dependentPackage) throw new Error("Dependency map is incorrect"); -- -- if (shouldSkipPackage.shouldSkipPackage(dependentPackage, { -- ignore: config.ignore, -- allowPrivatePackages: config.privatePackages.version -- })) { -- type = "none"; -- } else { -- const dependencyVersionRanges = getDependencyVersionRanges(dependentPackage.packageJson, nextRelease); -- -- for (const { -- depType, -- versionRange -- } of dependencyVersionRanges) { -- if (nextRelease.type === "none") { -- continue; -- } else if (shouldBumpMajor({ -- dependent, -- depType, -- versionRange, -- releases, -- nextRelease, -- preInfo, -- onlyUpdatePeerDependentsWhenOutOfRange: config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.onlyUpdatePeerDependentsWhenOutOfRange -- })) { -- type = "major"; -- } else if ((!releases.has(dependent) || releases.get(dependent).type === "none") && (config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.updateInternalDependents === "always" || !semverSatisfies__default["default"](incrementVersion(nextRelease, preInfo), versionRange))) { -- switch (depType) { -- case "dependencies": -- case "optionalDependencies": -- case "peerDependencies": -- if (type !== "major" && type !== "minor") { -- type = "patch"; -- } -+ pkgDependents -+ .map((dependent) => { -+ let type; -+ const dependentPackage = packagesByName.get(dependent); -+ if (!dependentPackage) throw new Error("Dependency map is incorrect"); -+ -+ if ( -+ shouldSkipPackage.shouldSkipPackage(dependentPackage, { -+ ignore: config.ignore, -+ allowPrivatePackages: config.privatePackages.version, -+ }) -+ ) { -+ type = "none"; -+ } else { -+ const dependencyVersionRanges = getDependencyVersionRanges( -+ dependentPackage.packageJson, -+ nextRelease -+ ); -+ -+ for (const { depType, versionRange } of dependencyVersionRanges) { -+ if (nextRelease.type === "none") { -+ continue; -+ } else if ( -+ (!releases.has(dependent) || -+ releases.get(dependent).type === "none") && -+ (config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH -+ .updateInternalDependents === "always" || -+ !semverSatisfies__default["default"]( -+ incrementVersion(nextRelease, preInfo), -+ versionRange -+ )) -+ ) { -+ switch (depType) { -+ case "dependencies": -+ case "optionalDependencies": -+ case "peerDependencies": -+ if (type !== "major" && type !== "minor") { -+ type = "patch"; -+ } - -- break; -+ break; - -- case "devDependencies": -- { -+ case "devDependencies": { - // We don't need a version bump if the package is only in the devDependencies of the dependent package -- if (type !== "major" && type !== "minor" && type !== "patch") { -+ if ( -+ type !== "major" && -+ type !== "minor" && -+ type !== "patch" -+ ) { - type = "none"; - } - } -+ } - } - } - } -- } - -- if (releases.has(dependent) && releases.get(dependent).type === type) { -- type = undefined; -- } -+ if (releases.has(dependent) && releases.get(dependent).type === type) { -+ type = undefined; -+ } - -- return { -- name: dependent, -- type, -- pkgJSON: dependentPackage.packageJson -- }; -- }).filter(dependentItem => !!dependentItem.type).forEach(({ -- name, -- type, -- pkgJSON -- }) => { -- // At this point, we know if we are making a change -- updated = true; -- const existing = releases.get(name); // For things that are being given a major bump, we check if we have already -- // added them here. If we have, we update the existing item instead of pushing it on to search. -- // It is safe to not add it to pkgsToSearch because it should have already been searched at the -- // largest possible bump type. -- -- if (existing && type === "major" && existing.type !== "major") { -- existing.type = "major"; -- pkgsToSearch.push(existing); -- } else { -- let newDependent = { -- name, -+ return { -+ name: dependent, - type, -- oldVersion: pkgJSON.version, -- changesets: [] -+ pkgJSON: dependentPackage.packageJson, - }; -- pkgsToSearch.push(newDependent); -- releases.set(name, newDependent); -- } -- }); -+ }) -+ .filter((dependentItem) => !!dependentItem.type) -+ .forEach(({ name, type, pkgJSON }) => { -+ // At this point, we know if we are making a change -+ updated = true; -+ const existing = releases.get(name); // For things that are being given a major bump, we check if we have already -+ // added them here. If we have, we update the existing item instead of pushing it on to search. -+ // It is safe to not add it to pkgsToSearch because it should have already been searched at the -+ // largest possible bump type. -+ -+ if (existing && type === "major" && existing.type !== "major") { -+ existing.type = "major"; -+ pkgsToSearch.push(existing); -+ } else { -+ let newDependent = { -+ name, -+ type, -+ oldVersion: pkgJSON.version, -+ changesets: [], -+ }; -+ pkgsToSearch.push(newDependent); -+ releases.set(name, newDependent); -+ } -+ }); - } - - return updated; -@@ -259,27 +280,38 @@ function determineDependents({ - */ - - function getDependencyVersionRanges(dependentPkgJSON, dependencyRelease) { -- const DEPENDENCY_TYPES = ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"]; -+ const DEPENDENCY_TYPES = [ -+ "dependencies", -+ "devDependencies", -+ "peerDependencies", -+ "optionalDependencies", -+ ]; - const dependencyVersionRanges = []; - - for (const type of DEPENDENCY_TYPES) { - var _dependentPkgJSON$typ; - -- const versionRange = (_dependentPkgJSON$typ = dependentPkgJSON[type]) === null || _dependentPkgJSON$typ === void 0 ? void 0 : _dependentPkgJSON$typ[dependencyRelease.name]; -+ const versionRange = -+ (_dependentPkgJSON$typ = dependentPkgJSON[type]) === null || -+ _dependentPkgJSON$typ === void 0 -+ ? void 0 -+ : _dependentPkgJSON$typ[dependencyRelease.name]; - if (!versionRange) continue; - - if (versionRange.startsWith("workspace:")) { - dependencyVersionRanges.push({ - depType: type, -- versionRange: // intentionally keep other workspace ranges untouched -- // this has to be fixed but this should only be done when adding appropriate tests -- versionRange === "workspace:*" ? // workspace:* actually means the current exact version, and not a wildcard similar to a reguler * range -- dependencyRelease.oldVersion : versionRange.replace(/^workspace:/, "") -+ // intentionally keep other workspace ranges untouched -+ versionRange: -+ // this has to be fixed but this should only be done when adding appropriate tests -+ versionRange === "workspace:*" // workspace:* actually means the current exact version, and not a wildcard similar to a reguler * range -+ ? dependencyRelease.oldVersion -+ : versionRange.replace(/^workspace:/, ""), - }); - } else { - dependencyVersionRanges.push({ - depType: type, -- versionRange -+ versionRange, - }); - } - } -@@ -294,57 +326,70 @@ function shouldBumpMajor({ - releases, - nextRelease, - preInfo, -- onlyUpdatePeerDependentsWhenOutOfRange -+ onlyUpdatePeerDependentsWhenOutOfRange, - }) { - // we check if it is a peerDependency because if it is, our dependent bump type might need to be major. -- return depType === "peerDependencies" && nextRelease.type !== "none" && nextRelease.type !== "patch" && ( // 1. If onlyUpdatePeerDependentsWhenOutOfRange set to true, bump major if the version is leaving the range. -- // 2. If onlyUpdatePeerDependentsWhenOutOfRange set to false, bump major regardless whether or not the version is leaving the range. -- !onlyUpdatePeerDependentsWhenOutOfRange || !semverSatisfies__default["default"](incrementVersion(nextRelease, preInfo), versionRange)) && ( // bump major only if the dependent doesn't already has a major release. -- !releases.has(dependent) || releases.has(dependent) && releases.get(dependent).type !== "major"); -+ return ( -+ depType === "peerDependencies" && -+ nextRelease.type !== "none" && -+ nextRelease.type !== "patch" && // 1. If onlyUpdatePeerDependentsWhenOutOfRange set to true, bump major if the version is leaving the range. -+ // 2. If onlyUpdatePeerDependentsWhenOutOfRange set to false, bump major regardless whether or not the version is leaving the range. -+ (!onlyUpdatePeerDependentsWhenOutOfRange || -+ !semverSatisfies__default["default"]( -+ incrementVersion(nextRelease, preInfo), -+ versionRange -+ )) && // bump major only if the dependent doesn't already has a major release. -+ (!releases.has(dependent) || -+ (releases.has(dependent) && releases.get(dependent).type !== "major")) -+ ); - } - - // This function takes in changesets and returns one release per - function flattenReleases(changesets, packagesByName, config) { - let releases = new Map(); -- changesets.forEach(changeset => { -+ changesets.forEach((changeset) => { - changeset.releases // Filter out skipped packages because they should not trigger a release -- // If their dependencies need updates, they will be added to releases by `determineDependents()` with release type `none` -- .filter(({ -- name -- }) => !shouldSkipPackage.shouldSkipPackage(packagesByName.get(name), { -- ignore: config.ignore, -- allowPrivatePackages: config.privatePackages.version -- })).forEach(({ -- name, -- type -- }) => { -- let release = releases.get(name); -- let pkg = packagesByName.get(name); -- -- if (!pkg) { -- throw new Error(`"${changeset.id}" changeset mentions a release for a package "${name}" but such a package could not be found.`); -- } -- -- if (!release) { -- release = { -- name, -- type, -- oldVersion: pkg.packageJson.version, -- changesets: [changeset.id] -- }; -- } else { -- if (type === "major" || (release.type === "patch" || release.type === "none") && (type === "minor" || type === "patch")) { -- release.type = type; -- } // Check whether the bumpType will change -- // If the bumpType has changed recalc newVersion -- // push new changeset to releases -- -+ // If their dependencies need updates, they will be added to releases by `determineDependents()` with release type `none` -+ .filter( -+ ({ name }) => -+ !shouldSkipPackage.shouldSkipPackage(packagesByName.get(name), { -+ ignore: config.ignore, -+ allowPrivatePackages: config.privatePackages.version, -+ }) -+ ) -+ .forEach(({ name, type }) => { -+ let release = releases.get(name); -+ let pkg = packagesByName.get(name); -+ -+ if (!pkg) { -+ throw new Error( -+ `"${changeset.id}" changeset mentions a release for a package "${name}" but such a package could not be found.` -+ ); -+ } - -- release.changesets.push(changeset.id); -- } -+ if (!release) { -+ release = { -+ name, -+ type, -+ oldVersion: pkg.packageJson.version, -+ changesets: [changeset.id], -+ }; -+ } else { -+ if ( -+ type === "major" || -+ ((release.type === "patch" || release.type === "none") && -+ (type === "minor" || type === "patch")) -+ ) { -+ release.type = type; -+ } // Check whether the bumpType will change -+ // If the bumpType has changed recalc newVersion -+ // push new changeset to releases -+ -+ release.changesets.push(changeset.id); -+ } - -- releases.set(name, release); -- }); -+ releases.set(name, release); -+ }); - }); - return releases; - } -@@ -353,16 +398,24 @@ function matchFixedConstraint(releases, packagesByName, config) { - let updated = false; - - for (let fixedPackages of config.fixed) { -- let releasingFixedPackages = [...releases.values()].filter(release => fixedPackages.includes(release.name) && release.type !== "none"); -+ let releasingFixedPackages = [...releases.values()].filter( -+ (release) => -+ fixedPackages.includes(release.name) && release.type !== "none" -+ ); - if (releasingFixedPackages.length === 0) continue; - let highestReleaseType = getHighestReleaseType(releasingFixedPackages); -- let highestVersion = getCurrentHighestVersion(fixedPackages, packagesByName); // Finally, we update the packages so all of them are on the highest version -+ let highestVersion = getCurrentHighestVersion( -+ fixedPackages, -+ packagesByName -+ ); // Finally, we update the packages so all of them are on the highest version - - for (let pkgName of fixedPackages) { -- if (shouldSkipPackage.shouldSkipPackage(packagesByName.get(pkgName), { -- ignore: config.ignore, -- allowPrivatePackages: config.privatePackages.version -- })) { -+ if ( -+ shouldSkipPackage.shouldSkipPackage(packagesByName.get(pkgName), { -+ ignore: config.ignore, -+ allowPrivatePackages: config.privatePackages.version, -+ }) -+ ) { - continue; - } - -@@ -374,7 +427,7 @@ function matchFixedConstraint(releases, packagesByName, config) { - name: pkgName, - type: highestReleaseType, - oldVersion: highestVersion, -- changesets: [] -+ changesets: [], - }); - continue; - } -@@ -396,7 +449,8 @@ function matchFixedConstraint(releases, packagesByName, config) { - - function getPreVersion(version) { - let parsed = semverParse__default["default"](version); -- let preVersion = parsed.prerelease[1] === undefined ? -1 : parsed.prerelease[1]; -+ let preVersion = -+ parsed.prerelease[1] === undefined ? -1 : parsed.prerelease[1]; - - if (typeof preVersion !== "number") { - throw new errors.InternalError("preVersion is not a number"); -@@ -412,18 +466,25 @@ function getSnapshotSuffix(template, snapshotParameters) { - commit: snapshotParameters.commit, - tag: snapshotParameters.tag, - timestamp: snapshotRefDate.getTime().toString(), -- datetime: snapshotRefDate.toISOString().replace(/\.\d{3}Z$/, "").replace(/[^\d]/g, "") -+ datetime: snapshotRefDate -+ .toISOString() -+ .replace(/\.\d{3}Z$/, "") -+ .replace(/[^\d]/g, ""), - }; // We need a special handling because we need to handle a case where `--snapshot` is used without any template, - // and the resulting version needs to be composed without a tag. - - if (!template) { -- return [placeholderValues.tag, placeholderValues.datetime].filter(Boolean).join("-"); -+ return [placeholderValues.tag, placeholderValues.datetime] -+ .filter(Boolean) -+ .join("-"); - } - - const placeholders = Object.keys(placeholderValues); - - if (!template.includes(`{tag}`) && placeholderValues.tag !== undefined) { -- throw new Error(`Failed to compose snapshot version: "{tag}" placeholder is missing, but the snapshot parameter is defined (value: '${placeholderValues.tag}')`); -+ throw new Error( -+ `Failed to compose snapshot version: "{tag}" placeholder is missing, but the snapshot parameter is defined (value: '${placeholderValues.tag}')` -+ ); - } - - return placeholders.reduce((prev, key) => { -@@ -431,7 +492,9 @@ function getSnapshotSuffix(template, snapshotParameters) { - const value = placeholderValues[key]; - - if (value === undefined) { -- throw new Error(`Failed to compose snapshot version: "{${key}}" placeholder is used without having a value defined!`); -+ throw new Error( -+ `Failed to compose snapshot version: "{${key}}" placeholder is used without having a value defined!` -+ ); - } - - return value; -@@ -439,7 +502,12 @@ function getSnapshotSuffix(template, snapshotParameters) { - }, template); - } - --function getSnapshotVersion(release, preInfo, useCalculatedVersion, snapshotSuffix) { -+function getSnapshotVersion( -+ release, -+ preInfo, -+ useCalculatedVersion, -+ snapshotSuffix -+) { - if (release.type === "none") { - return release.oldVersion; - } -@@ -453,8 +521,9 @@ function getSnapshotVersion(release, preInfo, useCalculatedVersion, snapshotSuff - * You can set `snapshot.useCalculatedVersion` flag to true to use calculated versions if you don't care about the above problem. - */ - -- -- const baseVersion = useCalculatedVersion ? incrementVersion(release, preInfo) : `0.0.0`; -+ const baseVersion = useCalculatedVersion -+ ? incrementVersion(release, preInfo) -+ : `0.0.0`; - return `${baseVersion}-${snapshotSuffix}`; - } - -@@ -466,33 +535,67 @@ function getNewVersion(release, preInfo) { - return incrementVersion(release, preInfo); - } - --function assembleReleasePlan(changesets, packages, config, // intentionally not using an optional parameter here so the result of `readPreState` has to be passed in here --preState, // snapshot: undefined -> not using snaphot --// snapshot: { tag: undefined } -> --snapshot (empty tag) --// snapshot: { tag: "canary" } -> --snapshot canary --snapshot) { -+function assembleReleasePlan( -+ changesets, -+ packages, -+ config, // intentionally not using an optional parameter here so the result of `readPreState` has to be passed in here -+ preState, // snapshot: undefined -> not using snaphot -+ // snapshot: { tag: undefined } -> --snapshot (empty tag) -+ // snapshot: { tag: "canary" } -> --snapshot canary -+ snapshot -+) { - // TODO: remove `refined*` in the next major version of this package - // just use `config` and `snapshot` parameters directly, typed as: `config: Config, snapshot?: SnapshotReleaseParameters` -- const refinedConfig = config.snapshot ? config : _objectSpread(_objectSpread({}, config), {}, { -- snapshot: { -- prereleaseTemplate: null, -- useCalculatedVersion: config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.useCalculatedVersionForSnapshots -- } -- }); -- const refinedSnapshot = typeof snapshot === "string" ? { -- tag: snapshot -- } : typeof snapshot === "boolean" ? { -- tag: undefined -- } : snapshot; -- let packagesByName = new Map(packages.packages.map(x => [x.packageJson.name, x])); -- const relevantChangesets = getRelevantChangesets(changesets, packagesByName, refinedConfig, preState); -- const preInfo = getPreInfo(changesets, packagesByName, refinedConfig, preState); // releases is, at this point a list of all packages we are going to releases, -+ const refinedConfig = config.snapshot -+ ? config -+ : _objectSpread( -+ _objectSpread({}, config), -+ {}, -+ { -+ snapshot: { -+ prereleaseTemplate: null, -+ useCalculatedVersion: -+ config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH -+ .useCalculatedVersionForSnapshots, -+ }, -+ } -+ ); -+ const refinedSnapshot = -+ typeof snapshot === "string" -+ ? { -+ tag: snapshot, -+ } -+ : typeof snapshot === "boolean" -+ ? { -+ tag: undefined, -+ } -+ : snapshot; -+ let packagesByName = new Map( -+ packages.packages.map((x) => [x.packageJson.name, x]) -+ ); -+ const relevantChangesets = getRelevantChangesets( -+ changesets, -+ packagesByName, -+ refinedConfig, -+ preState -+ ); -+ const preInfo = getPreInfo( -+ changesets, -+ packagesByName, -+ refinedConfig, -+ preState -+ ); // releases is, at this point a list of all packages we are going to releases, - // flattened down to one release per package, having a reference back to their - // changesets, and with a calculated new versions - -- let releases = flattenReleases(relevantChangesets, packagesByName, refinedConfig); -+ let releases = flattenReleases( -+ relevantChangesets, -+ packagesByName, -+ refinedConfig -+ ); - let dependencyGraph = getDependentsGraph.getDependentsGraph(packages, { -- bumpVersionsWithWorkspaceProtocolOnly: refinedConfig.bumpVersionsWithWorkspaceProtocolOnly -+ bumpVersionsWithWorkspaceProtocolOnly: -+ refinedConfig.bumpVersionsWithWorkspaceProtocolOnly, - }); - let releasesValidated = false; - -@@ -503,15 +606,27 @@ snapshot) { - packagesByName, - dependencyGraph, - preInfo, -- config: refinedConfig -+ config: refinedConfig, - }); // `releases` might get mutated here - -- let fixedConstraintUpdated = matchFixedConstraint(releases, packagesByName, refinedConfig); -- let linksUpdated = applyLinks(releases, packagesByName, refinedConfig.linked); -- releasesValidated = !linksUpdated && !dependentAdded && !fixedConstraintUpdated; -+ let fixedConstraintUpdated = matchFixedConstraint( -+ releases, -+ packagesByName, -+ refinedConfig -+ ); -+ let linksUpdated = applyLinks( -+ releases, -+ packagesByName, -+ refinedConfig.linked -+ ); -+ releasesValidated = -+ !linksUpdated && !dependentAdded && !fixedConstraintUpdated; - } - -- if ((preInfo === null || preInfo === void 0 ? void 0 : preInfo.state.mode) === "exit") { -+ if ( -+ (preInfo === null || preInfo === void 0 ? void 0 : preInfo.state.mode) === -+ "exit" -+ ) { - for (let pkg of packages.packages) { - // If a package had a prerelease, but didn't trigger a version bump in the regular release, - // we want to give it a patch release. -@@ -524,28 +639,46 @@ snapshot) { - name: pkg.packageJson.name, - type: "patch", - oldVersion: pkg.packageJson.version, -- changesets: [] -+ changesets: [], - }); -- } else if (existingRelease.type === "none" && !shouldSkipPackage.shouldSkipPackage(pkg, { -- ignore: refinedConfig.ignore, -- allowPrivatePackages: refinedConfig.privatePackages.version -- })) { -+ } else if ( -+ existingRelease.type === "none" && -+ !shouldSkipPackage.shouldSkipPackage(pkg, { -+ ignore: refinedConfig.ignore, -+ allowPrivatePackages: refinedConfig.privatePackages.version, -+ }) -+ ) { - existingRelease.type = "patch"; - } - } - } - } // Caching the snapshot version here and use this if it is snapshot release - -- -- const snapshotSuffix = refinedSnapshot && getSnapshotSuffix(refinedConfig.snapshot.prereleaseTemplate, refinedSnapshot); -+ const snapshotSuffix = -+ refinedSnapshot && -+ getSnapshotSuffix( -+ refinedConfig.snapshot.prereleaseTemplate, -+ refinedSnapshot -+ ); - return { - changesets: relevantChangesets, -- releases: [...releases.values()].map(incompleteRelease => { -- return _objectSpread(_objectSpread({}, incompleteRelease), {}, { -- newVersion: snapshotSuffix ? getSnapshotVersion(incompleteRelease, preInfo, refinedConfig.snapshot.useCalculatedVersion, snapshotSuffix) : getNewVersion(incompleteRelease, preInfo) -- }); -+ releases: [...releases.values()].map((incompleteRelease) => { -+ return _objectSpread( -+ _objectSpread({}, incompleteRelease), -+ {}, -+ { -+ newVersion: snapshotSuffix -+ ? getSnapshotVersion( -+ incompleteRelease, -+ preInfo, -+ refinedConfig.snapshot.useCalculatedVersion, -+ snapshotSuffix -+ ) -+ : getNewVersion(incompleteRelease, preInfo), -+ } -+ ); - }), -- preState: preInfo === null || preInfo === void 0 ? void 0 : preInfo.state -+ preState: preInfo === null || preInfo === void 0 ? void 0 : preInfo.state, - }; - } - -@@ -557,10 +690,12 @@ function getRelevantChangesets(changesets, packagesByName, config, preState) { - const notSkippedPackages = []; - - for (const release of changeset.releases) { -- if (shouldSkipPackage.shouldSkipPackage(packagesByName.get(release.name), { -- ignore: config.ignore, -- allowPrivatePackages: config.privatePackages.version -- })) { -+ if ( -+ shouldSkipPackage.shouldSkipPackage(packagesByName.get(release.name), { -+ ignore: config.ignore, -+ allowPrivatePackages: config.privatePackages.version, -+ }) -+ ) { - skippedPackages.push(release.name); - } else { - notSkippedPackages.push(release.name); -@@ -568,13 +703,20 @@ function getRelevantChangesets(changesets, packagesByName, config, preState) { - } - - if (skippedPackages.length > 0 && notSkippedPackages.length > 0) { -- throw new Error(`Found mixed changeset ${changeset.id}\n` + `Found ignored packages: ${skippedPackages.join(" ")}\n` + `Found not ignored packages: ${notSkippedPackages.join(" ")}\n` + "Mixed changesets that contain both ignored and not ignored packages are not allowed"); -+ throw new Error( -+ `Found mixed changeset ${changeset.id}\n` + -+ `Found ignored packages: ${skippedPackages.join(" ")}\n` + -+ `Found not ignored packages: ${notSkippedPackages.join(" ")}\n` + -+ "Mixed changesets that contain both ignored and not ignored packages are not allowed" -+ ); - } - } - - if (preState && preState.mode !== "exit") { - let usedChangesetIds = new Set(preState.changesets); -- return changesets.filter(changeset => !usedChangesetIds.has(changeset.id)); -+ return changesets.filter( -+ (changeset) => !usedChangesetIds.has(changeset.id) -+ ); - } - - return changesets; -@@ -584,7 +726,10 @@ function getHighestPreVersion(packageGroup, packagesByName) { - let highestPreVersion = 0; - - for (let pkg of packageGroup) { -- highestPreVersion = Math.max(getPreVersion(packagesByName.get(pkg).packageJson.version), highestPreVersion); -+ highestPreVersion = Math.max( -+ getPreVersion(packagesByName.get(pkg).packageJson.version), -+ highestPreVersion -+ ); - } - - return highestPreVersion; -@@ -595,23 +740,30 @@ function getPreInfo(changesets, packagesByName, config, preState) { - return; - } - -- let updatedPreState = _objectSpread(_objectSpread({}, preState), {}, { -- changesets: changesets.map(changeset => changeset.id), -- initialVersions: _objectSpread({}, preState.initialVersions) -- }); -+ let updatedPreState = _objectSpread( -+ _objectSpread({}, preState), -+ {}, -+ { -+ changesets: changesets.map((changeset) => changeset.id), -+ initialVersions: _objectSpread({}, preState.initialVersions), -+ } -+ ); - - for (const [, pkg] of packagesByName) { - if (updatedPreState.initialVersions[pkg.packageJson.name] === undefined) { -- updatedPreState.initialVersions[pkg.packageJson.name] = pkg.packageJson.version; -+ updatedPreState.initialVersions[pkg.packageJson.name] = -+ pkg.packageJson.version; - } - } // Populate preVersion - // preVersion is the map between package name and its next pre version number. - -- - let preVersions = new Map(); - - for (const [, pkg] of packagesByName) { -- preVersions.set(pkg.packageJson.name, getPreVersion(pkg.packageJson.version)); -+ preVersions.set( -+ pkg.packageJson.name, -+ getPreVersion(pkg.packageJson.version) -+ ); - } - - for (let fixedGroup of config.fixed) { -@@ -632,7 +784,7 @@ function getPreInfo(changesets, packagesByName, config, preState) { - - return { - state: updatedPreState, -- preVersions -+ preVersions, - }; - } - -diff --git a/dist/changesets-assemble-release-plan.esm.js b/dist/changesets-assemble-release-plan.esm.js -index f6583cf3f639e1fe4df764a015689dea74127236..a8273d853108d0f72118f9893a4ac7dff0cccb1d 100644 ---- a/dist/changesets-assemble-release-plan.esm.js -+++ b/dist/changesets-assemble-release-plan.esm.js -@@ -1,15 +1,17 @@ --import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2'; --import { InternalError } from '@changesets/errors'; --import { getDependentsGraph } from '@changesets/get-dependents-graph'; --import { shouldSkipPackage } from '@changesets/should-skip-package'; --import semverParse from 'semver/functions/parse'; --import semverGt from 'semver/functions/gt'; --import semverSatisfies from 'semver/functions/satisfies'; --import semverInc from 'semver/functions/inc'; -+import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; -+import { InternalError } from "@changesets/errors"; -+import { getDependentsGraph } from "@changesets/get-dependents-graph"; -+import { shouldSkipPackage } from "@changesets/should-skip-package"; -+import semverParse from "semver/functions/parse"; -+import semverGt from "semver/functions/gt"; -+import semverSatisfies from "semver/functions/satisfies"; -+import semverInc from "semver/functions/inc"; - - function getHighestReleaseType(releases) { - if (releases.length === 0) { -- throw new Error(`Large internal Changesets error when calculating highest release type in the set of releases. Please contact the maintainers`); -+ throw new Error( -+ `Large internal Changesets error when calculating highest release type in the set of releases. Please contact the maintainers` -+ ); - } - - let highestReleaseType = "none"; -@@ -41,11 +43,16 @@ function getCurrentHighestVersion(packageGroup, packagesByName) { - let pkg = packagesByName.get(pkgName); - - if (!pkg) { -- console.error(`FATAL ERROR IN CHANGESETS! We were unable to version for package group: ${pkgName} in package group: ${packageGroup.toString()}`); -+ console.error( -+ `FATAL ERROR IN CHANGESETS! We were unable to version for package group: ${pkgName} in package group: ${packageGroup.toString()}` -+ ); - throw new Error(`fatal: could not resolve linked packages`); - } - -- if (highestVersion === undefined || semverGt(pkg.packageJson.version, highestVersion)) { -+ if ( -+ highestVersion === undefined || -+ semverGt(pkg.packageJson.version, highestVersion) -+ ) { - highestVersion = pkg.packageJson.version; - } - } -@@ -71,12 +78,18 @@ function applyLinks(releases, packagesByName, linked) { - - for (let linkedPackages of linked) { - // First we filter down to all the relevant releases for one set of linked packages -- let releasingLinkedPackages = [...releases.values()].filter(release => linkedPackages.includes(release.name) && release.type !== "none"); // If we proceed any further we do extra work with calculating highestVersion for things that might -+ let releasingLinkedPackages = [...releases.values()].filter( -+ (release) => -+ linkedPackages.includes(release.name) && release.type !== "none" -+ ); // If we proceed any further we do extra work with calculating highestVersion for things that might - // not need one, as they only have workspace based packages - - if (releasingLinkedPackages.length === 0) continue; - let highestReleaseType = getHighestReleaseType(releasingLinkedPackages); -- let highestVersion = getCurrentHighestVersion(linkedPackages, packagesByName); // Finally, we update the packages so all of them are on the highest version -+ let highestVersion = getCurrentHighestVersion( -+ linkedPackages, -+ packagesByName -+ ); // Finally, we update the packages so all of them are on the highest version - - for (let linkedPackage of releasingLinkedPackages) { - if (linkedPackage.type !== highestReleaseType) { -@@ -105,11 +118,12 @@ function incrementVersion(release, preInfo) { - let preVersion = preInfo.preVersions.get(release.name); - - if (preVersion === undefined) { -- throw new InternalError(`preVersion for ${release.name} does not exist when preState is defined`); -+ throw new InternalError( -+ `preVersion for ${release.name} does not exist when preState is defined` -+ ); - } // why are we adding this ourselves rather than passing 'pre' + versionType to semver.inc? - // because semver.inc with prereleases is confusing and this seems easier - -- - version += `-${preInfo.state.tag}.${preVersion}`; - } - -@@ -133,7 +147,7 @@ function determineDependents({ - packagesByName, - dependencyGraph, - preInfo, -- config -+ config, - }) { - let updated = false; // NOTE this is intended to be called recursively - -@@ -147,96 +161,101 @@ function determineDependents({ - const pkgDependents = dependencyGraph.get(nextRelease.name); - - if (!pkgDependents) { -- throw new Error(`Error in determining dependents - could not find package in repository: ${nextRelease.name}`); -+ throw new Error( -+ `Error in determining dependents - could not find package in repository: ${nextRelease.name}` -+ ); - } - -- pkgDependents.map(dependent => { -- let type; -- const dependentPackage = packagesByName.get(dependent); -- if (!dependentPackage) throw new Error("Dependency map is incorrect"); -- -- if (shouldSkipPackage(dependentPackage, { -- ignore: config.ignore, -- allowPrivatePackages: config.privatePackages.version -- })) { -- type = "none"; -- } else { -- const dependencyVersionRanges = getDependencyVersionRanges(dependentPackage.packageJson, nextRelease); -- -- for (const { -- depType, -- versionRange -- } of dependencyVersionRanges) { -- if (nextRelease.type === "none") { -- continue; -- } else if (shouldBumpMajor({ -- dependent, -- depType, -- versionRange, -- releases, -- nextRelease, -- preInfo, -- onlyUpdatePeerDependentsWhenOutOfRange: config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.onlyUpdatePeerDependentsWhenOutOfRange -- })) { -- type = "major"; -- } else if ((!releases.has(dependent) || releases.get(dependent).type === "none") && (config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.updateInternalDependents === "always" || !semverSatisfies(incrementVersion(nextRelease, preInfo), versionRange))) { -- switch (depType) { -- case "dependencies": -- case "optionalDependencies": -- case "peerDependencies": -- if (type !== "major" && type !== "minor") { -- type = "patch"; -- } -+ pkgDependents -+ .map((dependent) => { -+ let type; -+ const dependentPackage = packagesByName.get(dependent); -+ if (!dependentPackage) throw new Error("Dependency map is incorrect"); -+ -+ if ( -+ shouldSkipPackage(dependentPackage, { -+ ignore: config.ignore, -+ allowPrivatePackages: config.privatePackages.version, -+ }) -+ ) { -+ type = "none"; -+ } else { -+ const dependencyVersionRanges = getDependencyVersionRanges( -+ dependentPackage.packageJson, -+ nextRelease -+ ); -+ -+ for (const { depType, versionRange } of dependencyVersionRanges) { -+ if (nextRelease.type === "none") { -+ continue; -+ } else if ( -+ (!releases.has(dependent) || -+ releases.get(dependent).type === "none") && -+ (config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH -+ .updateInternalDependents === "always" || -+ !semverSatisfies( -+ incrementVersion(nextRelease, preInfo), -+ versionRange -+ )) -+ ) { -+ switch (depType) { -+ case "dependencies": -+ case "optionalDependencies": -+ case "peerDependencies": -+ if (type !== "major" && type !== "minor") { -+ type = "patch"; -+ } - -- break; -+ break; - -- case "devDependencies": -- { -+ case "devDependencies": { - // We don't need a version bump if the package is only in the devDependencies of the dependent package -- if (type !== "major" && type !== "minor" && type !== "patch") { -+ if ( -+ type !== "major" && -+ type !== "minor" && -+ type !== "patch" -+ ) { - type = "none"; - } - } -+ } - } - } - } -- } - -- if (releases.has(dependent) && releases.get(dependent).type === type) { -- type = undefined; -- } -+ if (releases.has(dependent) && releases.get(dependent).type === type) { -+ type = undefined; -+ } - -- return { -- name: dependent, -- type, -- pkgJSON: dependentPackage.packageJson -- }; -- }).filter(dependentItem => !!dependentItem.type).forEach(({ -- name, -- type, -- pkgJSON -- }) => { -- // At this point, we know if we are making a change -- updated = true; -- const existing = releases.get(name); // For things that are being given a major bump, we check if we have already -- // added them here. If we have, we update the existing item instead of pushing it on to search. -- // It is safe to not add it to pkgsToSearch because it should have already been searched at the -- // largest possible bump type. -- -- if (existing && type === "major" && existing.type !== "major") { -- existing.type = "major"; -- pkgsToSearch.push(existing); -- } else { -- let newDependent = { -- name, -+ return { -+ name: dependent, - type, -- oldVersion: pkgJSON.version, -- changesets: [] -+ pkgJSON: dependentPackage.packageJson, - }; -- pkgsToSearch.push(newDependent); -- releases.set(name, newDependent); -- } -- }); -+ }) -+ .filter((dependentItem) => !!dependentItem.type) -+ .forEach(({ name, type, pkgJSON }) => { -+ // At this point, we know if we are making a change -+ updated = true; -+ const existing = releases.get(name); // For things that are being given a major bump, we check if we have already -+ // added them here. If we have, we update the existing item instead of pushing it on to search. -+ // It is safe to not add it to pkgsToSearch because it should have already been searched at the -+ // largest possible bump type. -+ -+ if (existing && type === "major" && existing.type !== "major") { -+ existing.type = "major"; -+ pkgsToSearch.push(existing); -+ } else { -+ let newDependent = { -+ name, -+ type, -+ oldVersion: pkgJSON.version, -+ changesets: [], -+ }; -+ pkgsToSearch.push(newDependent); -+ releases.set(name, newDependent); -+ } -+ }); - } - - return updated; -@@ -248,27 +267,38 @@ function determineDependents({ - */ - - function getDependencyVersionRanges(dependentPkgJSON, dependencyRelease) { -- const DEPENDENCY_TYPES = ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"]; -+ const DEPENDENCY_TYPES = [ -+ "dependencies", -+ "devDependencies", -+ "peerDependencies", -+ "optionalDependencies", -+ ]; - const dependencyVersionRanges = []; - - for (const type of DEPENDENCY_TYPES) { - var _dependentPkgJSON$typ; - -- const versionRange = (_dependentPkgJSON$typ = dependentPkgJSON[type]) === null || _dependentPkgJSON$typ === void 0 ? void 0 : _dependentPkgJSON$typ[dependencyRelease.name]; -+ const versionRange = -+ (_dependentPkgJSON$typ = dependentPkgJSON[type]) === null || -+ _dependentPkgJSON$typ === void 0 -+ ? void 0 -+ : _dependentPkgJSON$typ[dependencyRelease.name]; - if (!versionRange) continue; - - if (versionRange.startsWith("workspace:")) { - dependencyVersionRanges.push({ - depType: type, -- versionRange: // intentionally keep other workspace ranges untouched -- // this has to be fixed but this should only be done when adding appropriate tests -- versionRange === "workspace:*" ? // workspace:* actually means the current exact version, and not a wildcard similar to a reguler * range -- dependencyRelease.oldVersion : versionRange.replace(/^workspace:/, "") -+ // intentionally keep other workspace ranges untouched -+ versionRange: -+ // this has to be fixed but this should only be done when adding appropriate tests -+ versionRange === "workspace:*" // workspace:* actually means the current exact version, and not a wildcard similar to a reguler * range -+ ? dependencyRelease.oldVersion -+ : versionRange.replace(/^workspace:/, ""), - }); - } else { - dependencyVersionRanges.push({ - depType: type, -- versionRange -+ versionRange, - }); - } - } -@@ -283,57 +313,67 @@ function shouldBumpMajor({ - releases, - nextRelease, - preInfo, -- onlyUpdatePeerDependentsWhenOutOfRange -+ onlyUpdatePeerDependentsWhenOutOfRange, - }) { - // we check if it is a peerDependency because if it is, our dependent bump type might need to be major. -- return depType === "peerDependencies" && nextRelease.type !== "none" && nextRelease.type !== "patch" && ( // 1. If onlyUpdatePeerDependentsWhenOutOfRange set to true, bump major if the version is leaving the range. -- // 2. If onlyUpdatePeerDependentsWhenOutOfRange set to false, bump major regardless whether or not the version is leaving the range. -- !onlyUpdatePeerDependentsWhenOutOfRange || !semverSatisfies(incrementVersion(nextRelease, preInfo), versionRange)) && ( // bump major only if the dependent doesn't already has a major release. -- !releases.has(dependent) || releases.has(dependent) && releases.get(dependent).type !== "major"); -+ return ( -+ depType === "peerDependencies" && -+ nextRelease.type !== "none" && -+ nextRelease.type !== "patch" && // 1. If onlyUpdatePeerDependentsWhenOutOfRange set to true, bump major if the version is leaving the range. -+ // 2. If onlyUpdatePeerDependentsWhenOutOfRange set to false, bump major regardless whether or not the version is leaving the range. -+ (!onlyUpdatePeerDependentsWhenOutOfRange || -+ !semverSatisfies(incrementVersion(nextRelease, preInfo), versionRange)) && // bump major only if the dependent doesn't already has a major release. -+ (!releases.has(dependent) || -+ (releases.has(dependent) && releases.get(dependent).type !== "major")) -+ ); - } - - // This function takes in changesets and returns one release per - function flattenReleases(changesets, packagesByName, config) { - let releases = new Map(); -- changesets.forEach(changeset => { -+ changesets.forEach((changeset) => { - changeset.releases // Filter out skipped packages because they should not trigger a release -- // If their dependencies need updates, they will be added to releases by `determineDependents()` with release type `none` -- .filter(({ -- name -- }) => !shouldSkipPackage(packagesByName.get(name), { -- ignore: config.ignore, -- allowPrivatePackages: config.privatePackages.version -- })).forEach(({ -- name, -- type -- }) => { -- let release = releases.get(name); -- let pkg = packagesByName.get(name); -- -- if (!pkg) { -- throw new Error(`"${changeset.id}" changeset mentions a release for a package "${name}" but such a package could not be found.`); -- } -- -- if (!release) { -- release = { -- name, -- type, -- oldVersion: pkg.packageJson.version, -- changesets: [changeset.id] -- }; -- } else { -- if (type === "major" || (release.type === "patch" || release.type === "none") && (type === "minor" || type === "patch")) { -- release.type = type; -- } // Check whether the bumpType will change -- // If the bumpType has changed recalc newVersion -- // push new changeset to releases -- -+ // If their dependencies need updates, they will be added to releases by `determineDependents()` with release type `none` -+ .filter( -+ ({ name }) => -+ !shouldSkipPackage(packagesByName.get(name), { -+ ignore: config.ignore, -+ allowPrivatePackages: config.privatePackages.version, -+ }) -+ ) -+ .forEach(({ name, type }) => { -+ let release = releases.get(name); -+ let pkg = packagesByName.get(name); -+ -+ if (!pkg) { -+ throw new Error( -+ `"${changeset.id}" changeset mentions a release for a package "${name}" but such a package could not be found.` -+ ); -+ } - -- release.changesets.push(changeset.id); -- } -+ if (!release) { -+ release = { -+ name, -+ type, -+ oldVersion: pkg.packageJson.version, -+ changesets: [changeset.id], -+ }; -+ } else { -+ if ( -+ type === "major" || -+ ((release.type === "patch" || release.type === "none") && -+ (type === "minor" || type === "patch")) -+ ) { -+ release.type = type; -+ } // Check whether the bumpType will change -+ // If the bumpType has changed recalc newVersion -+ // push new changeset to releases -+ -+ release.changesets.push(changeset.id); -+ } - -- releases.set(name, release); -- }); -+ releases.set(name, release); -+ }); - }); - return releases; - } -@@ -342,16 +382,24 @@ function matchFixedConstraint(releases, packagesByName, config) { - let updated = false; - - for (let fixedPackages of config.fixed) { -- let releasingFixedPackages = [...releases.values()].filter(release => fixedPackages.includes(release.name) && release.type !== "none"); -+ let releasingFixedPackages = [...releases.values()].filter( -+ (release) => -+ fixedPackages.includes(release.name) && release.type !== "none" -+ ); - if (releasingFixedPackages.length === 0) continue; - let highestReleaseType = getHighestReleaseType(releasingFixedPackages); -- let highestVersion = getCurrentHighestVersion(fixedPackages, packagesByName); // Finally, we update the packages so all of them are on the highest version -+ let highestVersion = getCurrentHighestVersion( -+ fixedPackages, -+ packagesByName -+ ); // Finally, we update the packages so all of them are on the highest version - - for (let pkgName of fixedPackages) { -- if (shouldSkipPackage(packagesByName.get(pkgName), { -- ignore: config.ignore, -- allowPrivatePackages: config.privatePackages.version -- })) { -+ if ( -+ shouldSkipPackage(packagesByName.get(pkgName), { -+ ignore: config.ignore, -+ allowPrivatePackages: config.privatePackages.version, -+ }) -+ ) { - continue; - } - -@@ -363,7 +411,7 @@ function matchFixedConstraint(releases, packagesByName, config) { - name: pkgName, - type: highestReleaseType, - oldVersion: highestVersion, -- changesets: [] -+ changesets: [], - }); - continue; - } -@@ -385,7 +433,8 @@ function matchFixedConstraint(releases, packagesByName, config) { - - function getPreVersion(version) { - let parsed = semverParse(version); -- let preVersion = parsed.prerelease[1] === undefined ? -1 : parsed.prerelease[1]; -+ let preVersion = -+ parsed.prerelease[1] === undefined ? -1 : parsed.prerelease[1]; - - if (typeof preVersion !== "number") { - throw new InternalError("preVersion is not a number"); -@@ -401,18 +450,25 @@ function getSnapshotSuffix(template, snapshotParameters) { - commit: snapshotParameters.commit, - tag: snapshotParameters.tag, - timestamp: snapshotRefDate.getTime().toString(), -- datetime: snapshotRefDate.toISOString().replace(/\.\d{3}Z$/, "").replace(/[^\d]/g, "") -+ datetime: snapshotRefDate -+ .toISOString() -+ .replace(/\.\d{3}Z$/, "") -+ .replace(/[^\d]/g, ""), - }; // We need a special handling because we need to handle a case where `--snapshot` is used without any template, - // and the resulting version needs to be composed without a tag. - - if (!template) { -- return [placeholderValues.tag, placeholderValues.datetime].filter(Boolean).join("-"); -+ return [placeholderValues.tag, placeholderValues.datetime] -+ .filter(Boolean) -+ .join("-"); - } - - const placeholders = Object.keys(placeholderValues); - - if (!template.includes(`{tag}`) && placeholderValues.tag !== undefined) { -- throw new Error(`Failed to compose snapshot version: "{tag}" placeholder is missing, but the snapshot parameter is defined (value: '${placeholderValues.tag}')`); -+ throw new Error( -+ `Failed to compose snapshot version: "{tag}" placeholder is missing, but the snapshot parameter is defined (value: '${placeholderValues.tag}')` -+ ); - } - - return placeholders.reduce((prev, key) => { -@@ -420,7 +476,9 @@ function getSnapshotSuffix(template, snapshotParameters) { - const value = placeholderValues[key]; - - if (value === undefined) { -- throw new Error(`Failed to compose snapshot version: "{${key}}" placeholder is used without having a value defined!`); -+ throw new Error( -+ `Failed to compose snapshot version: "{${key}}" placeholder is used without having a value defined!` -+ ); - } - - return value; -@@ -428,7 +486,12 @@ function getSnapshotSuffix(template, snapshotParameters) { - }, template); - } - --function getSnapshotVersion(release, preInfo, useCalculatedVersion, snapshotSuffix) { -+function getSnapshotVersion( -+ release, -+ preInfo, -+ useCalculatedVersion, -+ snapshotSuffix -+) { - if (release.type === "none") { - return release.oldVersion; - } -@@ -442,8 +505,9 @@ function getSnapshotVersion(release, preInfo, useCalculatedVersion, snapshotSuff - * You can set `snapshot.useCalculatedVersion` flag to true to use calculated versions if you don't care about the above problem. - */ - -- -- const baseVersion = useCalculatedVersion ? incrementVersion(release, preInfo) : `0.0.0`; -+ const baseVersion = useCalculatedVersion -+ ? incrementVersion(release, preInfo) -+ : `0.0.0`; - return `${baseVersion}-${snapshotSuffix}`; - } - -@@ -455,33 +519,67 @@ function getNewVersion(release, preInfo) { - return incrementVersion(release, preInfo); - } - --function assembleReleasePlan(changesets, packages, config, // intentionally not using an optional parameter here so the result of `readPreState` has to be passed in here --preState, // snapshot: undefined -> not using snaphot --// snapshot: { tag: undefined } -> --snapshot (empty tag) --// snapshot: { tag: "canary" } -> --snapshot canary --snapshot) { -+function assembleReleasePlan( -+ changesets, -+ packages, -+ config, // intentionally not using an optional parameter here so the result of `readPreState` has to be passed in here -+ preState, // snapshot: undefined -> not using snaphot -+ // snapshot: { tag: undefined } -> --snapshot (empty tag) -+ // snapshot: { tag: "canary" } -> --snapshot canary -+ snapshot -+) { - // TODO: remove `refined*` in the next major version of this package - // just use `config` and `snapshot` parameters directly, typed as: `config: Config, snapshot?: SnapshotReleaseParameters` -- const refinedConfig = config.snapshot ? config : _objectSpread(_objectSpread({}, config), {}, { -- snapshot: { -- prereleaseTemplate: null, -- useCalculatedVersion: config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.useCalculatedVersionForSnapshots -- } -- }); -- const refinedSnapshot = typeof snapshot === "string" ? { -- tag: snapshot -- } : typeof snapshot === "boolean" ? { -- tag: undefined -- } : snapshot; -- let packagesByName = new Map(packages.packages.map(x => [x.packageJson.name, x])); -- const relevantChangesets = getRelevantChangesets(changesets, packagesByName, refinedConfig, preState); -- const preInfo = getPreInfo(changesets, packagesByName, refinedConfig, preState); // releases is, at this point a list of all packages we are going to releases, -+ const refinedConfig = config.snapshot -+ ? config -+ : _objectSpread( -+ _objectSpread({}, config), -+ {}, -+ { -+ snapshot: { -+ prereleaseTemplate: null, -+ useCalculatedVersion: -+ config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH -+ .useCalculatedVersionForSnapshots, -+ }, -+ } -+ ); -+ const refinedSnapshot = -+ typeof snapshot === "string" -+ ? { -+ tag: snapshot, -+ } -+ : typeof snapshot === "boolean" -+ ? { -+ tag: undefined, -+ } -+ : snapshot; -+ let packagesByName = new Map( -+ packages.packages.map((x) => [x.packageJson.name, x]) -+ ); -+ const relevantChangesets = getRelevantChangesets( -+ changesets, -+ packagesByName, -+ refinedConfig, -+ preState -+ ); -+ const preInfo = getPreInfo( -+ changesets, -+ packagesByName, -+ refinedConfig, -+ preState -+ ); // releases is, at this point a list of all packages we are going to releases, - // flattened down to one release per package, having a reference back to their - // changesets, and with a calculated new versions - -- let releases = flattenReleases(relevantChangesets, packagesByName, refinedConfig); -+ let releases = flattenReleases( -+ relevantChangesets, -+ packagesByName, -+ refinedConfig -+ ); - let dependencyGraph = getDependentsGraph(packages, { -- bumpVersionsWithWorkspaceProtocolOnly: refinedConfig.bumpVersionsWithWorkspaceProtocolOnly -+ bumpVersionsWithWorkspaceProtocolOnly: -+ refinedConfig.bumpVersionsWithWorkspaceProtocolOnly, - }); - let releasesValidated = false; - -@@ -492,15 +590,27 @@ snapshot) { - packagesByName, - dependencyGraph, - preInfo, -- config: refinedConfig -+ config: refinedConfig, - }); // `releases` might get mutated here - -- let fixedConstraintUpdated = matchFixedConstraint(releases, packagesByName, refinedConfig); -- let linksUpdated = applyLinks(releases, packagesByName, refinedConfig.linked); -- releasesValidated = !linksUpdated && !dependentAdded && !fixedConstraintUpdated; -+ let fixedConstraintUpdated = matchFixedConstraint( -+ releases, -+ packagesByName, -+ refinedConfig -+ ); -+ let linksUpdated = applyLinks( -+ releases, -+ packagesByName, -+ refinedConfig.linked -+ ); -+ releasesValidated = -+ !linksUpdated && !dependentAdded && !fixedConstraintUpdated; - } - -- if ((preInfo === null || preInfo === void 0 ? void 0 : preInfo.state.mode) === "exit") { -+ if ( -+ (preInfo === null || preInfo === void 0 ? void 0 : preInfo.state.mode) === -+ "exit" -+ ) { - for (let pkg of packages.packages) { - // If a package had a prerelease, but didn't trigger a version bump in the regular release, - // we want to give it a patch release. -@@ -513,28 +623,46 @@ snapshot) { - name: pkg.packageJson.name, - type: "patch", - oldVersion: pkg.packageJson.version, -- changesets: [] -+ changesets: [], - }); -- } else if (existingRelease.type === "none" && !shouldSkipPackage(pkg, { -- ignore: refinedConfig.ignore, -- allowPrivatePackages: refinedConfig.privatePackages.version -- })) { -+ } else if ( -+ existingRelease.type === "none" && -+ !shouldSkipPackage(pkg, { -+ ignore: refinedConfig.ignore, -+ allowPrivatePackages: refinedConfig.privatePackages.version, -+ }) -+ ) { - existingRelease.type = "patch"; - } - } - } - } // Caching the snapshot version here and use this if it is snapshot release - -- -- const snapshotSuffix = refinedSnapshot && getSnapshotSuffix(refinedConfig.snapshot.prereleaseTemplate, refinedSnapshot); -+ const snapshotSuffix = -+ refinedSnapshot && -+ getSnapshotSuffix( -+ refinedConfig.snapshot.prereleaseTemplate, -+ refinedSnapshot -+ ); - return { - changesets: relevantChangesets, -- releases: [...releases.values()].map(incompleteRelease => { -- return _objectSpread(_objectSpread({}, incompleteRelease), {}, { -- newVersion: snapshotSuffix ? getSnapshotVersion(incompleteRelease, preInfo, refinedConfig.snapshot.useCalculatedVersion, snapshotSuffix) : getNewVersion(incompleteRelease, preInfo) -- }); -+ releases: [...releases.values()].map((incompleteRelease) => { -+ return _objectSpread( -+ _objectSpread({}, incompleteRelease), -+ {}, -+ { -+ newVersion: snapshotSuffix -+ ? getSnapshotVersion( -+ incompleteRelease, -+ preInfo, -+ refinedConfig.snapshot.useCalculatedVersion, -+ snapshotSuffix -+ ) -+ : getNewVersion(incompleteRelease, preInfo), -+ } -+ ); - }), -- preState: preInfo === null || preInfo === void 0 ? void 0 : preInfo.state -+ preState: preInfo === null || preInfo === void 0 ? void 0 : preInfo.state, - }; - } - -@@ -546,10 +674,12 @@ function getRelevantChangesets(changesets, packagesByName, config, preState) { - const notSkippedPackages = []; - - for (const release of changeset.releases) { -- if (shouldSkipPackage(packagesByName.get(release.name), { -- ignore: config.ignore, -- allowPrivatePackages: config.privatePackages.version -- })) { -+ if ( -+ shouldSkipPackage(packagesByName.get(release.name), { -+ ignore: config.ignore, -+ allowPrivatePackages: config.privatePackages.version, -+ }) -+ ) { - skippedPackages.push(release.name); - } else { - notSkippedPackages.push(release.name); -@@ -557,13 +687,20 @@ function getRelevantChangesets(changesets, packagesByName, config, preState) { - } - - if (skippedPackages.length > 0 && notSkippedPackages.length > 0) { -- throw new Error(`Found mixed changeset ${changeset.id}\n` + `Found ignored packages: ${skippedPackages.join(" ")}\n` + `Found not ignored packages: ${notSkippedPackages.join(" ")}\n` + "Mixed changesets that contain both ignored and not ignored packages are not allowed"); -+ throw new Error( -+ `Found mixed changeset ${changeset.id}\n` + -+ `Found ignored packages: ${skippedPackages.join(" ")}\n` + -+ `Found not ignored packages: ${notSkippedPackages.join(" ")}\n` + -+ "Mixed changesets that contain both ignored and not ignored packages are not allowed" -+ ); - } - } - - if (preState && preState.mode !== "exit") { - let usedChangesetIds = new Set(preState.changesets); -- return changesets.filter(changeset => !usedChangesetIds.has(changeset.id)); -+ return changesets.filter( -+ (changeset) => !usedChangesetIds.has(changeset.id) -+ ); - } - - return changesets; -@@ -573,7 +710,10 @@ function getHighestPreVersion(packageGroup, packagesByName) { - let highestPreVersion = 0; - - for (let pkg of packageGroup) { -- highestPreVersion = Math.max(getPreVersion(packagesByName.get(pkg).packageJson.version), highestPreVersion); -+ highestPreVersion = Math.max( -+ getPreVersion(packagesByName.get(pkg).packageJson.version), -+ highestPreVersion -+ ); - } - - return highestPreVersion; -@@ -584,23 +724,30 @@ function getPreInfo(changesets, packagesByName, config, preState) { - return; - } - -- let updatedPreState = _objectSpread(_objectSpread({}, preState), {}, { -- changesets: changesets.map(changeset => changeset.id), -- initialVersions: _objectSpread({}, preState.initialVersions) -- }); -+ let updatedPreState = _objectSpread( -+ _objectSpread({}, preState), -+ {}, -+ { -+ changesets: changesets.map((changeset) => changeset.id), -+ initialVersions: _objectSpread({}, preState.initialVersions), -+ } -+ ); - - for (const [, pkg] of packagesByName) { - if (updatedPreState.initialVersions[pkg.packageJson.name] === undefined) { -- updatedPreState.initialVersions[pkg.packageJson.name] = pkg.packageJson.version; -+ updatedPreState.initialVersions[pkg.packageJson.name] = -+ pkg.packageJson.version; - } - } // Populate preVersion - // preVersion is the map between package name and its next pre version number. - -- - let preVersions = new Map(); - - for (const [, pkg] of packagesByName) { -- preVersions.set(pkg.packageJson.name, getPreVersion(pkg.packageJson.version)); -+ preVersions.set( -+ pkg.packageJson.name, -+ getPreVersion(pkg.packageJson.version) -+ ); - } - - for (let fixedGroup of config.fixed) { -@@ -621,7 +768,7 @@ function getPreInfo(changesets, packagesByName, config, preState) { - - return { - state: updatedPreState, -- preVersions -+ preVersions, - }; - } - diff --git a/patches/@changesets__assemble-release-plan@6.0.2.patch b/patches/@changesets__assemble-release-plan@6.0.2.patch new file mode 100644 index 000000000..4305b0899 --- /dev/null +++ b/patches/@changesets__assemble-release-plan@6.0.2.patch @@ -0,0 +1,42 @@ +diff --git a/dist/changesets-assemble-release-plan.cjs.js b/dist/changesets-assemble-release-plan.cjs.js +index 60427457c887f2d72168fecec83d79088c68e3a4..007c3509417baed7ef15a1c6dafecbd57c704fd8 100644 +--- a/dist/changesets-assemble-release-plan.cjs.js ++++ b/dist/changesets-assemble-release-plan.cjs.js +@@ -180,16 +180,6 @@ function determineDependents({ + } of dependencyVersionRanges) { + if (nextRelease.type === "none") { + continue; +- } else if (shouldBumpMajor({ +- dependent, +- depType, +- versionRange, +- releases, +- nextRelease, +- preInfo, +- onlyUpdatePeerDependentsWhenOutOfRange: config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.onlyUpdatePeerDependentsWhenOutOfRange +- })) { +- type = "major"; + } else if ((!releases.has(dependent) || releases.get(dependent).type === "none") && (config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.updateInternalDependents === "always" || !semverSatisfies__default["default"](incrementVersion(nextRelease, preInfo), versionRange))) { + switch (depType) { + case "dependencies": +diff --git a/dist/changesets-assemble-release-plan.esm.js b/dist/changesets-assemble-release-plan.esm.js +index f6583cf3f639e1fe4df764a015689dea74127236..c6c843f7912c01dc74bba4c98bcf656d2d37914b 100644 +--- a/dist/changesets-assemble-release-plan.esm.js ++++ b/dist/changesets-assemble-release-plan.esm.js +@@ -169,16 +169,6 @@ function determineDependents({ + } of dependencyVersionRanges) { + if (nextRelease.type === "none") { + continue; +- } else if (shouldBumpMajor({ +- dependent, +- depType, +- versionRange, +- releases, +- nextRelease, +- preInfo, +- onlyUpdatePeerDependentsWhenOutOfRange: config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.onlyUpdatePeerDependentsWhenOutOfRange +- })) { +- type = "major"; + } else if ((!releases.has(dependent) || releases.get(dependent).type === "none") && (config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.updateInternalDependents === "always" || !semverSatisfies(incrementVersion(nextRelease, preInfo), versionRange))) { + switch (depType) { + case "dependencies": diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 736dd525b..53400bdc5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,9 +8,9 @@ overrides: flexsearch: 0.7.31 patchedDependencies: - '@changesets/assemble-release-plan@6.0.1': - hash: zurdc2rhdwq47ocujld2bctf64 - path: patches/@changesets__assemble-release-plan@6.0.1.patch + '@changesets/assemble-release-plan@6.0.2': + hash: eu5jznqvzpozuucr57hqc5vzhm + path: patches/@changesets__assemble-release-plan@6.0.2.patch importers: @@ -18,7 +18,7 @@ importers: devDependencies: '@changesets/cli': specifier: ^2.27.3 - version: 2.27.4 + version: 2.27.5 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -69,10 +69,10 @@ importers: version: 3.3.0 expo: specifier: ^51.0.5 - version: 51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) + version: 51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) expo-sqlite: specifier: ^14.0.3 - version: 14.0.3(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) + version: 14.0.3(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) expo-status-bar: specifier: ~1.12.1 version: 1.12.1 @@ -398,7 +398,7 @@ importers: dependencies: expo-updates: specifier: ^0.25.11 - version: 0.25.14(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) + version: 0.25.15(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) devDependencies: '@evolu/common': specifier: workspace:* @@ -417,10 +417,10 @@ importers: version: link:../eslint-config-evolu expo: specifier: ^51.0.5 - version: 51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) + version: 51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) expo-sqlite: specifier: ^14.0.3 - version: 14.0.3(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) + version: 14.0.3(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) react-native: specifier: ^0.74.1 version: 0.74.1(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))(@types/react@18.3.3)(react@18.3.1) @@ -1256,30 +1256,30 @@ packages: '@braintree/sanitize-url@6.0.4': resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} - '@changesets/apply-release-plan@7.0.2': - resolution: {integrity: sha512-lRdN9c8e2zbzSWTGK3HzlNATPWETBy6tMvf4MENUzb7OQD3kFQ+dVKCJtj42pLWRjLn2flbLofEK04k92GEttg==} + '@changesets/apply-release-plan@7.0.3': + resolution: {integrity: sha512-klL6LCdmfbEe9oyfLxnidIf/stFXmrbFO/3gT5LU5pcyoZytzJe4gWpTBx3BPmyNPl16dZ1xrkcW7b98e3tYkA==} - '@changesets/assemble-release-plan@6.0.1': - resolution: {integrity: sha512-VXKjqGomnj4evJ/B6ENUFMxV+EV/LDkdWl2+8NjCcGo4Rn/aogjofCDLWbWEhtjtgLUdwvlsoydibIDOf/abvA==} + '@changesets/assemble-release-plan@6.0.2': + resolution: {integrity: sha512-n9/Tdq+ze+iUtjmq0mZO3pEhJTKkku9hUxtUadW30jlN7kONqJG3O6ALeXrmc6gsi/nvoCuKjqEJ68Hk8RbMTQ==} '@changesets/changelog-git@0.2.0': resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} - '@changesets/cli@2.27.4': - resolution: {integrity: sha512-X3Nd9cBoyuykjmMJnRFHik26UoA5y4ikhds4BJE0IGKpnIvkV8gRqyZE6Tcmc3zuS5GXfCmGnyJXVwxe89uX5A==} + '@changesets/cli@2.27.5': + resolution: {integrity: sha512-UVppOvzCjjylBenFcwcZNG5IaZ8jsIaEVraV/pbXgukYNb0Oqa0d8UWb0LkYzA1Bf1HmUrOfccFcRLheRuA7pA==} hasBin: true - '@changesets/config@3.0.0': - resolution: {integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==} + '@changesets/config@3.0.1': + resolution: {integrity: sha512-nCr8pOemUjvGJ8aUu8TYVjqnUL+++bFOQHBVmtNbLvKzIDkN/uiP/Z4RKmr7NNaiujIURHySDEGFPftR4GbTUA==} '@changesets/errors@0.2.0': resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - '@changesets/get-dependents-graph@2.0.0': - resolution: {integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==} + '@changesets/get-dependents-graph@2.1.0': + resolution: {integrity: sha512-QOt6pQq9RVXKGHPVvyKimJDYJumx7p4DO5MO9AhRJYgAPgv0emhNqAqqysSVKHBm4sxKlGN4S1zXOIb5yCFuhQ==} - '@changesets/get-release-plan@4.0.1': - resolution: {integrity: sha512-1zojjyxeIzIHA/zWXZ3XYxKySBDtbTP9PS6EZLrM0r1luq8Oy7U0zBq/I9NX77qVJV9EF3cO4KP5pfRHorSLTg==} + '@changesets/get-release-plan@4.0.2': + resolution: {integrity: sha512-rOalz7nMuMV2vyeP7KBeAhqEB7FM2GFPO5RQSoOoUKKH9L6wW3QyPA2K+/rG9kBrWl2HckPVES73/AuwPvbH3w==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} @@ -1490,8 +1490,8 @@ packages: resolution: {integrity: sha512-Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA==} engines: {'0': node >=0.10.0} - '@expo/cli@0.18.13': - resolution: {integrity: sha512-ZO1fpDK8z6mLeQGuFP6e3cZyCHV55ohZY7/tEyhpft3bwysS680eyFg5SFe+tWNFesnziFrbtI8JaUyhyjqovA==} + '@expo/cli@0.18.14': + resolution: {integrity: sha512-ke2IVs3MfIMe2NjXY11Ky9+r0+eav6NUa+cy61wpZNPe5QkwIJ56SdJ4wIMMKFPFhgLsy1vfaqhOcZo96U4wCg==} hasBin: true '@expo/code-signing-certificates@0.0.5': @@ -1503,6 +1503,9 @@ packages: '@expo/config-types@51.0.0': resolution: {integrity: sha512-acn03/u8mQvBhdTQtA7CNhevMltUhbSrpI01FYBJwpVntufkU++ncQujWKlgY/OwIajcfygk1AY4xcNZ5ImkRA==} + '@expo/config@9.0.1': + resolution: {integrity: sha512-0tjaXBstTbXmD4z+UMFBkh2SZFwilizSQhW6DlaTMnPG5ezuw93zSFEWAuEC3YzkpVtNQTmYzxAYjxwh6seOGg==} + '@expo/config@9.0.2': resolution: {integrity: sha512-BKQ4/qBf3OLT8hHp5kjObk2vxwoRQ1yYQBbG/OM9Jdz32yYtrU8opTbKRAxfZEWH5i3ZHdLrPdC1rO0I6WxtTw==} @@ -1522,8 +1525,8 @@ packages: '@expo/json-file@8.3.3': resolution: {integrity: sha512-eZ5dld9AD0PrVRiIWpRkm5aIoWBw3kAyd8VkuWEy92sEthBKDDDHAnK2a0dw0Eil6j7rK7lS/Qaq/Zzngv2h5A==} - '@expo/metro-config@0.18.4': - resolution: {integrity: sha512-vh9WDf/SzE+NYCn6gqbzLKiXtENFlFZdAqyj9nI38RvQ4jw6TJIQ8+ExcdLDT3MOG36Ytg44XX9Zb3OWF6LVxw==} + '@expo/metro-config@0.18.3': + resolution: {integrity: sha512-E4iW+VT/xHPPv+t68dViOsW7egtGIr+sRElcym0iGpC4goLz9WBux/xGzWgxvgvvHEWa21uSZQPM0jWla0OZXg==} '@expo/osascript@2.1.2': resolution: {integrity: sha512-/ugqDG+52uzUiEpggS9GPdp9g0U9EQrXcTdluHDmnlGmR2nV/F83L7c+HCUyPnf77QXwkr8gQk16vQTbxBQ5eA==} @@ -1535,8 +1538,8 @@ packages: '@expo/plist@0.1.3': resolution: {integrity: sha512-GW/7hVlAylYg1tUrEASclw1MMk9FP4ZwyFAY/SUTJIhPDQHtfOlXREyWV3hhrHdX/K+pS73GNgdfT6E/e+kBbg==} - '@expo/prebuild-config@7.0.4': - resolution: {integrity: sha512-E2n3QbwgV8Qa0CBw7BHrWBDWD7l8yw+N/yjvXpSPFFtoZLMSKyegdkJFACh2u+UIRKUSZm8zQwHeZR0rqAxV9g==} + '@expo/prebuild-config@7.0.3': + resolution: {integrity: sha512-Kvxy/oQzkxwXLvAmwb+ygxuRn4xUUN2+mVJj3KDe4bRVCNyDPs7wlgdokF3twnWjzRZssUzseMkhp+yHPjAEhA==} peerDependencies: expo-modules-autolinking: '>=0.8.1' @@ -2807,8 +2810,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001624: - resolution: {integrity: sha512-0dWnQG87UevOCPYaOR49CBcLBwoZLpws+k6W37nLjWUhumP1Isusj0p2u+3KhjNloRWK9OKMgjBBzPujQHw4nA==} + caniuse-lite@1.0.30001625: + resolution: {integrity: sha512-4KE9N2gcRH+HQhpeiRZXd+1niLB/XNLAhSy4z7fI8EzcbcPoAqjNInxVHTiTwWfTIV4w096XG8OtCOCQQKPv3w==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -3773,8 +3776,8 @@ packages: peerDependencies: expo: '*' - expo-constants@16.0.1: - resolution: {integrity: sha512-s6aTHtglp926EsugWtxN7KnpSsE9FCEjb7CgEjQQ78Gpu4btj4wB+IXot2tlqNwqv+x7xFe5veoPGfJDGF/kVg==} + expo-constants@16.0.2: + resolution: {integrity: sha512-9tNY3OVO0jfiMzl7ngb6IOyR5VFzNoN5OOazUWoeGfmMqVB5kltTemRvKraK9JRbBKIw+SOYLEmF0sEqgFZ6OQ==} peerDependencies: expo: '*' @@ -3786,8 +3789,8 @@ packages: peerDependencies: expo: '*' - expo-font@12.0.5: - resolution: {integrity: sha512-h/VkN4jlHYDJ6T6pPgOYTVoDEfBY0CTKQe4pxnPDGQiE6H+DFdDgk+qWVABGpRMH0+zXoHB+AEi3OoQjXIynFA==} + expo-font@12.0.6: + resolution: {integrity: sha512-eognUxmZi2urCdERA5KuZpXUJO9JomOG/5ZKw9fGUhDi86SQ/6UWw+nMGbtshjWdJ0Vt0zHAdaIYx8aHq2iRzA==} peerDependencies: expo: '*' @@ -3808,8 +3811,8 @@ packages: resolution: {integrity: sha512-2dy3lTz76adOl7QUvbreMCrXyzUiF8lygI7iFJLjgIQIVH+43KnFWE5zBumpPbkiaq0f0uaFpN9U0RGQbnKiMw==} hasBin: true - expo-modules-core@1.12.11: - resolution: {integrity: sha512-CF5G6hZo/6uIUz6tj4dNRlvE5L4lakYukXPqz5ZHQ+6fLk1NQVZbRdpHjMkxO/QSBQcKUzG/ngeytpoJus7poQ==} + expo-modules-core@1.12.12: + resolution: {integrity: sha512-ls2Ido4Aduo4f9/LPQx66Hp3X2qddVOY5S7kP3/lp/G4ieqfPcUMueGYSeaz76fg/TYXRh2XLv/HGvu8zV6bbQ==} expo-sqlite@14.0.3: resolution: {integrity: sha512-H9+QXpB9ppPFeI5ZIPzIZJAdj4hgP2XJEoNe6xlhSUqcEhiq7k55Hs4mf1LX2r1JgSbIjucMEuDlMT8ntU4Pew==} @@ -3827,14 +3830,14 @@ packages: peerDependencies: expo: '*' - expo-updates@0.25.14: - resolution: {integrity: sha512-taYa6Q/882MxPaMZEoU0Tr4Ivtq0B0XUmCgj7GcKv0pDDhB7vuQ4uxXhWYn5udX+nJM0KH+dtEVFNVyeucVArg==} + expo-updates@0.25.15: + resolution: {integrity: sha512-P38Qv2TxeEpUCvAEUR99VSpOXnliiDsvMwFqhTO+iA0ZBDMJ7YZ/Fy5U4L9h8IW8mPfFC9wrWZzWZBn129mpYQ==} hasBin: true peerDependencies: expo: '*' - expo@51.0.8: - resolution: {integrity: sha512-bdTOiMb1f3PChtuqEZ9czUm2gMTmS0r1+H+Pkm2O3PsuLnOgxfIBzL6S37+J4cUocLBaENrmx9SOGKpzhBqXpg==} + expo@51.0.9: + resolution: {integrity: sha512-USckGusi4389X/mFy8X8tEA59vgsc5joOILQrTsDPdDJawkUidDAVqY4NIjJxOY7zEq1SfPv/LglJ4cOdtvfsg==} hasBin: true express@4.19.2: @@ -3966,8 +3969,8 @@ packages: flow-enums-runtime@0.0.6: resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} - flow-parser@0.236.0: - resolution: {integrity: sha512-0OEk9Gr+Yj7wjDW2KgaNYUypKau71jAfFyeLQF5iVtxqc6uJHag/MT7pmaEApf4qM7u86DkBcd4ualddYMfbLw==} + flow-parser@0.237.0: + resolution: {integrity: sha512-pLm2gF5jQ46NlcSx+RZwFeXMr5OEs8j5VvwG04QDAzE7mr4P7TsOSp7YXLdvgD4n4B56NvACgHjBIRkogCIV7A==} engines: {node: '>=0.4.0'} focus-visible@5.2.0: @@ -8522,10 +8525,10 @@ snapshots: '@braintree/sanitize-url@6.0.4': {} - '@changesets/apply-release-plan@7.0.2': + '@changesets/apply-release-plan@7.0.3': dependencies: '@babel/runtime': 7.24.6 - '@changesets/config': 3.0.0 + '@changesets/config': 3.0.1 '@changesets/get-version-range-type': 0.4.0 '@changesets/git': 3.0.0 '@changesets/should-skip-package': 0.1.0 @@ -8539,11 +8542,11 @@ snapshots: resolve-from: 5.0.0 semver: 7.6.2 - '@changesets/assemble-release-plan@6.0.1(patch_hash=zurdc2rhdwq47ocujld2bctf64)': + '@changesets/assemble-release-plan@6.0.2(patch_hash=eu5jznqvzpozuucr57hqc5vzhm)': dependencies: '@babel/runtime': 7.24.6 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.0.0 + '@changesets/get-dependents-graph': 2.1.0 '@changesets/should-skip-package': 0.1.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -8553,16 +8556,16 @@ snapshots: dependencies: '@changesets/types': 6.0.0 - '@changesets/cli@2.27.4': + '@changesets/cli@2.27.5': dependencies: '@babel/runtime': 7.24.6 - '@changesets/apply-release-plan': 7.0.2 - '@changesets/assemble-release-plan': 6.0.1(patch_hash=zurdc2rhdwq47ocujld2bctf64) + '@changesets/apply-release-plan': 7.0.3 + '@changesets/assemble-release-plan': 6.0.2(patch_hash=eu5jznqvzpozuucr57hqc5vzhm) '@changesets/changelog-git': 0.2.0 - '@changesets/config': 3.0.0 + '@changesets/config': 3.0.1 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.0.0 - '@changesets/get-release-plan': 4.0.1 + '@changesets/get-dependents-graph': 2.1.0 + '@changesets/get-release-plan': 4.0.2 '@changesets/git': 3.0.0 '@changesets/logger': 0.1.0 '@changesets/pre': 2.0.0 @@ -8589,10 +8592,10 @@ snapshots: term-size: 2.2.1 tty-table: 4.2.3 - '@changesets/config@3.0.0': + '@changesets/config@3.0.1': dependencies: '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.0.0 + '@changesets/get-dependents-graph': 2.1.0 '@changesets/logger': 0.1.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -8603,7 +8606,7 @@ snapshots: dependencies: extendable-error: 0.1.7 - '@changesets/get-dependents-graph@2.0.0': + '@changesets/get-dependents-graph@2.1.0': dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -8611,11 +8614,11 @@ snapshots: fs-extra: 7.0.1 semver: 7.6.2 - '@changesets/get-release-plan@4.0.1': + '@changesets/get-release-plan@4.0.2': dependencies: '@babel/runtime': 7.24.6 - '@changesets/assemble-release-plan': 6.0.1(patch_hash=zurdc2rhdwq47ocujld2bctf64) - '@changesets/config': 3.0.0 + '@changesets/assemble-release-plan': 6.0.2(patch_hash=eu5jznqvzpozuucr57hqc5vzhm) + '@changesets/config': 3.0.1 '@changesets/pre': 2.0.0 '@changesets/read': 0.6.0 '@changesets/types': 6.0.0 @@ -8804,21 +8807,21 @@ snapshots: mv: 2.1.1 safe-json-stringify: 1.2.0 - '@expo/cli@0.18.13(expo-modules-autolinking@1.11.1)': + '@expo/cli@0.18.14(expo-modules-autolinking@1.11.1)': dependencies: '@babel/runtime': 7.24.6 '@expo/code-signing-certificates': 0.0.5 - '@expo/config': 9.0.2 + '@expo/config': 9.0.1 '@expo/config-plugins': 8.0.4 '@expo/devcert': 1.1.2 '@expo/env': 0.3.0 '@expo/image-utils': 0.5.1 '@expo/json-file': 8.3.3 - '@expo/metro-config': 0.18.4 + '@expo/metro-config': 0.18.3 '@expo/osascript': 2.1.2 '@expo/package-manager': 1.5.2 '@expo/plist': 0.1.3 - '@expo/prebuild-config': 7.0.4(expo-modules-autolinking@1.11.1) + '@expo/prebuild-config': 7.0.3(expo-modules-autolinking@1.11.1) '@expo/rudder-sdk-node': 1.1.1 '@expo/spawn-async': 1.7.2 '@expo/xcpretty': 4.3.1 @@ -8916,6 +8919,22 @@ snapshots: '@expo/config-types@51.0.0': {} + '@expo/config@9.0.1': + dependencies: + '@babel/code-frame': 7.10.4 + '@expo/config-plugins': 8.0.4 + '@expo/config-types': 51.0.0 + '@expo/json-file': 8.3.3 + getenv: 1.0.0 + glob: 7.1.6 + require-from-string: 2.0.2 + resolve-from: 5.0.0 + semver: 7.6.2 + slugify: 1.6.6 + sucrase: 3.34.0 + transitivePeerDependencies: + - supports-color + '@expo/config@9.0.2': dependencies: '@babel/code-frame': 7.10.4 @@ -8994,13 +9013,13 @@ snapshots: json5: 2.2.3 write-file-atomic: 2.4.3 - '@expo/metro-config@0.18.4': + '@expo/metro-config@0.18.3': dependencies: '@babel/core': 7.24.6 '@babel/generator': 7.24.6 '@babel/parser': 7.24.6 '@babel/types': 7.24.6 - '@expo/config': 9.0.2 + '@expo/config': 9.0.1 '@expo/env': 0.3.0 '@expo/json-file': 8.3.3 '@expo/spawn-async': 1.7.2 @@ -9043,9 +9062,9 @@ snapshots: base64-js: 1.5.1 xmlbuilder: 14.0.0 - '@expo/prebuild-config@7.0.4(expo-modules-autolinking@1.11.1)': + '@expo/prebuild-config@7.0.3(expo-modules-autolinking@1.11.1)': dependencies: - '@expo/config': 9.0.2 + '@expo/config': 9.0.1 '@expo/config-plugins': 8.0.4 '@expo/config-types': 51.0.0 '@expo/image-utils': 0.5.1 @@ -10349,7 +10368,7 @@ snapshots: autoprefixer@10.4.19(postcss@8.4.38): dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001624 + caniuse-lite: 1.0.30001625 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.1 @@ -10555,7 +10574,7 @@ snapshots: browserslist@4.23.0: dependencies: - caniuse-lite: 1.0.30001624 + caniuse-lite: 1.0.30001625 electron-to-chromium: 1.4.783 node-releases: 2.0.14 update-browserslist-db: 1.0.16(browserslist@4.23.0) @@ -10641,7 +10660,7 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001624: {} + caniuse-lite@1.0.30001625: {} ccount@2.0.1: {} @@ -11826,44 +11845,45 @@ snapshots: expand-template@2.0.3: {} - expo-asset@10.0.6(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): + expo-asset@10.0.6(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): dependencies: '@react-native/assets-registry': 0.74.83 - expo: 51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) - expo-constants: 16.0.1(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) + expo: 51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) + expo-constants: 16.0.2(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) invariant: 2.2.4 md5-file: 3.2.3 transitivePeerDependencies: - supports-color - expo-constants@16.0.1(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): + expo-constants@16.0.2(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): dependencies: - '@expo/config': 9.0.2 - expo: 51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) + '@expo/config': 9.0.1 + '@expo/env': 0.3.0 + expo: 51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) transitivePeerDependencies: - supports-color expo-eas-client@0.12.0: {} - expo-file-system@17.0.1(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): + expo-file-system@17.0.1(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): dependencies: - expo: 51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) + expo: 51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) - expo-font@12.0.5(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): + expo-font@12.0.6(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): dependencies: - expo: 51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) + expo: 51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) fontfaceobserver: 2.3.0 expo-json-utils@0.13.1: {} - expo-keep-awake@13.0.2(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): + expo-keep-awake@13.0.2(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): dependencies: - expo: 51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) + expo: 51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) - expo-manifests@0.14.3(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): + expo-manifests@0.14.3(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): dependencies: '@expo/config': 9.0.2 - expo: 51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) + expo: 51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) expo-json-utils: 0.13.1 transitivePeerDependencies: - supports-color @@ -11876,24 +11896,24 @@ snapshots: find-up: 5.0.0 fs-extra: 9.1.0 - expo-modules-core@1.12.11: + expo-modules-core@1.12.12: dependencies: invariant: 2.2.4 - expo-sqlite@14.0.3(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): + expo-sqlite@14.0.3(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): dependencies: '@expo/websql': 1.0.1 - expo: 51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) + expo: 51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) expo-status-bar@1.12.1: {} expo-structured-headers@3.8.0: {} - expo-updates-interface@0.16.2(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): + expo-updates-interface@0.16.2(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): dependencies: - expo: 51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) + expo: 51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) - expo-updates@0.25.14(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): + expo-updates@0.25.15(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))): dependencies: '@expo/code-signing-certificates': 0.0.5 '@expo/config': 9.0.2 @@ -11902,11 +11922,11 @@ snapshots: '@expo/spawn-async': 1.7.2 arg: 4.1.0 chalk: 4.1.2 - expo: 51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) + expo: 51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) expo-eas-client: 0.12.0 - expo-manifests: 0.14.3(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) + expo-manifests: 0.14.3(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) expo-structured-headers: 3.8.0 - expo-updates-interface: 0.16.2(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) + expo-updates-interface: 0.16.2(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) fast-glob: 3.3.2 fbemitter: 3.0.0 ignore: 5.3.1 @@ -11915,21 +11935,21 @@ snapshots: - encoding - supports-color - expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)): + expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)): dependencies: '@babel/runtime': 7.24.6 - '@expo/cli': 0.18.13(expo-modules-autolinking@1.11.1) - '@expo/config': 9.0.2 + '@expo/cli': 0.18.14(expo-modules-autolinking@1.11.1) + '@expo/config': 9.0.1 '@expo/config-plugins': 8.0.4 - '@expo/metro-config': 0.18.4 + '@expo/metro-config': 0.18.3 '@expo/vector-icons': 14.0.2 babel-preset-expo: 11.0.6(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) - expo-asset: 10.0.6(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) - expo-file-system: 17.0.1(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) - expo-font: 12.0.5(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) - expo-keep-awake: 13.0.2(expo@51.0.8(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) + expo-asset: 10.0.6(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) + expo-file-system: 17.0.1(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) + expo-font: 12.0.6(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) + expo-keep-awake: 13.0.2(expo@51.0.9(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))) expo-modules-autolinking: 1.11.1 - expo-modules-core: 1.12.11 + expo-modules-core: 1.12.12 fbemitter: 3.0.0 whatwg-url-without-unicode: 8.0.0-3 transitivePeerDependencies: @@ -12136,7 +12156,7 @@ snapshots: flow-enums-runtime@0.0.6: {} - flow-parser@0.236.0: {} + flow-parser@0.237.0: {} focus-visible@5.2.0: {} @@ -12949,7 +12969,7 @@ snapshots: '@babel/register': 7.24.6(@babel/core@7.24.6) babel-core: 7.0.0-bridge.0(@babel/core@7.24.6) chalk: 4.1.2 - flow-parser: 0.236.0 + flow-parser: 0.237.0 graceful-fs: 4.2.11 micromatch: 4.0.7 neo-async: 2.6.2 @@ -14237,7 +14257,7 @@ snapshots: '@next/env': 14.2.3 '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001624 + caniuse-lite: 1.0.30001625 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.3.1