Skip to content

Commit

Permalink
Merge pull request #7 from tajo/css-inline
Browse files Browse the repository at this point in the history
Append ?inline to CSS imports
  • Loading branch information
tajo committed Jul 14, 2023
2 parents 0514275 + f74db1c commit e3a6e9b
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 1 deletion.
1 change: 1 addition & 0 deletions fixtures/asseturl-use-file-name/code.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ const Test = assetUrl("./foo.jpg");
const Test2 = assetUrl("./foo-bar.jpg");
const Test3 = assetUrl("./foo@bar.jpg");
const Test4 = assetUrl("./foo.jpg");
const Styles = assetUrl("./styles.css");
2 changes: 2 additions & 0 deletions fixtures/asseturl-use-file-name/output.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import $_asseturl___styles_css3 from "./styles.css?inline";
import $_asseturl___foo_bar_jpg2 from "./foo@bar.jpg";
import $_asseturl___foo_jpg0 from "./foo.jpg";
import $_asseturl___foo_bar_jpg1 from "./foo-bar.jpg";
Expand All @@ -6,3 +7,4 @@ const Test = $_asseturl___foo_jpg0;
const Test2 = $_asseturl___foo_bar_jpg1;
const Test3 = $_asseturl___foo_bar_jpg2;
const Test4 = $_asseturl___foo_jpg0;
const Styles = $_asseturl___styles_css3;
9 changes: 8 additions & 1 deletion packages/fusion/transform/src/visitors/asseturl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -94,14 +94,21 @@ impl VisitMut for AsseturlVisitor {
local: new_ident,
});

let initial_src_value: String = i.file_path.clone().into();
let src_value = if initial_src_value.ends_with(".css") {
format!("{}?inline", initial_src_value)
} else {
initial_src_value
};

prepend_stmt(
&mut n.body,
ModuleItem::ModuleDecl(ModuleDecl::Import(ImportDecl {
span: DUMMY_SP,
specifiers: vec![specifier],
src: Box::new(Str {
span: DUMMY_SP,
value: i.file_path.clone().into(),
value: src_value.into(),
raw: None,
}),
type_only: Default::default(),
Expand Down

0 comments on commit e3a6e9b

Please sign in to comment.