aboutsummaryrefslogtreecommitdiff
path: root/src/bundler.zig
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/bundler.zig51
1 files changed, 39 insertions, 12 deletions
diff --git a/src/bundler.zig b/src/bundler.zig
index b4226d4d9..1bcf12a58 100644
--- a/src/bundler.zig
+++ b/src/bundler.zig
@@ -874,27 +874,54 @@ pub fn NewBundler(cache_files: bool) type {
switch (loader) {
.css => {
+ const CSSBundlerHMR = Css.NewBundler(
+ Writer,
+ @TypeOf(&bundler.linker),
+ @TypeOf(&bundler.resolver.caches.fs),
+ WatcherType,
+ @TypeOf(bundler.fs),
+ true,
+ );
+
const CSSBundler = Css.NewBundler(
Writer,
@TypeOf(&bundler.linker),
@TypeOf(&bundler.resolver.caches.fs),
WatcherType,
@TypeOf(bundler.fs),
+ false,
);
return BuildResolveResultPair{
- .written = try CSSBundler.runWithResolveResult(
- resolve_result,
- bundler.fs,
- writer,
- watcher,
- &bundler.resolver.caches.fs,
- filepath_hash,
- file_descriptor,
- allocator,
- bundler.log,
- &bundler.linker,
- ),
+ .written = brk: {
+ if (bundler.options.hot_module_reloading) {
+ break :brk try CSSBundlerHMR.bundle(
+ resolve_result.path_pair.primary.text,
+ bundler.fs,
+ writer,
+ watcher,
+ &bundler.resolver.caches.fs,
+ filepath_hash,
+ file_descriptor,
+ allocator,
+ bundler.log,
+ &bundler.linker,
+ );
+ } else {
+ break :brk try CSSBundler.bundle(
+ resolve_result.path_pair.primary.text,
+ bundler.fs,
+ writer,
+ watcher,
+ &bundler.resolver.caches.fs,
+ filepath_hash,
+ file_descriptor,
+ allocator,
+ bundler.log,
+ &bundler.linker,
+ );
+ }
+ },
.input_fd = file_descriptor,
};
},