@@ -47,7 +47,10 @@ use deno_semver::package::PackageNv;
47
47
use deno_semver:: package:: PackageNvReference ;
48
48
use deno_semver:: package:: PackageReq ;
49
49
use deno_semver:: package:: PackageReqReferenceParseError ;
50
+ use deno_semver:: package:: PackageSubPath ;
50
51
use deno_semver:: RangeSetOrTag ;
52
+ use deno_semver:: SmallStackString ;
53
+ use deno_semver:: StackString ;
51
54
use deno_semver:: Version ;
52
55
use deno_semver:: VersionReq ;
53
56
use futures:: future:: LocalBoxFuture ;
@@ -213,7 +216,7 @@ pub enum JsrPackageFormatError {
213
216
false => ""
214
217
}
215
218
) ]
216
- VersionTagNotSupported { tag : String } ,
219
+ VersionTagNotSupported { tag : SmallStackString } ,
217
220
}
218
221
219
222
#[ derive( Debug , Clone , Error ) ]
@@ -839,7 +842,7 @@ fn is_media_type_unknown(media_type: &MediaType) -> bool {
839
842
#[ derive( Debug , Clone , PartialEq , Eq , Serialize , Deserialize ) ]
840
843
pub struct WorkspaceMember {
841
844
pub base : Url ,
842
- pub name : String ,
845
+ pub name : StackString ,
843
846
#[ serde( skip_serializing_if = "Option::is_none" ) ]
844
847
pub version : Option < Version > ,
845
848
pub exports : IndexMap < String , String > ,
@@ -3388,7 +3391,7 @@ pub(crate) struct AttributeTypeWithRange {
3388
3391
3389
3392
#[ derive( Debug , Default ) ]
3390
3393
struct PendingNpmState {
3391
- requested_registry_info_loads : HashSet < String > ,
3394
+ requested_registry_info_loads : HashSet < StackString > ,
3392
3395
pending_resolutions : Vec < PendingNpmResolutionItem > ,
3393
3396
}
3394
3397
@@ -5181,7 +5184,7 @@ impl<'a> NpmSpecifierResolver<'a> {
5181
5184
self . add_nv_for_item (
5182
5185
item. specifier . clone ( ) ,
5183
5186
pkg_nv. clone ( ) ,
5184
- item. package_ref . sub_path ( ) . map ( ToOwned :: to_owned ) ,
5187
+ item. package_ref . sub_path ( ) . map ( PackageSubPath :: from_str ) ,
5185
5188
) ;
5186
5189
}
5187
5190
Err ( err) => {
@@ -5242,7 +5245,7 @@ impl<'a> NpmSpecifierResolver<'a> {
5242
5245
& mut self ,
5243
5246
specifier : ModuleSpecifier ,
5244
5247
pkg_nv : PackageNv ,
5245
- sub_path : Option < String > ,
5248
+ sub_path : Option < SmallStackString > ,
5246
5249
) {
5247
5250
let pkg_id_ref = NpmPackageNvReference :: new ( PackageNvReference {
5248
5251
nv : pkg_nv. clone ( ) ,
@@ -6501,7 +6504,7 @@ mod tests {
6501
6504
let workspace_members = vec ! [ WorkspaceMember {
6502
6505
base: Url :: parse( "file:///" ) . unwrap( ) ,
6503
6506
exports: exports. clone( ) ,
6504
- name: "@foo/bar" . to_string ( ) ,
6507
+ name: "@foo/bar" . into ( ) ,
6505
6508
version: Some ( Version :: parse_standard( "1.0.0" ) . unwrap( ) ) ,
6506
6509
} ] ;
6507
6510
let mut test_loader = MemoryLoader :: default ( ) ;
@@ -6571,7 +6574,7 @@ mod tests {
6571
6574
let workspace_members = vec ! [ WorkspaceMember {
6572
6575
base: Url :: parse( "file:///" ) . unwrap( ) ,
6573
6576
exports: exports. clone( ) ,
6574
- name: "@foo/bar" . to_string ( ) ,
6577
+ name: "@foo/bar" . into ( ) ,
6575
6578
version: Some ( Version :: parse_standard( "1.0.0" ) . unwrap( ) ) ,
6576
6579
} ] ;
6577
6580
let mut test_loader = MemoryLoader :: default ( ) ;
@@ -6652,14 +6655,13 @@ mod tests {
6652
6655
#[ test]
6653
6656
fn leading_v_version_tag_err ( ) {
6654
6657
{
6655
- let err = JsrPackageFormatError :: VersionTagNotSupported {
6656
- tag : "v1.2" . to_string ( ) ,
6657
- } ;
6658
+ let err =
6659
+ JsrPackageFormatError :: VersionTagNotSupported { tag : "v1.2" . into ( ) } ;
6658
6660
assert_eq ! ( err. to_string( ) , "Version tag not supported in jsr specifiers ('v1.2'). Remove leading 'v' before version." ) ;
6659
6661
}
6660
6662
{
6661
6663
let err = JsrPackageFormatError :: VersionTagNotSupported {
6662
- tag : "latest" . to_string ( ) ,
6664
+ tag : "latest" . into ( ) ,
6663
6665
} ;
6664
6666
assert_eq ! (
6665
6667
err. to_string( ) ,
@@ -6668,7 +6670,7 @@ mod tests {
6668
6670
}
6669
6671
{
6670
6672
let err = JsrPackageFormatError :: VersionTagNotSupported {
6671
- tag : "version" . to_string ( ) , // not a vversion with a leading 'v'
6673
+ tag : "version" . into ( ) , // not a vversion with a leading 'v'
6672
6674
} ;
6673
6675
assert_eq ! (
6674
6676
err. to_string( ) ,
0 commit comments