Rust based release manager for JS/TS monorepos, heavily inspired by Vite+ ❤️
publish changelog rust release bun pnpm changeset version bump node
0

Configure Feed

Select the types of activity you want to include in your feed.

fix(cli): release_dir_abs correctly handles config inside release dir

bdbch (May 22, 2026, 10:00 PM +0200) faddf1e8 32a7eada

+8 -11
.oxrls/.oxrls/882f-useful-mouse.md .oxrls/4303-glad-wood.md
-5
.oxrls/076b-waxy-goat.md
··· 1 - --- 2 - "@bdbchgg/oxrls": "patch" 3 - --- 4 - 5 - Fixed a bug where the Changelog headline would not stick at the top of the changelog file
+8 -6
src/config.rs
··· 224 224 } 225 225 226 226 /// Find the config dir (the release_dir relative to config file location or cwd). 227 + /// If the config file is already inside the release directory, returns the 228 + /// config's parent directory directly to avoid double-joining. 227 229 pub fn release_dir_abs(&self, config_path: &Path) -> PathBuf { 228 230 let base = config_path.parent().unwrap_or_else(|| Path::new(".")); 229 - // If the config is already inside the release directory, use the config's parent directly. 230 - // Otherwise, join the release_dir relative to the config's parent. 231 - let release_path = base.join(&self.release_dir); 232 - if release_path == base { 233 - // Config is inside release dir — don't double-join 231 + // If the config's parent directory already has the release_dir name, or if 232 + // the release_dir is ".", use the parent directly. 233 + if self.release_dir == "." || self.release_dir.is_empty() { 234 + base.to_path_buf() 235 + } else if base.file_name().and_then(|n| n.to_str()) == Some(self.release_dir.as_str()) { 234 236 base.to_path_buf() 235 237 } else { 236 - release_path 238 + base.join(&self.release_dir) 237 239 } 238 240 } 239 241