Просмотр исходного кода

chore: fix AMO signed file download

Gerald 3 лет назад
Родитель
Сommit
d6d00de0a5
3 измененных файлов с 9 добавлено и 22 удалено
  1. 1 2
      package.json
  2. 4 16
      scripts/amo-upload.mjs
  3. 4 4
      yarn.lock

+ 1 - 2
package.json

@@ -34,7 +34,7 @@
     "@gera2ld/plaid-webpack": "~1.5.5",
     "@types/chrome": "^0",
     "@types/firefox-webext-browser": "82.0.0",
-    "amo-upload": "^0.1.2",
+    "amo-upload": "^0.2.0",
     "cross-env": "^7.0.2",
     "cross-spawn": "^7.0.1",
     "del": "^5.1.0",
@@ -44,7 +44,6 @@
     "husky": "^4.2.3",
     "js-yaml": "^4.1.0",
     "jsdom": "^16.2.1",
-    "node-fetch": "^3.2.6",
     "npm-run-all": "^4.1.5",
     "plugin-error": "^1.0.0",
     "sharp": "^0.26.2",

+ 4 - 16
scripts/amo-upload.mjs

@@ -1,8 +1,6 @@
-import { createWriteStream } from 'fs';
 import { rename, writeFile } from 'fs/promises';
 import { join } from 'path';
 import { signAddon } from 'amo-upload';
-import fetch from 'node-fetch';
 import { readManifest, buildUpdatesList } from './manifest-helper.js';
 import { getVersion, isBeta } from './version-helper.js';
 import { hasAsset } from './release-helper.js';
@@ -27,7 +25,8 @@ async function main() {
     pollRetry: 0,
   };
 
-  const file = await signAddon({
+  const tempFile = join(process.env.TEMP_DIR, Math.random().toString(36).slice(2, 8).toString());
+  await signAddon({
     apiKey: process.env.AMO_KEY,
     apiSecret: process.env.AMO_SECRET,
     addonId: manifest.browser_specific_settings.gecko.id,
@@ -37,28 +36,17 @@ async function main() {
       ? join(process.env.TEMP_DIR, process.env.ASSET_SELF_HOSTED_ZIP)
       : join(process.env.ASSETS_DIR, process.env.ASSETS_ZIP),
     sourceFile: join(process.env.TEMP_DIR, process.env.SOURCE_ZIP),
+    output: tempFile,
     ...pollOptions,
   });
 
   const xpiFile = join(process.env.ASSETS_DIR, fileName);
-  await downloadFile(file.download_url, xpiFile);
+  await rename(tempFile, xpiFile);
 
   const updates = await buildUpdatesList(version, url);
   await writeFile(join(process.env.TEMP_DIR, 'updates/updates.json'), JSON.stringify(updates, null, 2), 'utf8');
 }
 
-async function downloadFile(url, file) {
-  const res = await fetch(url);
-  const tempFile = join(process.env.TEMP_DIR, Math.random().toString(36).slice(2, 8).toString());
-  const stream = createWriteStream(tempFile);
-  await new Promise((resolve, reject) => {
-    res.body.pipe(stream);
-    res.body.on('error', reject);
-    stream.on('finish', resolve);
-  });
-  await rename(tempFile, file);
-}
-
 main().catch(err => {
   console.error(err);
   process.exitCode = 1;

+ 4 - 4
yarn.lock

@@ -1548,10 +1548,10 @@ alphanum-sort@^1.0.0:
   resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
   integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=
 
-amo-upload@^0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/amo-upload/-/amo-upload-0.1.2.tgz#95d8d579bb537f37faa49c081be6161967369aec"
-  integrity sha512-uWv2m/Jn12m0STOhNOP341w9KoAC2UwvVC+NdX4bP+6rx5fhsViqmLMSqRFaZd3I7FxGLZVYLgVvdK22DThlcQ==
+amo-upload@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/amo-upload/-/amo-upload-0.2.0.tgz#d8e5f17b9eec67a4cc9486f2c6049ce93e0ce840"
+  integrity sha512-a2OKJXFEoTrrqxlb0gi1gluGbwIlGl4y0DIMvn9vhbdCKKesp9DNxP5qNAKJK9L4CKWVcALl3SnX59/WJu4l7w==
   dependencies:
     "@babel/runtime" "^7.18.3"
     commander "^9.3.0"