@@ -67,10 +67,16 @@ impl AlephJsxFold {
67
67
JSXElementName :: Ident ( id) => {
68
68
let name = id. sym . as_ref ( ) ;
69
69
match name {
70
- "head" | "script" => {
70
+ "head" => {
71
71
let mut resolver = self . resolver . borrow_mut ( ) ;
72
- resolver. used_builtin_jsx_tags . insert ( name. into ( ) ) ;
73
- el. name = JSXElementName :: Ident ( quote_ident ! ( rename_builtin_tag( name) ) ) ;
72
+ resolver. used_builtin_jsx_tags . insert ( "Head" . into ( ) ) ;
73
+ el. name = JSXElementName :: Ident ( quote_ident ! ( "__ALEPH_Head" ) ) ;
74
+ }
75
+
76
+ "script" => {
77
+ let mut resolver = self . resolver . borrow_mut ( ) ;
78
+ resolver. used_builtin_jsx_tags . insert ( "CustomScript" . into ( ) ) ;
79
+ el. name = JSXElementName :: Ident ( quote_ident ! ( "__ALEPH_CustomScript" ) ) ;
74
80
}
75
81
76
82
"a" => {
@@ -97,12 +103,12 @@ impl AlephJsxFold {
97
103
}
98
104
99
105
if should_replace {
100
- resolver. used_builtin_jsx_tags . insert ( name . into ( ) ) ;
101
- el. name = JSXElementName :: Ident ( quote_ident ! ( rename_builtin_tag ( name ) ) ) ;
106
+ resolver. used_builtin_jsx_tags . insert ( "Anchor" . into ( ) ) ;
107
+ el. name = JSXElementName :: Ident ( quote_ident ! ( "__ALEPH_Anchor" ) ) ;
102
108
}
103
109
}
104
110
105
- "link" | "StyleLink" => {
111
+ "link" => {
106
112
let mut should_replace = false ;
107
113
108
114
for attr in & el. attrs {
@@ -112,9 +118,7 @@ impl AlephJsxFold {
112
118
value : Some ( JSXAttrValue :: Lit ( Lit :: Str ( Str { value, .. } ) ) ) ,
113
119
..
114
120
} ) => {
115
- if name. eq ( "StyleLink" )
116
- || ( id. sym . eq ( "rel" ) && ( value. eq ( "stylesheet" ) || value. eq ( "style" ) ) )
117
- {
121
+ if id. sym . eq ( "rel" ) && ( value. eq ( "stylesheet" ) || value. eq ( "style" ) ) {
118
122
should_replace = true ;
119
123
break ;
120
124
}
@@ -162,8 +166,8 @@ impl AlephJsxFold {
162
166
}
163
167
164
168
if name. eq ( "link" ) {
165
- resolver. used_builtin_jsx_tags . insert ( "stylelink " . into ( ) ) ;
166
- el. name = JSXElementName :: Ident ( quote_ident ! ( rename_builtin_tag ( "stylelink" ) ) ) ;
169
+ resolver. used_builtin_jsx_tags . insert ( "StyleLink " . into ( ) ) ;
170
+ el. name = JSXElementName :: Ident ( quote_ident ! ( "__ALEPH_StyleLink" ) ) ;
167
171
}
168
172
}
169
173
}
@@ -213,8 +217,8 @@ impl AlephJsxFold {
213
217
specifier : "#" . to_owned ( ) + id. as_str ( ) ,
214
218
is_dynamic : false ,
215
219
} ) ;
216
- resolver. used_builtin_jsx_tags . insert ( name . into ( ) ) ;
217
- el. name = JSXElementName :: Ident ( quote_ident ! ( rename_builtin_tag ( name ) ) ) ;
220
+ resolver. used_builtin_jsx_tags . insert ( "InlineStyle" . into ( ) ) ;
221
+ el. name = JSXElementName :: Ident ( quote_ident ! ( "__ALEPH_InlineStyle" ) ) ;
218
222
inline_style = Some ( ( type_prop_value, id. into ( ) ) ) ;
219
223
}
220
224
@@ -363,9 +367,11 @@ impl Fold for AlephJsxBuiltinModuleResolveFold {
363
367
if name. eq ( "a" ) {
364
368
name = "anchor" . to_owned ( )
365
369
}
366
- let id = quote_ident ! ( rename_builtin_tag( name. as_str( ) ) ) ;
370
+ let mut id_name = "__ALEPH_" . to_owned ( ) ;
371
+ id_name. push_str ( name. as_str ( ) ) ;
372
+ let id = quote_ident ! ( id_name) ;
367
373
let ( resolved_path, fixed_url) = resolver. resolve (
368
- format ! ( "{}/framework/react/{}.ts" , aleph_pkg_uri, name) . as_str ( ) ,
374
+ format ! ( "{}/framework/react/components/ {}.ts" , aleph_pkg_uri, name) . as_str ( ) ,
369
375
false ,
370
376
) ;
371
377
if resolver. bundle_mode && resolver. bundle_external . contains ( fixed_url. as_str ( ) ) {
@@ -419,18 +425,6 @@ impl Fold for AlephJsxBuiltinModuleResolveFold {
419
425
}
420
426
}
421
427
422
- fn rename_builtin_tag ( name : & str ) -> String {
423
- let mut c = name. chars ( ) ;
424
- let mut name = match c. next ( ) {
425
- None => String :: new ( ) ,
426
- Some ( f) => f. to_uppercase ( ) . collect :: < String > ( ) + c. as_str ( ) ,
427
- } ;
428
- if name. eq ( "A" ) {
429
- name = "Anchor" . into ( ) ;
430
- }
431
- "__ALEPH_" . to_owned ( ) + name. as_str ( )
432
- }
433
-
434
428
#[ cfg( test) ]
435
429
mod tests {
436
430
use crate :: resolve:: DependencyDescriptor ;
@@ -465,21 +459,22 @@ mod tests {
465
459
"# ;
466
460
let ( code, resolver) = st ( "/pages/index.tsx" , source, false ) ;
467
461
assert ! ( code. contains(
468
- "import __ALEPH_Anchor from \" ../-/deno.land/x/[email protected] /framework/react/anchor .js\" "
462
+ "import __ALEPH_Anchor from \" ../-/deno.land/x/[email protected] /framework/react/components/Anchor .js\" "
469
463
) ) ;
470
464
assert ! ( code. contains(
471
- "import __ALEPH_Head from \" ../-/deno.land/x/[email protected] /framework/react/head .js\" "
465
+ "import __ALEPH_Head from \" ../-/deno.land/x/[email protected] /framework/react/components/Head .js\" "
472
466
) ) ;
473
467
assert ! ( code. contains(
474
- "import __ALEPH_Stylelink from \" ../-/deno.land/x/[email protected] /framework/react/stylelink .js\" "
468
+ "import __ALEPH_StyleLink from \" ../-/deno.land/x/[email protected] /framework/react/components/StyleLink .js\" "
475
469
) ) ;
476
470
assert ! ( code. contains(
477
- "import __ALEPH_Script from \" ../-/deno.land/x/[email protected] /framework/react/script .js\" "
471
+ "import __ALEPH_CustomScript from \" ../-/deno.land/x/[email protected] /framework/react/components/CustomScript .js\" "
478
472
) ) ;
479
473
assert ! ( code. contains( "React.createElement(\" a\" ," ) ) ;
480
474
assert ! ( code. contains( "React.createElement(__ALEPH_Anchor," ) ) ;
481
475
assert ! ( code. contains( "React.createElement(__ALEPH_Head," ) ) ;
482
- assert ! ( code. contains( "React.createElement(__ALEPH_Stylelink," ) ) ;
476
+ assert ! ( code. contains( "React.createElement(__ALEPH_StyleLink," ) ) ;
477
+ assert ! ( code. contains( "React.createElement(__ALEPH_CustomScript," ) ) ;
483
478
assert ! ( code. contains( "href: \" /style/index.css\" " ) ) ;
484
479
assert ! ( code. contains(
485
480
format!(
@@ -488,7 +483,6 @@ mod tests {
488
483
)
489
484
. as_str( )
490
485
) ) ;
491
- assert ! ( code. contains( "React.createElement(__ALEPH_Script," ) ) ;
492
486
let r = resolver. borrow_mut ( ) ;
493
487
assert_eq ! (
494
488
r. dep_graph,
@@ -502,19 +496,21 @@ mod tests {
502
496
is_dynamic: false ,
503
497
} ,
504
498
DependencyDescriptor {
505
- specifier
: "https://deno.land/x/[email protected] /framework/react/head .ts" . into
( ) ,
499
+ specifier
: "https://deno.land/x/[email protected] /framework/react/components/Head .ts" . into
( ) ,
506
500
is_dynamic: false ,
507
501
} ,
508
502
DependencyDescriptor {
509
- specifier
: "https://deno.land/x/[email protected] /framework/react/stylelink.ts" . into
( ) ,
503
+ specifier
: "https://deno.land/x/[email protected] /framework/react/components/StyleLink.ts"
504
+ . into( ) ,
510
505
is_dynamic: false ,
511
506
} ,
512
507
DependencyDescriptor {
513
- specifier
: "https://deno.land/x/[email protected] /framework/react/anchor .ts" . into
( ) ,
508
+ specifier
: "https://deno.land/x/[email protected] /framework/react/components/Anchor .ts" . into
( ) ,
514
509
is_dynamic: false ,
515
510
} ,
516
511
DependencyDescriptor {
517
- specifier
: "https://deno.land/x/[email protected] /framework/react/script.ts" . into
( ) ,
512
+ specifier
: "https://deno.land/x/[email protected] /framework/react/components/CustomScript.ts"
513
+ . into( ) ,
518
514
is_dynamic: false ,
519
515
}
520
516
]
@@ -545,9 +541,9 @@ mod tests {
545
541
"# ;
546
542
let ( code, resolver) = st ( "/pages/index.tsx" , source, false ) ;
547
543
assert ! ( code. contains(
548
- "import __ALEPH_Style from \" ../-/deno.land/x/[email protected] /framework/react/style .js\" "
544
+ "import __ALEPH_InlineStyle from \" ../-/deno.land/x/[email protected] /framework/react/components/InlineStyle .js\" "
549
545
) ) ;
550
- assert ! ( code. contains( "React.createElement(__ALEPH_Style ," ) ) ;
546
+ assert ! ( code. contains( "React.createElement(__ALEPH_InlineStyle ," ) ) ;
551
547
assert ! ( code. contains( "__styleId: \" inline-style-" ) ) ;
552
548
let r = resolver. borrow_mut ( ) ;
553
549
assert ! ( r. inline_styles. len( ) == 2 ) ;
0 commit comments