فهرست منبع

Convert to Electron's native fetch

Manav Rathi 1 سال پیش
والد
کامیت
94ac21950d
3فایلهای تغییر یافته به همراه5 افزوده شده و 31 حذف شده
  1. 0 1
      desktop/package.json
  2. 5 5
      desktop/src/services/clipService.ts
  3. 0 25
      desktop/yarn.lock

+ 0 - 1
desktop/package.json

@@ -33,7 +33,6 @@
         "html-entities": "^2.4.0",
         "html-entities": "^2.4.0",
         "jpeg-js": "^0.4.4",
         "jpeg-js": "^0.4.4",
         "next-electron-server": "^1",
         "next-electron-server": "^1",
-        "node-fetch": "^2.6.7",
         "node-stream-zip": "^1.15.0",
         "node-stream-zip": "^1.15.0",
         "onnxruntime-node": "^1.16.3",
         "onnxruntime-node": "^1.16.3",
         "promise-fs": "^2.1.1"
         "promise-fs": "^2.1.1"

+ 5 - 5
desktop/src/services/clipService.ts

@@ -1,8 +1,7 @@
-import { app } from "electron";
 import * as log from "electron-log";
 import * as log from "electron-log";
+import { app, net } from "electron/main";
 import { existsSync } from "fs";
 import { existsSync } from "fs";
 import fs from "fs/promises";
 import fs from "fs/promises";
-import fetch from "node-fetch";
 import path from "path";
 import path from "path";
 import { readFile } from "promise-fs";
 import { readFile } from "promise-fs";
 import util from "util";
 import util from "util";
@@ -11,7 +10,7 @@ import { Model } from "../types";
 import Tokenizer from "../utils/clip-bpe-ts/mod";
 import Tokenizer from "../utils/clip-bpe-ts/mod";
 import { isDev } from "../utils/common";
 import { isDev } from "../utils/common";
 import { getPlatform } from "../utils/common/platform";
 import { getPlatform } from "../utils/common/platform";
-import { writeNodeStream } from "./fs";
+import { writeStream } from "./fs";
 import { logErrorSentry } from "./sentry";
 import { logErrorSentry } from "./sentry";
 const shellescape = require("any-shell-escape");
 const shellescape = require("any-shell-escape");
 const execAsync = util.promisify(require("child_process").exec);
 const execAsync = util.promisify(require("child_process").exec);
@@ -85,8 +84,9 @@ async function downloadModel(saveLocation: string, url: string) {
         await fs.mkdir(saveDir, { recursive: true });
         await fs.mkdir(saveDir, { recursive: true });
     }
     }
     log.info("downloading clip model");
     log.info("downloading clip model");
-    const resp = await fetch(url);
-    await writeNodeStream(saveLocation, resp.body);
+    const res = await net.fetch(url);
+    if (!res.ok) throw new Error(`Failed to fetch ${url}: HTTP ${res.status}`);
+    await writeStream(saveLocation, res.body);
     log.info("clip model downloaded");
     log.info("clip model downloaded");
 }
 }
 
 

+ 0 - 25
desktop/yarn.lock

@@ -2246,13 +2246,6 @@ node-addon-api@^1.6.3:
   resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d"
   resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d"
   integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
   integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
 
 
-node-fetch@^2.6.7:
-  version "2.6.7"
-  resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
-  integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
-  dependencies:
-    whatwg-url "^5.0.0"
-
 node-stream-zip@^1.15.0:
 node-stream-zip@^1.15.0:
   version "1.15.0"
   version "1.15.0"
   resolved "https://registry.yarnpkg.com/node-stream-zip/-/node-stream-zip-1.15.0.tgz#158adb88ed8004c6c49a396b50a6a5de3bca33ea"
   resolved "https://registry.yarnpkg.com/node-stream-zip/-/node-stream-zip-1.15.0.tgz#158adb88ed8004c6c49a396b50a6a5de3bca33ea"
@@ -2964,11 +2957,6 @@ to-regex-range@^5.0.1:
   dependencies:
   dependencies:
     is-number "^7.0.0"
     is-number "^7.0.0"
 
 
-tr46@~0.0.3:
-  version "0.0.3"
-  resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
-  integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
-
 tree-kill@^1.2.2:
 tree-kill@^1.2.2:
   version "1.2.2"
   version "1.2.2"
   resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc"
   resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc"
@@ -3092,19 +3080,6 @@ verror@^1.10.0:
     core-util-is "1.0.2"
     core-util-is "1.0.2"
     extsprintf "^1.2.0"
     extsprintf "^1.2.0"
 
 
-webidl-conversions@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
-  integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
-
-whatwg-url@^5.0.0:
-  version "5.0.0"
-  resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
-  integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
-  dependencies:
-    tr46 "~0.0.3"
-    webidl-conversions "^3.0.0"
-
 which@^2.0.1:
 which@^2.0.1:
   version "2.0.2"
   version "2.0.2"
   resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
   resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"