Skip to content

Commit 6836b18

Browse files
committed
fix bugs related to version handing in ts flow
Signed-off-by: karthik2804 <[email protected]>
1 parent aa8e0df commit 6836b18

File tree

1 file changed

+24
-25
lines changed

1 file changed

+24
-25
lines changed

src/commands/add.rs

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use convert_case::{Case, Casing};
44
use http::HttpAddCommand;
55
use local::LocalAddCommand;
66
use registry::RegistryAddCommand;
7-
use semver::VersionReq;
7+
use semver::{Version, VersionReq};
88
use spin_manifest::{
99
manifest_from_file,
1010
schema::v2::{AppManifest, ComponentDependency},
@@ -482,17 +482,10 @@ async fn generate_ts_bindings(
482482
package_name.namespace, package_name.name
483483
);
484484

485-
let package_name_str = if let Some(v) = &package_name.version {
486-
format!(
487-
"@spin-deps/{}-{}@{}",
488-
package_name.namespace, package_name.name, v
489-
)
490-
} else {
491-
format!(
492-
"@spin-deps/{}-{}",
493-
package_name.namespace, package_name.name
494-
)
495-
};
485+
let package_name_str = format!(
486+
"@spin-deps/{}-{}",
487+
package_name.namespace, package_name.name
488+
);
496489

497490
let package_id = resolve
498491
.packages
@@ -503,12 +496,14 @@ async fn generate_ts_bindings(
503496

504497
let world_id = resolve.select_world(package_id, Some("root"))?;
505498

506-
let out_world_name = &package_name
507-
.to_string()
508-
.replace("_", "-")
509-
.replace(":", "-")
510-
.replace("@", "")
511-
.replace("/", "-");
499+
let out_world_name = &format!(
500+
"importized-{}-{}",
501+
package_name.namespace, package_name.name
502+
)
503+
.replace("_", "-")
504+
.replace(":", "-")
505+
.replace("@", "")
506+
.replace("/", "-");
512507

513508
resolve.importize(world_id, Some(out_world_name.clone()))?;
514509
let out_world_id = resolve.select_world(package_id, Some(&out_world_name))?;
@@ -519,7 +514,11 @@ async fn generate_ts_bindings(
519514

520515
// add a package.json file
521516
let package_json = package_dir.join("package.json");
522-
let package_json_content = package_json_content(&package_name_str, &out_world_name);
517+
let package_json_content = package_json_content(
518+
&package_name_str,
519+
&out_world_name,
520+
package_name.version.clone(),
521+
);
523522
fs::write(&package_json, package_json_content)
524523
.await
525524
.context("no package json file")?;
@@ -601,9 +600,6 @@ async fn generate_ts_bindings(
601600
final_name, import_path
602601
));
603602
re_exports.push(format!("export {{ {} }};", final_name));
604-
605-
println!("import * as {} from '{}';", final_name, import_path);
606-
println!("export {{ {} }};", final_name);
607603
}
608604
// TODO: spin deps itself does not importing functions
609605
wit_parser::WorldItem::Function(_) => {}
@@ -618,7 +614,7 @@ async fn generate_ts_bindings(
618614
println!(
619615
"To use the component, run:\ncd {}\n npm install ./{}",
620616
root_dir.to_string_lossy(),
621-
package_name
617+
package_name_str
622618
);
623619

624620
Ok(())
@@ -720,11 +716,14 @@ async fn generate_rust_bindings(
720716
Ok(())
721717
}
722718

723-
fn package_json_content(package_name: &str, world: &str) -> String {
719+
fn package_json_content(package_name: &str, world: &str, version: Option<Version>) -> String {
720+
let version_str = version
721+
.map(|v| v.to_string())
722+
.unwrap_or_else(|| "0.1.0".to_owned());
724723
format!(
725724
r#"{{
726725
"name": "{package_name}",
727-
"version": "0.1.0",
726+
"version": "{version_str}",
728727
"description": "Generated Package for {package_name}",
729728
"main": "index.js",
730729
"scripts": {{

0 commit comments

Comments
 (0)