UNPKG

@ibaraki-douji/waifu2x

Version:

Upscale image with waifu2x-ncnn-vulkan.

42 lines (41 loc) 1.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const AdmZip = require("adm-zip"); const fs_1 = require("fs"); const node_fetch_1 = require("node-fetch"); const path_1 = require("path"); const dir = path_1.resolve(__dirname, '..'); console.log("Downloading and installing Waifu2X"); (async () => { let zipURL = ""; // REMOVE EXISTING 2X if (fs_1.existsSync(dir + "/waifu2x")) fs_1.rmdirSync(dir + "/waifu2x", { recursive: true }); // URL PLATFORM if (process.platform == "win32") zipURL = "https://github.com/nihui/waifu2x-ncnn-vulkan/releases/download/20210521/waifu2x-ncnn-vulkan-20210521-windows.zip"; else if (process.platform == "linux") zipURL = "https://github.com/nihui/waifu2x-ncnn-vulkan/releases/download/20210521/waifu2x-ncnn-vulkan-20210521-ubuntu.zip"; else throw new Error("This lib not support " + process.platform); // DOWNLOAD 2X const zipRes = await node_fetch_1.default(zipURL); const zip = await zipRes.buffer(); // INSTALL 2X fs_1.writeFileSync(dir + "/zip.zip", zip); let aZIP = new AdmZip(dir + "/zip.zip"); aZIP.extractAllTo(dir, true); fs_1.unlinkSync(dir + "/zip.zip"); // RENAME FOLDER let fname = fs_1.readdirSync(dir).find(p => p.includes("waifu2x-ncnn")); fs_1.renameSync(dir + "/" + fname, dir + "/waifu2x"); // INSTALL MISSING DLL if (process.platform == "win32") { const dllRes = await node_fetch_1.default("https://www.dll4free.com/download.php?dll=vulkan-1.dll&m=ac97f59aaf23e9f6baf6d29d6241adf3&action=download"); const dllZIP = await dllRes.buffer(); fs_1.writeFileSync(dir + "/waifu2x/vulkan-1.zip", dllZIP); let dZIP = new AdmZip(dir + "/waifu2x/vulkan-1.zip"); dZIP.extractAllTo(dir + "/waifu2x", true); fs_1.unlinkSync(dir + "/waifu2x/vulkan-1.zip"); } })();