Skip to content

Commit b7d2c5a

Browse files
committed
chore: unify service workers file creation
1 parent 83bfbd2 commit b7d2c5a

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
@@ -152,8 +152,7 @@ public override bool Execute()
152152
ExtractAdditionalCSS();
153153
RemoveDuplicateAssets();
154154
GeneratePackageFolder();
155-
BuildServiceWorker();
156-
BuildServiceWorkerClassic();
155+
BuildServiceWorkers();
157156
GenerateEmbeddedJs();
158157
GenerateIndexHtml();
159158
GenerateConfig();
@@ -297,27 +296,17 @@ private void CopyContent()
297296
}
298297
}
299298

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

314-
CopyStreamToOutput("service-worker.js", memoryStream, DeployMode.Root);
303+
// Case for browsers that do not support modules for service workers: Firefox for example
304+
BuildServiceWorker(resource: "Uno.Wasm.Bootstrap.v0.Embedded.service-worker-classic.js", outputFile: "service-worker-classic.js");
315305
}
316306

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

323312
var worker = TouchServiceWorker(reader.ReadToEnd());
@@ -329,7 +318,7 @@ private void BuildServiceWorkerClassic()
329318

330319
memoryStream.Position = 0;
331320

332-
CopyStreamToOutput("service-worker-classic.js", memoryStream, DeployMode.Root);
321+
CopyStreamToOutput(outputFile, memoryStream, DeployMode.Root);
333322
}
334323

335324
private void ExtractAdditionalJS()

0 commit comments

Comments
 (0)