-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: move logout functionality into auth crate #7443
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
6 Ignored Deployments
|
This stack of pull requests is managed by Graphite. Learn more about stacking. |
🟢 Turbopack Benchmark CI successful 🟢Thanks |
🟢 CI successful 🟢Thanks |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think there was some unintentional behavior change in this PR.
pub api_client: &'a T, | ||
|
||
/// The path where we should look for the token to logout. | ||
pub path: &'a AbsoluteSystemPathBuf, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For borrowed/owned type pairs like &[T]/Vec<T>
/&str/String
/&Path/PathBuf
you almost always want to use the borrowed variant instead of &String
. The gist is that for all of these types the owned variant has a pointer to some heap allocated memory. So &Vec<T>
is a pointer to Vec
which is on the stack which then contains a pointer to the heap memory. If convert &Vec<T>
to &[u8]
you skip needing to resolve that first pointer and following it will take you directly to the heap memory.
pub path: &'a AbsoluteSystemPathBuf, | |
pub path: &'a AbsoluteSystemPath, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I always get confused which ASP is the borrowed variant vs the owned one. I've thought about if we could give these more straightforward names but haven't come up with anything - might be worth discussing as a team since I know Mehul also mentioned he got confused by these names
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They're based off of &Path
/PathBuf
from the stdlib.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still don't like it 😤
let mut data: serde_json::Value = serde_json::from_str(&content)?; | ||
data["token"] = serde_json::Value::Null; | ||
|
||
let new_content = serde_json::to_string_pretty(&data)?; | ||
fs::write(global_config_path, new_content)?; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we want to preserve previous behavior we should keep using unset_path
. serde
will reformat/reorder the contents of the JSON.
let mut data: serde_json::Value = serde_json::from_str(&content)?; | |
data["token"] = serde_json::Value::Null; | |
let new_content = serde_json::to_string_pretty(&data)?; | |
fs::write(global_config_path, new_content)?; | |
if let Some(after) = unset_path(&before, &["token"], true)? { | |
global_config_path.create_with_contents(after).map_err(|e| { | |
Error::Config(config::Error::FailedToSetConfig { | |
config_path: global_config_path.clone(), | |
error: e, | |
}) | |
}) | |
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the problem with unset_path
is that it lives in the crate that will call this one. I can move this same logic or similar logic into this crate or create a new one for file interactions, but otherwise this causes a cyclic import which makes Rust and myself sad. I could be importing incorrectly and maybe I can just grab this module, but it still feels a little odd.
As for the contents, AFAIK we don't store anything but the token in the config.json
, so ordering / formatting won't be an issue at the moment. If we add more to the JSON then this would need to change, so I'm open to doing some of the previous suggestions.
})?; | ||
|
||
let mut data: serde_json::Value = serde_json::from_str(&content)?; | ||
data["token"] = serde_json::Value::Null; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will panic if the JSON file isn't an object or null
. We don't ever write this, but we don't want to panic if for some reason the auth file is corrupted.
86f6320
to
df29695
Compare
df29695
to
c5762ae
Compare
c5762ae
to
4d29369
Compare
4d29369
to
94d0db3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only blocker is what we set the token to null
and not the empty string.
I will note that this is a behavior change from previous behavior as the previous behavior would remove the token entirely e.g. {"token": "foobar"}
-> {}
. I think we treat a missing key and a key present with a value of null
as the same, but it is probably worth double checking.
let mut data: serde_json::Value = serde_json::from_str(&content)?; | ||
if let Some(token) = data.get_mut("token") { | ||
// Set token field to empty string | ||
*token = "".into(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm pretty sure we want null
and not an empty string
*token = "".into(); | |
*token = Value::Null; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wasn't 100% sure how all this interacts with null
but in theory it's fine
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wasn't 100% sure how all this interacts with null but in theory it's fine
That sounds like we need more testing.
2266713
to
3b33ee1
Compare
3b33ee1
to
b71e269
Compare
3335715
to
96fadd9
Compare
96fadd9
to
30031c0
Compare
30031c0
to
626fff4
Compare
626fff4
to
a5794a3
Compare
a5794a3
to
c4d0cf6
Compare
c4d0cf6
to
1f91819
Compare
1f91819
to
95711cd
Compare
95711cd
to
1f293c8
Compare
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.11.24` -> `20.11.25`](https://renovatebot.com/diffs/npm/@types%2fnode/20.11.24/20.11.25) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.11.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.11.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.11.24/20.11.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.11.24/20.11.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@types/react](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | [`18.2.63` -> `18.2.64`](https://renovatebot.com/diffs/npm/@types%2freact/18.2.63/18.2.64) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.2.64?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.2.64?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.2.63/18.2.64?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.2.63/18.2.64?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [chromatic](https://www.chromatic.com) ([source](https://togithub.com/chromaui/chromatic-cli)) | [`11.0.1` -> `11.0.4`](https://renovatebot.com/diffs/npm/chromatic/11.0.1/11.0.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/chromatic/11.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/chromatic/11.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/chromatic/11.0.1/11.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/chromatic/11.0.1/11.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [eslint-plugin-turbo](https://togithub.com/vercel/turbo) ([source](https://togithub.com/vercel/turbo/tree/HEAD/packages/eslint-plugin-turbo)) | [`1.12.4` -> `1.12.5`](https://renovatebot.com/diffs/npm/eslint-plugin-turbo/1.12.4/1.12.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-turbo/1.12.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-turbo/1.12.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-turbo/1.12.4/1.12.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-turbo/1.12.4/1.12.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [react-i18next](https://togithub.com/i18next/react-i18next) | [`14.0.5` -> `14.0.8`](https://renovatebot.com/diffs/npm/react-i18next/14.0.5/14.0.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-i18next/14.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-i18next/14.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-i18next/14.0.5/14.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-i18next/14.0.5/14.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [turbo](https://turbo.build/repo) ([source](https://togithub.com/vercel/turbo)) | [`1.12.4` -> `1.12.5`](https://renovatebot.com/diffs/npm/turbo/1.12.4/1.12.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/turbo/1.12.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/turbo/1.12.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/turbo/1.12.4/1.12.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/turbo/1.12.4/1.12.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [typescript](https://www.typescriptlang.org/) ([source](https://togithub.com/Microsoft/TypeScript)) | [`5.3.3` -> `5.4.2`](https://renovatebot.com/diffs/npm/typescript/5.3.3/5.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.3.3/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.3.3/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>chromaui/chromatic-cli (chromatic)</summary> ### [`v11.0.4`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1104-Wed-Mar-06-2024) [Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v11.0.3...v11.0.4) ##### 🐛 Bug Fix - Do not prompt to install chromatic script during E2E builds [#​941](https://togithub.com/chromaui/chromatic-cli/pull/941) ([@​tevanoff](https://togithub.com/tevanoff)) ##### Authors: 1 - Todd Evanoff ([@​tevanoff](https://togithub.com/tevanoff)) *** ### [`v11.0.3`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1103-Wed-Mar-06-2024) [Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v11.0.2...v11.0.3) ##### 🐛 Bug Fix - Display full error message when storybookBaseDir is invalid [#​932](https://togithub.com/chromaui/chromatic-cli/pull/932) ([@​andrewortwein](https://togithub.com/andrewortwein)) ##### Authors: 1 - Andrew Ortwein ([@​andrewortwein](https://togithub.com/andrewortwein)) *** ### [`v11.0.2`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1102-Tue-Mar-05-2024) [Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v11.0.1...v11.0.2) ##### 🐛 Bug Fix - Fix support for boolean value to `junitReport` option [#​937](https://togithub.com/chromaui/chromatic-cli/pull/937) ([@​thafryer](https://togithub.com/thafryer)) ##### Authors: 1 - Jarel Fryer ([@​thafryer](https://togithub.com/thafryer)) *** </details> <details> <summary>vercel/turbo (eslint-plugin-turbo)</summary> ### [`v1.12.5`](https://togithub.com/vercel/turbo/releases/tag/v1.12.5): Turborepo v1.12.5 [Compare Source](https://togithub.com/vercel/turbo/compare/v1.12.4...v1.12.5) #### What's Changed ##### Docs - Name the file in Prisma doc. by [@​anthonyshew](https://togithub.com/anthonyshew) in [https://github.com/vercel/turbo/pull/7426](https://togithub.com/vercel/turbo/pull/7426) - chore(docs): update github actions versions to support node 20 by [@​robinsmith-source](https://togithub.com/robinsmith-source) in [https://github.com/vercel/turbo/pull/7434](https://togithub.com/vercel/turbo/pull/7434) - chore: update docs to no longer suggest verbosity for `--profile` by [@​chris-olszewski](https://togithub.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7521](https://togithub.com/vercel/turbo/pull/7521) - Add version to package in internal packages docs for yarn by [@​loctn](https://togithub.com/loctn) in [https://github.com/vercel/turbo/pull/7626](https://togithub.com/vercel/turbo/pull/7626) ##### create-turbo - release(turborepo): 1.12.4 by [@​github-actions](https://togithub.com/github-actions) in [https://github.com/vercel/turbo/pull/7383](https://togithub.com/vercel/turbo/pull/7383) ##### [@​turbo/repository](https://togithub.com/turbo/repository) - chore(Turborepo): bump versions in prep for a release by [@​gsoltis](https://togithub.com/gsoltis) in [https://github.com/vercel/turbo/pull/7385](https://togithub.com/vercel/turbo/pull/7385) - refactor(turborepo): Package Detection by [@​NicholasLYang](https://togithub.com/NicholasLYang) in [https://github.com/vercel/turbo/pull/7549](https://togithub.com/vercel/turbo/pull/7549) - feat([@​turbo/repository](https://togithub.com/turbo/repository)): return dependencies in graph by [@​mehulkar](https://togithub.com/mehulkar) in [https://github.com/vercel/turbo/pull/7616](https://togithub.com/vercel/turbo/pull/7616) - chore([@​turbo/repository](https://togithub.com/turbo/repository)): bump version to 0.0.1-canary.8 by [@​mehulkar](https://togithub.com/mehulkar) in [https://github.com/vercel/turbo/pull/7636](https://togithub.com/vercel/turbo/pull/7636) ##### Examples - fix(examples): basic generator by [@​dangbt](https://togithub.com/dangbt) in [https://github.com/vercel/turbo/pull/7400](https://togithub.com/vercel/turbo/pull/7400) - Remove barrel file from design-system-example by [@​anthonyshew](https://togithub.com/anthonyshew) in [https://github.com/vercel/turbo/pull/7580](https://togithub.com/vercel/turbo/pull/7580) - Dependabot updates for examples. by [@​anthonyshew](https://togithub.com/anthonyshew) in [https://github.com/vercel/turbo/pull/7615](https://togithub.com/vercel/turbo/pull/7615) - Bug fix on with-npm by [@​zsh77](https://togithub.com/zsh77) in [https://github.com/vercel/turbo/pull/7587](https://togithub.com/vercel/turbo/pull/7587) - dev script of ui package in example with rollup by [@​zsh77](https://togithub.com/zsh77) in [https://github.com/vercel/turbo/pull/7550](https://togithub.com/vercel/turbo/pull/7550) - Cleanup of with-vite example by [@​zsh77](https://togithub.com/zsh77) in [https://github.com/vercel/turbo/pull/7585](https://togithub.com/vercel/turbo/pull/7585) - Cleanup of with-yarn example by [@​zsh77](https://togithub.com/zsh77) in [https://github.com/vercel/turbo/pull/7589](https://togithub.com/vercel/turbo/pull/7589) - Guarantee typescript-eslint parser resolving. by [@​anthonyshew](https://togithub.com/anthonyshew) in [https://github.com/vercel/turbo/pull/7634](https://togithub.com/vercel/turbo/pull/7634) ##### Changelog - perf: parse and walk globs in parallel by [@​chris-olszewski](https://togithub.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7244](https://togithub.com/vercel/turbo/pull/7244) - fix: do better validation for existing tokens by [@​Zertsov](https://togithub.com/Zertsov) in [https://github.com/vercel/turbo/pull/7358](https://togithub.com/vercel/turbo/pull/7358) - chore(ci): remove Makefile targets to build Go binaries by [@​mehulkar](https://togithub.com/mehulkar) in [https://github.com/vercel/turbo/pull/7389](https://togithub.com/vercel/turbo/pull/7389) - add error enum to `turborepo-dirs` by [@​Zertsov](https://togithub.com/Zertsov) in [https://github.com/vercel/turbo/pull/7277](https://togithub.com/vercel/turbo/pull/7277) - fix: Clippy errors by [@​Zertsov](https://togithub.com/Zertsov) in [https://github.com/vercel/turbo/pull/7392](https://togithub.com/vercel/turbo/pull/7392) - docs: Refresh daemon documentation by [@​NicholasLYang](https://togithub.com/NicholasLYang) in [https://github.com/vercel/turbo/pull/7386](https://togithub.com/vercel/turbo/pull/7386) - Break up Client trait by [@​Zertsov](https://togithub.com/Zertsov) in [https://github.com/vercel/turbo/pull/7387](https://togithub.com/vercel/turbo/pull/7387) - chore(turbo): delete unused goreleaser configs by [@​mehulkar](https://togithub.com/mehulkar) in [https://github.com/vercel/turbo/pull/7393](https://togithub.com/vercel/turbo/pull/7393) - Improve daemon startup times by [@​arlyon](https://togithub.com/arlyon) in [https://github.com/vercel/turbo/pull/7322](https://togithub.com/vercel/turbo/pull/7322) - fix: reading output from orphan process by [@​chris-olszewski](https://togithub.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7402](https://togithub.com/vercel/turbo/pull/7402) - Add optionalwatch cookie support by [@​arlyon](https://togithub.com/arlyon) in [https://github.com/vercel/turbo/pull/7379](https://togithub.com/vercel/turbo/pull/7379) - chore: add force flag to login command by [@​Zertsov](https://togithub.com/Zertsov) in [https://github.com/vercel/turbo/pull/7378](https://togithub.com/vercel/turbo/pull/7378) - Audit daemon error paths and ensure we are doing everything we can to handle by [@​arlyon](https://togithub.com/arlyon) in [https://github.com/vercel/turbo/pull/7334](https://togithub.com/vercel/turbo/pull/7334) - chore: lower log level for noisy crates by [@​chris-olszewski](https://togithub.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7439](https://togithub.com/vercel/turbo/pull/7439) - chore: Rename daemon code by [@​NicholasLYang](https://togithub.com/NicholasLYang) in [https://github.com/vercel/turbo/pull/7440](https://togithub.com/vercel/turbo/pull/7440) - fix: support yarn4 semver resolutions by [@​chris-olszewski](https://togithub.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7442](https://togithub.com/vercel/turbo/pull/7442) - fix: More robust token validation by [@​Zertsov](https://togithub.com/Zertsov) in [https://github.com/vercel/turbo/pull/7407](https://togithub.com/vercel/turbo/pull/7407) - chore: Change daemon log location to be in repo by [@​NicholasLYang](https://togithub.com/NicholasLYang) in [https://github.com/vercel/turbo/pull/7468](https://togithub.com/vercel/turbo/pull/7468) - chore: remove unnecessary result on join_unix_path by [@​chris-olszewski](https://togithub.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7506](https://togithub.com/vercel/turbo/pull/7506) - chore: remove unused features from config crate by [@​chris-olszewski](https://togithub.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7531](https://togithub.com/vercel/turbo/pull/7531) - feat: task table widget by [@​chris-olszewski](https://togithub.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7470](https://togithub.com/vercel/turbo/pull/7470) - fix: Remove extra login popup for Vercel by [@​Zertsov](https://togithub.com/Zertsov) in [https://github.com/vercel/turbo/pull/7469](https://togithub.com/vercel/turbo/pull/7469) - feat(turborepo): Convert even more errors by [@​NicholasLYang](https://togithub.com/NicholasLYang) in [https://github.com/vercel/turbo/pull/7513](https://togithub.com/vercel/turbo/pull/7513) - fix: correctly call teams api by [@​chris-olszewski](https://togithub.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7533](https://togithub.com/vercel/turbo/pull/7533) - chore: add read_existing_to_string by [@​chris-olszewski](https://togithub.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7532](https://togithub.com/vercel/turbo/pull/7532) - feat: allow for faux comments at top level of turbo.json by [@​chris-olszewski](https://togithub.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7546](https://togithub.com/vercel/turbo/pull/7546) - fix: Load vercel token into command base by [@​Zertsov](https://togithub.com/Zertsov) in [https://github.com/vercel/turbo/pull/7545](https://togithub.com/vercel/turbo/pull/7545) - fix: support pnpm workspace path aliasing by [@​chris-olszewski](https://togithub.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7512](https://togithub.com/vercel/turbo/pull/7512) - chore: remove unused import from dep_splitter by [@​chris-olszewski](https://togithub.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7555](https://togithub.com/vercel/turbo/pull/7555) - fix: Respect globalDependencies when determining changed packages by [@​NicholasLYang](https://togithub.com/NicholasLYang) in [https://github.com/vercel/turbo/pull/7557](https://togithub.com/vercel/turbo/pull/7557) - feat(Turborepo): Renaming, additional cookiewriter constructor by [@​gsoltis](https://togithub.com/gsoltis) in [https://github.com/vercel/turbo/pull/7553](https://togithub.com/vercel/turbo/pull/7553) - fix: vercel auth file borks login by [@​Zertsov](https://togithub.com/Zertsov) in [https://github.com/vercel/turbo/pull/7556](https://togithub.com/vercel/turbo/pull/7556) - fix: login success page redirect by [@​Zertsov](https://togithub.com/Zertsov) in [https://github.com/vercel/turbo/pull/7558](https://togithub.com/vercel/turbo/pull/7558) - chore: move logout functionality into auth crate by [@​Zertsov](https://togithub.com/Zertsov) in [https://github.com/vercel/turbo/pull/7443](https://togithub.com/vercel/turbo/pull/7443) - chore: Change to use borrowed path by [@​Zertsov](https://togithub.com/Zertsov) in [https://github.com/vercel/turbo/pull/7569](https://togithub.com/vercel/turbo/pull/7569) - Handle logging story better on daemon by [@​arlyon](https://togithub.com/arlyon) in [https://github.com/vercel/turbo/pull/7526](https://togithub.com/vercel/turbo/pull/7526) - fix: sso login duplicate popup by [@​Zertsov](https://togithub.com/Zertsov) in [https://github.com/vercel/turbo/pull/7575](https://togithub.com/vercel/turbo/pull/7575) - chore(Turborepo): refactor telemetry to use turbopath by [@​gsoltis](https://togithub.com/gsoltis) in [https://github.com/vercel/turbo/pull/7567](https://togithub.com/vercel/turbo/pull/7567) - chore(Turborepo): move test filesystem setup into test code by [@​gsoltis](https://togithub.com/gsoltis) in [https://github.com/vercel/turbo/pull/7568](https://togithub.com/vercel/turbo/pull/7568) - chore(Turborepo): Switch tests to use filesystem, remove unused generics by [@​gsoltis](https://togithub.com/gsoltis) in [https://github.com/vercel/turbo/pull/7610](https://togithub.com/vercel/turbo/pull/7610) - fix(cache): fix restoration issues of directories with very long paths by [@​chris-olszewski](https://togithub.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7628](https://togithub.com/vercel/turbo/pull/7628) - chore: vendor vt100 crate by [@​chris-olszewski](https://togithub.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7591](https://togithub.com/vercel/turbo/pull/7591) - fix(cache): restoration symlink by [@​chris-olszewski](https://togithub.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7633](https://togithub.com/vercel/turbo/pull/7633) - fix: reject empty cache dir path by [@​chris-olszewski](https://togithub.com/chris-olszewski) in [https://github.com/vercel/turbo/pull/7630](https://togithub.com/vercel/turbo/pull/7630) - fix: add more caching status tests by [@​Zertsov](https://togithub.com/Zertsov) in [https://github.com/vercel/turbo/pull/7574](https://togithub.com/vercel/turbo/pull/7574) #### New Contributors - [@​dangbt](https://togithub.com/dangbt) made their first contribution in [https://github.com/vercel/turbo/pull/7400](https://togithub.com/vercel/turbo/pull/7400) - [@​robinsmith-source](https://togithub.com/robinsmith-source) made their first contribution in [https://github.com/vercel/turbo/pull/7434](https://togithub.com/vercel/turbo/pull/7434) - [@​nnmax](https://togithub.com/nnmax) made their first contribution in [https://github.com/vercel/turbo/pull/6651](https://togithub.com/vercel/turbo/pull/6651) - [@​bgw](https://togithub.com/bgw) made their first contribution in [https://github.com/vercel/turbo/pull/7206](https://togithub.com/vercel/turbo/pull/7206) - [@​loctn](https://togithub.com/loctn) made their first contribution in [https://github.com/vercel/turbo/pull/7626](https://togithub.com/vercel/turbo/pull/7626) - [@​zsh77](https://togithub.com/zsh77) made their first contribution in [https://github.com/vercel/turbo/pull/7587](https://togithub.com/vercel/turbo/pull/7587) **Full Changelog**: vercel/turborepo@v1.12.4...v1.12.5 </details> <details> <summary>i18next/react-i18next (react-i18next)</summary> ### [`v14.0.8`](https://togithub.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1408) [Compare Source](https://togithub.com/i18next/react-i18next/compare/v14.0.7...v14.0.8) - fix: issue [1728](https://togithub.com/i18next/react-i18next/issues/1728) when useSuspense is false and default ns [1731](https://togithub.com/i18next/react-i18next/pull/1731) ### [`v14.0.7`](https://togithub.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1407) [Compare Source](https://togithub.com/i18next/react-i18next/compare/v14.0.6...v14.0.7) - try to get rid of internal interpolationOverride handling for Trans component, fixes [1729](https://togithub.com/i18next/react-i18next/issues/1729) ### [`v14.0.6`](https://togithub.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1406) [Compare Source](https://togithub.com/i18next/react-i18next/compare/v14.0.5...v14.0.6) - align context handling of Trans component with t function, fixes [1729](https://togithub.com/i18next/react-i18next/issues/1729) </details> <details> <summary>vercel/turbo (turbo)</summary> ### [`v1.12.5`](https://togithub.com/vercel/turbo/compare/v1.12.4...v1.12.5) [Compare Source](https://togithub.com/vercel/turbo/compare/v1.12.4...v1.12.5) </details> <details> <summary>Microsoft/TypeScript (typescript)</summary> ### [`v5.4.2`](https://togithub.com/microsoft/TypeScript/releases/tag/v5.4.2): TypeScript 5.4 [Compare Source](https://togithub.com/Microsoft/TypeScript/compare/v5.3.3...v5.4.2) For release notes, check out the [release announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-4/). For the complete list of fixed issues, check out the - [fixed issues query for Typescript 5.4.0 (Beta)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.0%22+is%3Aclosed+). - [fixed issues query for Typescript 5.4.1 (RC)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.1%22+is%3Aclosed+). - [fixed issues query for Typescript 5.4.2 (Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.2%22+is%3Aclosed+). Downloads are available on: - [NuGet package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday,before 4am on Thursday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/weareinreach/GLAAD). PR-URL: #356 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Closes TURBO-2405