UNPKG

webfont-awesome-pro

Version:
311 lines (260 loc) 14.4 kB
var $cl6Iw$chalk = require("chalk"); var $cl6Iw$readline = require("readline"); var $cl6Iw$nodejsfiledownloader = require("nodejs-file-downloader"); var $cl6Iw$fs = require("fs"); var $cl6Iw$postcss = require("postcss"); var $cl6Iw$postcsssafeparser = require("postcss-safe-parser"); function $parcel$interopDefault(a) { return a && a.__esModule ? a.default : a; } function $parcel$export(e, n, v, s) { Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true}); } $parcel$export(module.exports, "getFontAwesomePro", () => $123f4982a51872b4$export$c0a0c3a161860b55); $parcel$export(module.exports, "getFapro", () => $123f4982a51872b4$export$89ae034f08762d55); function $4335f2725be7a2e4$export$2e2bcd8739ae039(ms = 500, n = 5) { return new Promise((resolve)=>setTimeout(resolve, ms - n)); } function $fd2fccb6528f1018$export$db9f06b5d27d15d8(text) { return new Promise((resolve)=>{ const rl = (0, ($parcel$interopDefault($cl6Iw$readline))).createInterface({ input: process.stdin, output: process.stdout }); rl.question(text, (anwer)=>{ resolve(anwer); rl.close(); }); }); } async function $1be43886ff9389d9$export$2e2bcd8739ae039() { console.log("--------"); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(1000); console.log(" "); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(100); console.log(`Set the ${(0, ($parcel$interopDefault($cl6Iw$chalk))).cyan("Download Path")}!`); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(100); console.log("--------"); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(100); console.log("Download path can be " + (0, ($parcel$interopDefault($cl6Iw$chalk))).cyan("`path/to/your/public/folder`") + " or " + (0, ($parcel$interopDefault($cl6Iw$chalk))).cyan("`anything`") + "."); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(100); console.log("--------"); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(100); console.log("if the path does not exist, it will be created automatically."); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(500); console.log("--------"); const dir = await (0, $fd2fccb6528f1018$export$db9f06b5d27d15d8)(`Enter download path: ${(0, ($parcel$interopDefault($cl6Iw$chalk))).bold.cyan("(fapro)")} `); const useDir = dir ? dir : "fapro"; console.log((0, ($parcel$interopDefault($cl6Iw$chalk))).bold.cyan(`${useDir}`) + `${dir ? "" : " (default)"}`); console.log("--------"); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(750); console.log(" "); console.log((0, ($parcel$interopDefault($cl6Iw$chalk))).bgYellow.black(" -- Preparing Downloader -- ")); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(2250); console.log(" "); return { useDir: useDir }; } async function $c3e5cd03b3c41221$export$75ad550fa5fe1d36(dirpath) { let curpath = "."; const dirs = dirpath.split("/"); for (const dir of dirs){ curpath += `/${dir}`; if (!(0, ($parcel$interopDefault($cl6Iw$fs))).existsSync(curpath)) { (0, ($parcel$interopDefault($cl6Iw$fs))).mkdirSync(curpath); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(100); } } } let $27d6a850902385a7$var$filesDownloaded = []; async function $27d6a850902385a7$export$bb3b75778e3e272(fileurl, filedir, progress = null) { await (0, $c3e5cd03b3c41221$export$75ad550fa5fe1d36)(`${filedir}`); const downloader = new (0, $cl6Iw$nodejsfiledownloader.Downloader)({ url: fileurl, directory: `./${filedir}`, cloneFiles: false }); try { await downloader.download(); const fileorigin = fileurl.split("/"); const filename = fileorigin[fileorigin.length - 1]; console.log(`\u{1F680} ${progress ? (0, ($parcel$interopDefault($cl6Iw$chalk))).yellow(progress) + " " : ""}${filename}`); $27d6a850902385a7$var$filesDownloaded.push(filename); } catch (_error) { throw new Error((0, ($parcel$interopDefault($cl6Iw$chalk))).red("The version you wanted to download is not available. Please use other release version.")); } } function $27d6a850902385a7$export$8de8b92fd301c83e() { const files = [ ...$27d6a850902385a7$var$filesDownloaded ]; $27d6a850902385a7$var$filesDownloaded = []; return files; } async function $356121e0811cedf1$export$2e2bcd8739ae039(useVer, useDir, fontlist) { console.log("--------"); console.log(`\u{1F557} Downloading All Stylesheets`); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(2000); const dir = `${useDir}/css`; for(let i = 0; i < fontlist.length; i++){ const url = fontlist[i]; const progress = `[${i + 1}/${fontlist.length}]`; await (0, $27d6a850902385a7$export$bb3b75778e3e272)(url, dir, progress); } console.log((0, ($parcel$interopDefault($cl6Iw$chalk))).greenBright("\u2705 Stylesheets Downloaded")); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(2000); return (0, $27d6a850902385a7$export$8de8b92fd301c83e)(); } let $dee518ee90c6edcc$var$fontUrls = []; async function $dee518ee90c6edcc$export$85c953af022fd6f3(filename, filedir) { const css = (0, ($parcel$interopDefault($cl6Iw$fs))).readFileSync(`./${filedir}/${filename}`, "utf8"); (0, ($parcel$interopDefault($cl6Iw$postcss)))().process(css, { parser: (0, ($parcel$interopDefault($cl6Iw$postcsssafeparser))), from: undefined }).then((result)=>{ result.root.walkAtRules("font-face", (rule)=>{ rule.walkDecls("src", (decl)=>{ const matches = decl.value.match(/url\(([^)]+)\)/g); if (matches) matches.forEach((url)=>{ const cleanUrl = url.replace(/url\(["']?/, "").replace(/["']?\)/, ""); $dee518ee90c6edcc$var$fontUrls.push(cleanUrl); }); }); }); }); } function $dee518ee90c6edcc$export$cbcfe4007f417765() { const fixedFonts = [ ...$dee518ee90c6edcc$var$fontUrls ]; $dee518ee90c6edcc$var$fontUrls = []; return fixedFonts; } async function $7348ac6bfe35f15e$export$ae70b50decb7cf58(sheets, useDir) { console.log("--------"); console.log("\uD83D\uDD57 Reading Available Webfonts"); const dir = `${useDir}/css`; for (const sheet of sheets)await (0, $dee518ee90c6edcc$export$85c953af022fd6f3)(sheet, dir); const fonts = (0, $dee518ee90c6edcc$export$cbcfe4007f417765)(); console.log("\u2705 Found " + (0, ($parcel$interopDefault($cl6Iw$chalk))).green(fonts.length.toString()) + " Webfonts"); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(2000); return fonts; } async function $7348ac6bfe35f15e$export$6c18a7d4cf131851(fonts, filedir, baseUrl) { const dir = `${filedir}/webfonts`; await (0, $c3e5cd03b3c41221$export$75ad550fa5fe1d36)(dir); const fonturl = baseUrl; console.log("--------"); console.log("\uD83D\uDD57 Downloading All Webfonts"); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(2000); for(let i = 0; i < fonts.length; i++){ const font = fonts[i].replace("..", ""); const url = `${fonturl}${font}`; const progress = `[${i + 1}/${fonts.length}]`; await (0, $27d6a850902385a7$export$bb3b75778e3e272)(url, dir, progress); } console.log((0, ($parcel$interopDefault($cl6Iw$chalk))).greenBright("\u2705 Webfonts Downloaded")); } var $76e709583c343c63$exports = {}; $76e709583c343c63$exports = JSON.parse("{\"version\":\"7.0.0\",\"root\":\"https://site-assets.fontawesome.com/releases/v7.0.0\",\"css\":[\"fontawesome.css\",\"whiteboard-semibold.css\",\"thumbprint-light.css\",\"slab-press-regular.css\",\"slab-regular.css\",\"sharp-duotone-thin.css\",\"sharp-duotone-solid.css\",\"sharp-duotone-regular.css\",\"sharp-duotone-light.css\",\"sharp-thin.css\",\"sharp-solid.css\",\"sharp-regular.css\",\"sharp-light.css\",\"notdog-duo-solid.css\",\"notdog-solid.css\",\"jelly-fill-regular.css\",\"jelly-duo-regular.css\",\"jelly-regular.css\",\"etch-solid.css\",\"duotone-thin.css\",\"duotone.css\",\"duotone-regular.css\",\"duotone-light.css\",\"thin.css\",\"solid.css\",\"regular.css\",\"light.css\",\"brands.css\",\"chisel-regular.css\"]}"); async function $b5a14f8b420f5894$var$getVersion() { const url = `https://raw.githubusercontent.com/devanka761/webfont-awesome-pro/refs/heads/master/src/json/fonts.json?ts=${Date.now().toString(36)}`; return await fetch(url, { method: "GET" }).then((res)=>res.json()).then((res)=>{ console.log(`\u{2705} Found: v${res.version}`); return res; }).catch(()=>{ console.log(`\u{26D4} Error getting the latest version!`); console.log(`\u{26D4} Forced Using v${(0, (/*@__PURE__*/$parcel$interopDefault($76e709583c343c63$exports))).version}`); return 0, (/*@__PURE__*/$parcel$interopDefault($76e709583c343c63$exports)); }); } async function $b5a14f8b420f5894$export$2e2bcd8739ae039() { console.log("--------"); console.log("\uD83D\uDD57 Checking Latest Version"); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(1000); const curFonts = await $b5a14f8b420f5894$var$getVersion(); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(100); console.log("--------"); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(1000); console.log(" "); console.log((0, ($parcel$interopDefault($cl6Iw$chalk))).bgGreen.black(` -- Downloading Version ${curFonts.version} of Font Awesome ${curFonts.version.split(".")[0]} Pro -- `)); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(1000); console.log(" "); console.log("--------"); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(100); console.log("\uD83D\uDD57 Reading Available Stylesheets"); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(500); const fontlist = curFonts.css.map((file)=>`${curFonts.root}/css/${file}`); console.log("\u2705 Found " + (0, ($parcel$interopDefault($cl6Iw$chalk))).green(fontlist.length.toString()) + " Sytlesheets"); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(2000); return { fontlist: fontlist, useVer: curFonts.version, baseUrl: curFonts.root }; } async function $4eef5e371b281461$export$2e2bcd8739ae039() { console.log((0, ($parcel$interopDefault($cl6Iw$chalk))).bgCyan.black(" -- Font Awesome Pro Downloader | Devanka761 -- ")); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(500); console.log(""); console.log("--------"); console.log(`Font Awesome Pro Downloader was made for ${(0, ($parcel$interopDefault($cl6Iw$chalk))).yellow("educational purposes")} only!`); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(100); console.log("--------"); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(100); console.log(`This downloader provides ${(0, ($parcel$interopDefault($cl6Iw$chalk))).bold.green("Paid version")} for the latest Official Package. It is intended for ${(0, ($parcel$interopDefault($cl6Iw$chalk))).yellow("experimental")} and ${(0, ($parcel$interopDefault($cl6Iw$chalk))).yellow("personal use")} only. It is ${(0, ($parcel$interopDefault($cl6Iw$chalk))).red("not licensed")} for commercial use.`); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(100); console.log("--------"); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(100); console.log(`To unlock commercial use and get an official product license, please consider to go to the ${(0, ($parcel$interopDefault($cl6Iw$chalk))).green("Font Awesome")} webiste: ${(0, ($parcel$interopDefault($cl6Iw$chalk))).green("https://fontawesome.com/plans")}`); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(100); console.log("--------"); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(500); let agree = await (0, $fd2fccb6528f1018$export$db9f06b5d27d15d8)(`Continue to download? (${(0, ($parcel$interopDefault($cl6Iw$chalk))).cyan("Y")}/n) `); agree = agree ? agree.toLowerCase() : "y"; const notAgrees = [ "no", "n", "nope" ]; const isOk = notAgrees.find((textNo)=>textNo === agree) ? false : true; console.log((0, ($parcel$interopDefault($cl6Iw$chalk))).cyan(isOk ? "y" : "n")); if (!isOk) { console.log("--------"); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(1000); console.log((0, ($parcel$interopDefault($cl6Iw$chalk))).red("\u26D4 Font Awesome Pro Downloader Canceled")); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(1000); console.log((0, ($parcel$interopDefault($cl6Iw$chalk))).bgRed.black(" --- DONE --- ")); } return { isOk: isOk }; } async function $123f4982a51872b4$var$startDownloader() { await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(100); console.clear(); const { isOk: isOk } = await (0, $4eef5e371b281461$export$2e2bcd8739ae039)(); if (!isOk) return; const { useDir: useDir } = await (0, $1be43886ff9389d9$export$2e2bcd8739ae039)(); const { fontlist: fontlist, useVer: useVer, baseUrl: baseUrl } = await (0, $b5a14f8b420f5894$export$2e2bcd8739ae039)(); const cssUrls = await (0, $356121e0811cedf1$export$2e2bcd8739ae039)(useVer, useDir, fontlist); const fontUrls = await (0, $7348ac6bfe35f15e$export$ae70b50decb7cf58)(cssUrls, useDir); await (0, $7348ac6bfe35f15e$export$6c18a7d4cf131851)(fontUrls, useDir, baseUrl); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(2000); console.log("--------"); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(1000); console.log((0, ($parcel$interopDefault($cl6Iw$chalk))).green(`\u{2705} Font Awesome ${useVer.split(".")[0]} Pro v${useVer} Downloaded Successfully!`)); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(1000); console.log((0, ($parcel$interopDefault($cl6Iw$chalk))).bgGreen.black(" --- DONE --- ")); await (0, $4335f2725be7a2e4$export$2e2bcd8739ae039)(2000); } function $123f4982a51872b4$export$c0a0c3a161860b55() { $123f4982a51872b4$var$startDownloader(); } function $123f4982a51872b4$export$89ae034f08762d55() { $123f4982a51872b4$var$startDownloader(); } //# sourceMappingURL=index.cjs.map