Skip to content

Commit 66ede35

Browse files
authored
Merge pull request #2634 from itowlson/fix-reg-comp-invalid-semver-error
Better error if component from registry has regrettable version
2 parents 3d78173 + deb8f3c commit 66ede35

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

crates/loader/src/local.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ impl LocalLoader {
156156
.take();
157157

158158
let source = self
159-
.load_component_source(component.source.clone())
159+
.load_component_source(id, component.source.clone())
160160
.await
161161
.with_context(|| format!("Failed to load Wasm source {}", component.source))?;
162162

@@ -215,6 +215,7 @@ impl LocalLoader {
215215
// URL with an absolute path to the content.
216216
async fn load_component_source(
217217
&self,
218+
component_id: &KebabId,
218219
source: v2::ComponentSource,
219220
) -> Result<LockedComponentSource> {
220221
let content = match source {
@@ -227,6 +228,7 @@ impl LocalLoader {
227228
package,
228229
version,
229230
} => {
231+
let version = semver::Version::parse(&version).with_context(|| format!("Component {component_id} specifies an invalid semantic version ({version:?}) for its package version"))?;
230232
self.load_registry_source(registry.as_ref(), &package, &version)
231233
.await?
232234
}

crates/manifest/src/schema/common.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ pub enum ComponentSource {
3939
/// `package = "example:component"`
4040
package: PackageRef,
4141
/// `version = "1.2.3"`
42-
version: semver::Version,
42+
version: String,
4343
},
4444
}
4545

0 commit comments

Comments
 (0)