@forge/cli-shared
9.3.1-next.29.3.1-next.2-experimental-f4ce0ae
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();