Skip to content

Commit 6982c16

Browse files
committed
chore: unify service workers file creation
1 parent efba02c commit 6982c16

File tree

1 file changed

+8
-19
lines changed

1 file changed

+8
-19
lines changed

src/Uno.Wasm.Bootstrap/ShellTask.cs

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,7 @@ public override bool Execute()
150150
ExtractAdditionalCSS();
151151
RemoveDuplicateAssets();
152152
GeneratePackageFolder();
153-
BuildServiceWorker();
154-
BuildServiceWorkerClassic();
153+
BuildServiceWorkers();
155154
GenerateEmbeddedJs();
156155
GenerateIndexHtml();
157156
GenerateConfig();
@@ -295,27 +294,17 @@ private void CopyContent()
295294
}
296295
}
297296

298-
private void BuildServiceWorker()
297+
private void BuildServiceWorkers()
299298
{
300-
using var resourceStream = GetType().Assembly.GetManifestResourceStream("Uno.Wasm.Bootstrap.v0.Embedded.service-worker.js");
301-
using var reader = new StreamReader(resourceStream);
302-
303-
var worker = TouchServiceWorker(reader.ReadToEnd());
304-
var memoryStream = new MemoryStream();
305-
306-
using var writer = new StreamWriter(memoryStream, Encoding.UTF8);
307-
writer.Write(worker);
308-
writer.Flush();
309-
310-
memoryStream.Position = 0;
299+
BuildServiceWorker(resource: "Uno.Wasm.Bootstrap.v0.Embedded.service-worker.js", outputFile: "service-worker.js");
311300

312-
CopyStreamToOutput("service-worker.js", memoryStream, DeployMode.Root);
301+
// Case for browsers that do not support modules for service workers: Firefox for example
302+
BuildServiceWorker(resource: "Uno.Wasm.Bootstrap.v0.Embedded.service-worker-classic.js", outputFile: "service-worker-classic.js");
313303
}
314304

315-
// Case for browsers that do not support modules for service workers: Firefox for example
316-
private void BuildServiceWorkerClassic()
305+
private void BuildServiceWorker(string resource, string outputFile)
317306
{
318-
using var resourceStream = GetType().Assembly.GetManifestResourceStream("Uno.Wasm.Bootstrap.v0.Embedded.service-worker-classic.js");
307+
using var resourceStream = GetType().Assembly.GetManifestResourceStream(resource);
319308
using var reader = new StreamReader(resourceStream);
320309

321310
var worker = TouchServiceWorker(reader.ReadToEnd());
@@ -327,7 +316,7 @@ private void BuildServiceWorkerClassic()
327316

328317
memoryStream.Position = 0;
329318

330-
CopyStreamToOutput("service-worker-classic.js", memoryStream, DeployMode.Root);
319+
CopyStreamToOutput(outputFile, memoryStream, DeployMode.Root);
331320
}
332321

333322
private void ExtractAdditionalJS()

0 commit comments

Comments
 (0)