@forge/cli-shared

9.4.0-next.39.4.0-next.4
out/apps/template.js
~out/apps/template.jsModified
+4−10
Index: package/out/apps/template.js
===================================================================
--- package/out/apps/template.js
+++ package/out/apps/template.js
@@ -3,9 +3,8 @@
 exports.ComposableTemplater = exports.TemplateServiceLister = exports.TemplateFetchError = exports.ZipTemplateExtractor = exports.TemplateServiceDownloader = exports.InvalidTemplateArchiveError = exports.NoTemplateError = void 0;
 const tslib_1 = require("tslib");
 const fs_1 = tslib_1.__importDefault(require("fs"));
 const fs_extra_1 = require("fs-extra");
-const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
 const path_1 = require("path");
 const tmp_1 = tslib_1.__importDefault(require("tmp"));
 const url_1 = require("url");
 const error_handling_1 = require("../shared/error-handling");
@@ -23,19 +22,14 @@
 exports.InvalidTemplateArchiveError = InvalidTemplateArchiveError;
 class TemplateServiceDownloader {
     async download(template, zipFile) {
         const zipUrl = this.buildZipUrl(template);
-        const fileStream = fs_1.default.createWriteStream(zipFile);
-        const response = await (0, node_fetch_1.default)(zipUrl);
+        const response = await fetch(zipUrl);
         if (!response.ok) {
             throw new NoTemplateError(template);
         }
-        await new Promise((resolve) => {
-            fileStream.on('finish', (...args) => {
-                resolve(args);
-            });
-            response.body.pipe(fileStream);
-        });
+        const zipBytes = await response.arrayBuffer();
+        fs_1.default.writeFileSync(zipFile, Buffer.from(zipBytes));
     }
     buildZipUrl(template) {
         return new url_1.URL(`${template}.zip`, TEMPLATE_SERVICE_URL);
     }
@@ -87,9 +81,9 @@
         }
         return false;
     }
     async getAvailableTemplates() {
-        const res = await (0, node_fetch_1.default)(new url_1.URL(TEMPLATE_MAP, TEMPLATE_SERVICE_URL));
+        const res = await fetch(new url_1.URL(TEMPLATE_MAP, TEMPLATE_SERVICE_URL));
         if (!res.ok) {
             throw new TemplateFetchError(res.statusText);
         }
         const json = await res.json();