webfont-awesome-pro 1.2.6 → 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/dist/css/allstyles.css +30 -25
- package/dist/css/brands.css +2 -2
- package/dist/css/chisel-regular.css +1 -1
- package/dist/css/duotone-light.css +1 -1
- package/dist/css/duotone-regular.css +1 -1
- package/dist/css/duotone-thin.css +1 -1
- package/dist/css/duotone.css +1 -1
- package/dist/css/etch-solid.css +1 -1
- package/dist/css/fontawesome.css +3 -3
- package/dist/css/graphite-thin.css +1 -1
- package/dist/css/jelly-duo-regular.css +1 -1
- package/dist/css/jelly-fill-regular.css +1 -1
- package/dist/css/jelly-regular.css +1 -1
- package/dist/css/light.css +1 -1
- package/dist/css/mosaic-solid.css +6 -0
- package/dist/css/notdog-duo-solid.css +1 -1
- package/dist/css/notdog-solid.css +1 -1
- package/dist/css/pixel-regular.css +6 -0
- package/dist/css/regular.css +1 -1
- package/dist/css/sharp-duotone-light.css +1 -1
- package/dist/css/sharp-duotone-regular.css +1 -1
- package/dist/css/sharp-duotone-solid.css +1 -1
- package/dist/css/sharp-duotone-thin.css +1 -1
- package/dist/css/sharp-light.css +1 -1
- package/dist/css/sharp-regular.css +1 -1
- package/dist/css/sharp-solid.css +1 -1
- package/dist/css/sharp-thin.css +1 -1
- package/dist/css/slab-duo-regular.css +6 -0
- package/dist/css/slab-press-duo-regular.css +6 -0
- package/dist/css/slab-press-regular.css +1 -1
- package/dist/css/slab-regular.css +1 -1
- package/dist/css/solid.css +1 -1
- package/dist/css/thin.css +1 -1
- package/dist/css/thumbprint-light.css +1 -1
- package/dist/css/utility-duo-semibold.css +1 -1
- package/dist/css/utility-fill-semibold.css +1 -1
- package/dist/css/utility-semibold.css +1 -1
- package/dist/css/vellum-solid.css +6 -0
- package/dist/css/whiteboard-semibold.css +1 -1
- package/dist/index.cjs +27 -3
- package/dist/index.cjs.map +1 -1
- package/dist/module.mjs +27 -3
- package/dist/module.mjs.map +1 -1
- package/dist/scss/mosaic-solid.scss +1 -0
- package/dist/scss/pixel-regular.scss +1 -0
- package/dist/scss/slab-duo-regular.scss +1 -0
- package/dist/scss/slab-press-duo-regular.scss +1 -0
- package/dist/scss/vellum-solid.scss +1 -0
- package/dist/types/create/devCheckVersion.d.ts +5 -0
- package/dist/types/create/release.d.ts +1 -0
- package/dist/types/create/start.d.ts +1 -0
- package/dist/webfapro.js +1 -1
- package/dist/webfapro.js.map +1 -1
- package/dist/webfonts/fa-brands-400.woff2 +0 -0
- package/dist/webfonts/fa-chisel-regular-400.woff2 +0 -0
- package/dist/webfonts/fa-duotone-900.woff2 +0 -0
- package/dist/webfonts/fa-duotone-light-300.woff2 +0 -0
- package/dist/webfonts/fa-duotone-regular-400.woff2 +0 -0
- package/dist/webfonts/fa-duotone-thin-100.woff2 +0 -0
- package/dist/webfonts/fa-etch-solid-900.woff2 +0 -0
- package/dist/webfonts/fa-graphite-thin-100.woff2 +0 -0
- package/dist/webfonts/fa-jelly-duo-regular-400.woff2 +0 -0
- package/dist/webfonts/fa-jelly-fill-regular-400.woff2 +0 -0
- package/dist/webfonts/fa-jelly-regular-400.woff2 +0 -0
- package/dist/webfonts/fa-light-300.woff2 +0 -0
- package/dist/webfonts/fa-mosaic-solid-900.woff2 +0 -0
- package/dist/webfonts/fa-notdog-duo-solid-900.woff2 +0 -0
- package/dist/webfonts/fa-notdog-solid-900.woff2 +0 -0
- package/dist/webfonts/fa-pixel-regular-400.woff2 +0 -0
- package/dist/webfonts/fa-regular-400.woff2 +0 -0
- package/dist/webfonts/fa-sharp-duotone-light-300.woff2 +0 -0
- package/dist/webfonts/fa-sharp-duotone-regular-400.woff2 +0 -0
- package/dist/webfonts/fa-sharp-duotone-solid-900.woff2 +0 -0
- package/dist/webfonts/fa-sharp-duotone-thin-100.woff2 +0 -0
- package/dist/webfonts/fa-sharp-light-300.woff2 +0 -0
- package/dist/webfonts/fa-sharp-regular-400.woff2 +0 -0
- package/dist/webfonts/fa-sharp-solid-900.woff2 +0 -0
- package/dist/webfonts/fa-sharp-thin-100.woff2 +0 -0
- package/dist/webfonts/fa-slab-duo-regular-400.woff2 +0 -0
- package/dist/webfonts/fa-slab-press-duo-regular-400.woff2 +0 -0
- package/dist/webfonts/fa-slab-press-regular-400.woff2 +0 -0
- package/dist/webfonts/fa-slab-regular-400.woff2 +0 -0
- package/dist/webfonts/fa-solid-900.woff2 +0 -0
- package/dist/webfonts/fa-thin-100.woff2 +0 -0
- package/dist/webfonts/fa-thumbprint-light-300.woff2 +0 -0
- package/dist/webfonts/fa-utility-duo-semibold-600.woff2 +0 -0
- package/dist/webfonts/fa-utility-fill-semibold-600.woff2 +0 -0
- package/dist/webfonts/fa-utility-semibold-600.woff2 +0 -0
- package/dist/webfonts/fa-vellum-solid-900.woff2 +0 -0
- package/dist/webfonts/fa-whiteboard-semibold-600.woff2 +0 -0
- package/package.json +14 -15
package/dist/css/light.css
CHANGED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Font Awesome Pro 7.3.0 by @fontawesome - https://fontawesome.com
|
|
3
|
+
* License - https://fontawesome.com/license (Commercial License)
|
|
4
|
+
* Copyright 2026 Fonticons, Inc.
|
|
5
|
+
*/
|
|
6
|
+
:host,:root{--fa-family-mosaic:"Font Awesome 7 Mosaic";--fa-font-mosaic-solid:normal 900 1em/1 var(--fa-family-mosaic);--fa-style-family-mosaic:var(--fa-family-mosaic)}@font-face{font-family:"Font Awesome 7 Mosaic";font-style:normal;font-weight:900;font-display:block;src:url(webfont-awesome-pro/webfonts/fa-mosaic-solid-900.woff2)}.fams{--fa-style:900}.fa-mosaic,.fams{--fa-family:var(--fa-family-mosaic)}.fa-solid{--fa-style:900}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Font Awesome Pro 7.3.0 by @fontawesome - https://fontawesome.com
|
|
3
|
+
* License - https://fontawesome.com/license (Commercial License)
|
|
4
|
+
* Copyright 2026 Fonticons, Inc.
|
|
5
|
+
*/
|
|
6
|
+
:host,:root{--fa-family-pixel:"Font Awesome 7 Pixel";--fa-font-pixel-regular:normal 400 1em/1 var(--fa-family-pixel);--fa-style-family-pixel:var(--fa-family-pixel)}@font-face{font-family:"Font Awesome 7 Pixel";font-style:normal;font-weight:400;font-display:block;src:url(webfont-awesome-pro/webfonts/fa-pixel-regular-400.woff2)}.fapr{--fa-style:400}.fa-pixel,.fapr{--fa-family:var(--fa-family-pixel)}.fa-regular{--fa-style:400}
|
package/dist/css/regular.css
CHANGED
package/dist/css/sharp-light.css
CHANGED
package/dist/css/sharp-solid.css
CHANGED
package/dist/css/sharp-thin.css
CHANGED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Font Awesome Pro 7.3.0 by @fontawesome - https://fontawesome.com
|
|
3
|
+
* License - https://fontawesome.com/license (Commercial License)
|
|
4
|
+
* Copyright 2026 Fonticons, Inc.
|
|
5
|
+
*/
|
|
6
|
+
:host,:root{--fa-family-slab-duo:"Font Awesome 7 Slab Duo";--fa-font-slab-duo-regular:normal 400 1em/1 var(--fa-family-slab-duo);--fa-style-family-slab-duo:var(--fa-family-slab-duo)}@font-face{font-family:"Font Awesome 7 Slab Duo";font-style:normal;font-weight:400;font-display:block;src:url(webfont-awesome-pro/webfonts/fa-slab-duo-regular-400.woff2)}.fasldr{--fa-style:400}.fa-slab-duo,.fasldr{--fa-family:var(--fa-family-slab-duo);position:relative;letter-spacing:normal}.fa-regular{--fa-style:400}.fa-slab-duo:before,.fasldr:before{position:absolute;color:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.fa-slab-duo:after,.fasldr:after{color:var(--fa-secondary-color,currentColor)}.fa-slab-duo:after,.fa-swap-opacity.fa-slab-duo:before,.fa-swap-opacity .fa-slab-duo:before,.fa-swap-opacity.fasldr:before,.fa-swap-opacity .fasldr:before,.fasldr:after{opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity.fa-slab-duo:after,.fa-swap-opacity .fa-slab-duo:after,.fa-swap-opacity.fasldr:after,.fa-swap-opacity .fasldr:after{opacity:var(--fa-primary-opacity,1)}.fa-li.fa-slab-duo,.fa-li.fasldr,.fa-stack-1x.fa-slab-duo,.fa-stack-1x.fasldr,.fa-stack-2x.fa-slab-duo,.fa-stack-2x.fasldr{position:absolute}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Font Awesome Pro 7.3.0 by @fontawesome - https://fontawesome.com
|
|
3
|
+
* License - https://fontawesome.com/license (Commercial License)
|
|
4
|
+
* Copyright 2026 Fonticons, Inc.
|
|
5
|
+
*/
|
|
6
|
+
:host,:root{--fa-family-slab-press-duo:"Font Awesome 7 Slab Press Duo";--fa-font-slab-press-duo-regular:normal 400 1em/1 var(--fa-family-slab-press-duo);--fa-style-family-slab-press-duo:var(--fa-family-slab-press-duo)}@font-face{font-family:"Font Awesome 7 Slab Press Duo";font-style:normal;font-weight:400;font-display:block;src:url(webfont-awesome-pro/webfonts/fa-slab-press-duo-regular-400.woff2)}.faslpdr{--fa-style:400}.fa-slab-press-duo,.faslpdr{--fa-family:var(--fa-family-slab-press-duo);position:relative;letter-spacing:normal}.fa-regular{--fa-style:400}.fa-slab-press-duo:before,.faslpdr:before{position:absolute;color:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.fa-slab-press-duo:after,.faslpdr:after{color:var(--fa-secondary-color,currentColor);opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity.fa-slab-press-duo:before,.fa-swap-opacity .fa-slab-press-duo:before,.fa-swap-opacity.faslpdr:before,.fa-swap-opacity .faslpdr:before{opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity.fa-slab-press-duo:after,.fa-swap-opacity .fa-slab-press-duo:after,.fa-swap-opacity.faslpdr:after,.fa-swap-opacity .faslpdr:after{opacity:var(--fa-primary-opacity,1)}.fa-li.fa-slab-press-duo,.fa-li.faslpdr,.fa-stack-1x.fa-slab-press-duo,.fa-stack-1x.faslpdr,.fa-stack-2x.fa-slab-press-duo,.fa-stack-2x.faslpdr{position:absolute}
|
package/dist/css/solid.css
CHANGED
package/dist/css/thin.css
CHANGED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Font Awesome Pro 7.3.0 by @fontawesome - https://fontawesome.com
|
|
3
|
+
* License - https://fontawesome.com/license (Commercial License)
|
|
4
|
+
* Copyright 2026 Fonticons, Inc.
|
|
5
|
+
*/
|
|
6
|
+
:host,:root{--fa-family-vellum:"Font Awesome 7 Vellum";--fa-font-vellum-solid:normal 900 1em/1 var(--fa-family-vellum);--fa-style-family-vellum:var(--fa-family-vellum)}@font-face{font-family:"Font Awesome 7 Vellum";font-style:normal;font-weight:900;font-display:block;src:url(webfont-awesome-pro/webfonts/fa-vellum-solid-900.woff2)}.favs{--fa-style:900}.fa-vellum,.favs{--fa-family:var(--fa-family-vellum);position:relative;letter-spacing:normal}.fa-solid{--fa-style:900}.fa-vellum:before,.favs:before{position:absolute;color:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.fa-vellum:after,.favs:after{color:var(--fa-secondary-color,currentColor)}.fa-swap-opacity.fa-vellum:before,.fa-swap-opacity .fa-vellum:before,.fa-swap-opacity.favs:before,.fa-swap-opacity .favs:before,.fa-vellum:after,.favs:after{opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity.fa-vellum:after,.fa-swap-opacity .fa-vellum:after,.fa-swap-opacity.favs:after,.fa-swap-opacity .favs:after{opacity:var(--fa-primary-opacity,1)}.fa-li.fa-vellum,.fa-li.favs,.fa-stack-1x.fa-vellum,.fa-stack-1x.favs,.fa-stack-2x.fa-vellum,.fa-stack-2x.favs{position:absolute}
|
package/dist/index.cjs
CHANGED
|
@@ -89,7 +89,31 @@ async function $27d6a850902385a7$export$bb3b75778e3e272(fileurl, filedir, progre
|
|
|
89
89
|
const downloader = new (0, $cl6Iw$nodejsfiledownloader.Downloader)({
|
|
90
90
|
url: fileurl,
|
|
91
91
|
directory: `./${filedir}`,
|
|
92
|
-
cloneFiles: false
|
|
92
|
+
cloneFiles: false,
|
|
93
|
+
headers: {
|
|
94
|
+
// manipulate downloader ariving
|
|
95
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
|
|
96
|
+
// manipulate extension (for strict cdn)
|
|
97
|
+
Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8",
|
|
98
|
+
// anti-bot bypass
|
|
99
|
+
"Accept-Language": "en-US,en;q=0.9,id;q=0.8",
|
|
100
|
+
// anti-bot bypass
|
|
101
|
+
Connection: "keep-alive",
|
|
102
|
+
// anti-bot bypass
|
|
103
|
+
"Upgrade-Insecure-Requests": "1",
|
|
104
|
+
// same site bypass
|
|
105
|
+
Referer: "https://site-assets.fontawesome.com/",
|
|
106
|
+
Origin: "https://site-assets.fontawesome.com",
|
|
107
|
+
// same site bypass
|
|
108
|
+
"Sec-Fetch-Dest": "document",
|
|
109
|
+
"Sec-Fetch-Mode": "navigate",
|
|
110
|
+
"Sec-Fetch-Site": "same-origin",
|
|
111
|
+
"Sec-Fetch-User": "?1",
|
|
112
|
+
// anti-bot bypass
|
|
113
|
+
"sec-ch-ua": '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
|
|
114
|
+
"sec-ch-ua-mobile": "?0",
|
|
115
|
+
"sec-ch-ua-platform": '"Windows"'
|
|
116
|
+
}
|
|
93
117
|
});
|
|
94
118
|
try {
|
|
95
119
|
await downloader.download();
|
|
@@ -98,7 +122,7 @@ async function $27d6a850902385a7$export$bb3b75778e3e272(fileurl, filedir, progre
|
|
|
98
122
|
console.log(`\u{1F680} ${progress ? progress + " " : ""}${filename}`);
|
|
99
123
|
$27d6a850902385a7$var$filesDownloaded.push(filename);
|
|
100
124
|
} catch (_error) {
|
|
101
|
-
|
|
125
|
+
console.error("The version you wanted to download is not available. Please use other release version.");
|
|
102
126
|
}
|
|
103
127
|
}
|
|
104
128
|
function $27d6a850902385a7$export$8de8b92fd301c83e() {
|
|
@@ -188,7 +212,7 @@ async function $7348ac6bfe35f15e$export$6c18a7d4cf131851(fonts, filedir, baseUrl
|
|
|
188
212
|
|
|
189
213
|
|
|
190
214
|
var $76e709583c343c63$exports = {};
|
|
191
|
-
$76e709583c343c63$exports = JSON.parse("{\"version\":\"7.
|
|
215
|
+
$76e709583c343c63$exports = JSON.parse("{\"version\":\"7.3.0\",\"root\":\"https://site-assets.fontawesome.com/releases/v7.3.0\",\"css\":[\"fontawesome.css\",\"jelly-duo-regular.css\",\"sharp-duotone-regular.css\",\"graphite-thin.css\",\"whiteboard-semibold.css\",\"jelly-fill-regular.css\",\"slab-duo-regular.css\",\"duotone-light.css\",\"sharp-duotone-light.css\",\"notdog-duo-solid.css\",\"slab-regular.css\",\"sharp-thin.css\",\"utility-fill-semibold.css\",\"light.css\",\"duotone.css\",\"pixel-regular.css\",\"thin.css\",\"utility-semibold.css\",\"solid.css\",\"vellum-solid.css\",\"sharp-solid.css\",\"sharp-duotone-thin.css\",\"sharp-duotone-solid.css\",\"thumbprint-light.css\",\"utility-duo-semibold.css\",\"etch-solid.css\",\"duotone-regular.css\",\"jelly-regular.css\",\"sharp-light.css\",\"brands.css\",\"chisel-regular.css\",\"regular.css\",\"sharp-regular.css\",\"mosaic-solid.css\",\"duotone-thin.css\",\"notdog-solid.css\",\"slab-press-duo-regular.css\",\"slab-press-regular.css\"]}");
|
|
192
216
|
|
|
193
217
|
|
|
194
218
|
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;;ACAe,kDAAkB,KAAa,GAAG,EAAE,IAAY,CAAC;IAC9D,OAAO,IAAI,QAAQ,CAAC,UAAY,WAAW,SAAS,KAAK;AAC3D;;;;AEAO,SAAS,0CAAS,IAAY;IACnC,OAAO,IAAI,QAAQ,CAAC;QAClB,MAAM,KAAK,CAAA,GAAA,yCAAO,EAAE,eAAe,CAAC;YAClC,OAAO,QAAQ,KAAK;YACpB,QAAQ,QAAQ,MAAM;QACxB;QACA,GAAG,QAAQ,CAAC,MAAM,CAAC;YACjB,QAAQ;YACR,GAAG,KAAK;QACV;IACF;AACF;;;;ADVe;IACb,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC,CAAC,sBAAsB,CAAC;IACpC,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,MAAM,MAAM,MAAM,CAAA,GAAA,yCAAO,EAAE,CAAC,6BAA6B,CAAC;IAC1D,MAAM,SAAS,MAAM,MAAM;IAC3B,QAAQ,GAAG,CAAC,GAAG,SAAS,MAAM,KAAK,cAAc;IACjD,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,OAAO;gBAAE;IAAO;AAClB;;;;;;AI1BO,eAAe,0CAAO,OAAe;IAC1C,IAAI,UAAU;IACd,MAAM,OAAiB,QAAQ,KAAK,CAAC;IAErC,KAAK,MAAM,OAAO,KAAM;QACtB,WAAW,CAAC,CAAC,EAAE,KAAK;QACpB,IAAI,CAAC,CAAA,GAAA,mCAAC,EAAE,UAAU,CAAC,UAAU;YAC3B,CAAA,GAAA,mCAAC,EAAE,SAAS,CAAC;YACb,MAAM,CAAA,GAAA,wCAAO,EAAE;QACjB;IACF;AACF;;;ADXA,IAAI,wCAA4B,EAAE;AAE3B,eAAe,yCAAa,OAAe,EAAE,OAAe,EAAE,WAA0B,IAAI;IACjG,MAAM,CAAA,GAAA,yCAAK,EAAE,GAAG,SAAS;IACzB,MAAM,aAAa,IAAI,CAAA,GAAA,sCAAS,EAAE;QAChC,KAAK;QACL,WAAW,CAAC,EAAE,EAAE,SAAS;QACzB,YAAY;IACd;IACA,IAAI;QACF,MAAM,WAAW,QAAQ;QACzB,MAAM,aAAa,QAAQ,KAAK,CAAC;QACjC,MAAM,WAAW,UAAU,CAAC,WAAW,MAAM,GAAG,EAAE;QAClD,QAAQ,GAAG,CAAC,CAAC,UAAG,EAAE,WAAW,WAAW,MAAM,KAAK,UAAU;QAC7D,sCAAgB,IAAI,CAAC;IACvB,EAAE,OAAO,QAAQ;QACf,MAAM,IAAI,MAAM;IAClB;AACF;AACO,SAAS;IACd,MAAM,QAAkB;WAAI;KAAgB;IAC5C,wCAAkB,EAAE;IACpB,OAAO;AACT;;;;ADvBe,wDAA2B,MAAc,EAAE,MAAc,EAAE,QAAkB;IAC1F,QAAQ,GAAG,CAAC;IACZ,QAAQ,GAAG,CAAC,CAAC,qCAA8B,CAAC;IAC5C,MAAM,CAAA,GAAA,wCAAO,EAAE;IAEf,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC;IAE3B,IAAK,IAAI,IAAI,GAAG,IAAI,SAAS,MAAM,EAAE,IAAK;QACxC,MAAM,MAAM,QAAQ,CAAC,EAAE;QACvB,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,MAAM,CAAC,CAAC,CAAC;QAChD,MAAM,CAAA,GAAA,wCAAW,EAAE,KAAK,KAAK;IAC/B;IACA,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,OAAO,CAAA,GAAA,yCAAY;AACrB;;;;;;;;AIdA,IAAI,iCAAqB,EAAE;AAEpB,eAAe,0CAAY,QAAgB,EAAE,OAAe;IACjE,MAAM,MAAM,CAAA,GAAA,mCAAC,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE;IACxD,CAAA,GAAA,wCAAM,IACH,OAAO,CAAC,KAAK;QAAE,QAAQ,CAAA,GAAA,kDAAS;QAAG,MAAM;IAAU,GACnD,IAAI,CAAC,CAAC;QACL,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YACpC,KAAK,SAAS,CAAC,OAAO,CAAC;gBACrB,MAAM,UAAU,KAAK,KAAK,CAAC,KAAK,CAAC;gBACjC,IAAI,SACF,QAAQ,OAAO,CAAC,CAAC;oBACf,MAAM,WAAW,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,WAAW;oBAClE,+BAAS,IAAI,CAAC;gBAChB;YAEJ;QACF;IACF;AACJ;AAEO,SAAS;IACd,MAAM,aAAuB;WAAI;KAAS;IAC1C,iCAAW,EAAE;IACb,OAAO;AACT;;;;ADxBO,eAAe,0CAAU,MAAgB,EAAE,MAAc;IAC9D,QAAQ,GAAG,CAAC;IACZ,QAAQ,GAAG,CAAC;IACZ,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC;IAC3B,KAAK,MAAM,SAAS,OAClB,MAAM,CAAA,GAAA,yCAAU,EAAE,OAAO;IAE3B,MAAM,QAAQ,CAAA,GAAA,yCAAO;IACrB,QAAQ,GAAG,CAAC,kBAAa,MAAM,MAAM,CAAC,QAAQ,KAAK;IACnD,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,OAAO;AACT;AACO,eAAe,0CAAc,KAAe,EAAE,OAAe,EAAE,OAAe;IACnF,MAAM,MAAM,GAAG,QAAQ,SAAS,CAAC;IACjC,MAAM,CAAA,GAAA,yCAAK,EAAE;IACb,MAAM,UAAU;IAChB,QAAQ,GAAG,CAAC;IACZ,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,IAAK,IAAI,IAAI,GAAG,IAAI,MAAM,MAAM,EAAE,IAAK;QACrC,MAAM,OAAO,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM;QACpC,MAAM,MAAM,GAAG,UAAU,MAAM;QAC/B,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAA,GAAA,wCAAW,EAAE,KAAK,KAAK;IAC/B;IACA,QAAQ,GAAG,CAAC;AACd;;;;AG/BA,4BAAiB,KAAK,KAAK,CAAC;;;;ADI5B,eAAe;IACb,MAAM,MAAM,CAAC,0GAA0G,EAAE,KAAK,GAAG,GAAG,QAAQ,CAAC,KAAK;IAElJ,OAAO,MAAM,MAAM,KAAK;QACtB,QAAQ;IACV,GACG,IAAI,CAAC,CAAC,MAAQ,IAAI,IAAI,IACtB,IAAI,CAAC,CAAC;QACL,QAAQ,GAAG,CAAC,CAAC,iBAAU,EAAE,IAAI,OAAO,EAAE;QACtC,OAAO;IACT,GACC,KAAK,CAAC;QACL,QAAQ,GAAG,CAAC,CAAC,0CAAmC,CAAC;QACjD,QAAQ,GAAG,CAAC,CAAC,uBAAgB,EAAE,CAAA,GAAA,gEAAK,EAAE,OAAO,EAAE;QAC/C,OAAO,GAAA;IACT;AACJ;AAEe;IACb,QAAQ,GAAG,CAAC;IACZ,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,MAAM,WAAW,MAAM;IACvB,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,QAAQ,GAAG,CAAC,CAAC,oBAAoB,EAAE,SAAS,OAAO,CAAC,iBAAiB,EAAE,SAAS,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC;IAChH,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,MAAM,WAAW,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,OAAS,GAAG,SAAS,IAAI,CAAC,KAAK,EAAE,MAAM;IAC1E,QAAQ,GAAG,CAAC,kBAAa,SAAS,MAAM,CAAC,QAAQ,KAAK;IACtD,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,OAAO;kBAAE;QAAU,QAAQ,SAAS,OAAO;QAAE,SAAS,SAAS,IAAI;IAAC;AACtE;;;;;AEvCe;IACb,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,QAAQ,GAAG,CAAC;IACZ,QAAQ,GAAG,CAAC,CAAC,wEAAwE,CAAC;IACtF,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC,CAAC,2KAA2K,CAAC;IACzL,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC,CAAC,yHAAyH,CAAC;IACvI,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC,CAAC,qKAAqK,CAAC;IACnL,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,IAAI,QAAQ,MAAM,CAAA,GAAA,yCAAO,EAAE,CAAC,4BAA4B,CAAC;IACzD,QAAQ,QAAQ,MAAM,WAAW,KAAK;IACtC,MAAM,YAAY;QAAC;QAAM;QAAK;KAAO;IACrC,MAAM,OAAO,UAAU,IAAI,CAAC,CAAC,SAAW,WAAW,SAAS,QAAQ;IACpE,QAAQ,GAAG,CAAC,OAAO,MAAM;IACzB,IAAI,CAAC,MAAM;QACT,QAAQ,GAAG,CAAC;QACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;QACf,QAAQ,GAAG,CAAC;QACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;QACf,QAAQ,GAAG,CAAC;IACd;IAEA,OAAO;cAAE;IAAK;AAChB;;;AX/BA,eAAe;IACb,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,KAAK;IACb,MAAM,QAAE,IAAI,EAAE,GAAG,MAAM,CAAA,GAAA,wCAAe;IACtC,IAAI,CAAC,MAAM;IACX,MAAM,UAAE,MAAM,EAAE,GAAG,MAAM,CAAA,GAAA,wCAAU;IACnC,MAAM,YAAE,QAAQ,UAAE,MAAM,WAAE,OAAO,EAAE,GAAG,MAAM,CAAA,GAAA,wCAAW;IACvD,MAAM,UAAoB,MAAM,CAAA,GAAA,wCAAU,EAAE,QAAQ,QAAQ;IAC5D,MAAM,WAAqB,MAAM,CAAA,GAAA,yCAAQ,EAAE,SAAS;IACpD,MAAM,CAAA,GAAA,yCAAY,EAAE,UAAU,QAAQ;IACtC,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC,CAAC,sBAAe,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,yBAAyB,CAAC;IACjG,MAAM,CAAA,GAAA,wCAAO,EAAE;IACf,QAAQ,GAAG,CAAC;IACZ,MAAM,CAAA,GAAA,wCAAO,EAAE;AACjB;AACO,SAAS;IACd;AACF;AACO,SAAS;IACd;AACF","sources":["src/index.ts","src/helper/waittime.ts","src/pages/askQuestions.ts","src/main/question.ts","src/pages/cssDownload.ts","src/main/file-downloader.ts","src/main/dir-checker.ts","src/pages/fontsDownload.ts","src/main/font-extractor.ts","src/pages/versionCheck.ts","src/json/fonts.json","src/pages/noticeOfficial.ts"],"sourcesContent":["import waittime from \"./helper/waittime\"\nimport askQuestion from \"./pages/askQuestions\"\nimport cssDownload from \"./pages/cssDownload\"\nimport { downloadFonts, readFonts } from \"./pages/fontsDownload\"\nimport checkVersion from \"./pages/versionCheck\"\nimport unofficialNotice from \"./pages/noticeOfficial\"\n\nasync function startDownloader(): Promise<void> {\n await waittime(100)\n console.clear()\n const { isOk } = await unofficialNotice()\n if (!isOk) return\n const { useDir } = await askQuestion()\n const { fontlist, useVer, baseUrl } = await checkVersion()\n const cssUrls: string[] = await cssDownload(useVer, useDir, fontlist)\n const fontUrls: string[] = await readFonts(cssUrls, useDir)\n await downloadFonts(fontUrls, useDir, baseUrl)\n await waittime(1000)\n console.log(\"--------\")\n await waittime(1000)\n console.log(`✅ Font Awesome ${useVer.split(\".\")[0]} Pro Plus v${useVer} Downloaded Successfully!`)\n await waittime(1000)\n console.log(\"DONE\")\n await waittime(1000)\n}\nexport function getFontAwesomePro(): void {\n startDownloader()\n}\nexport function getFapro(): void {\n startDownloader()\n}\n","export default function waittime(ms: number = 500, n: number = 5): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms - n))\n}\n","import { question } from \"../main/question\"\nimport waittime from \"../helper/waittime\"\n\nexport default async function askQuestion(): Promise<{ useDir: string }> {\n console.log(\"--------\")\n await waittime(1000)\n console.log(\" \")\n await waittime(100)\n console.log(`Set the Download Path!`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(\"Download path can be \" + \"`path/to/your/public/folder`\" + \" or \" + \"`anything`\" + \".\")\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(\"if the path does not exist, it will be created automatically.\")\n await waittime(500)\n console.log(\"--------\")\n const dir = await question(`Enter download path: (fapro) `)\n const useDir = dir ? dir : \"fapro\"\n console.log(`${useDir}${dir ? \"\" : \" (default)\"}`)\n console.log(\"--------\")\n await waittime(750)\n console.log(\" \")\n console.log(\"Preparing Downloader\")\n await waittime(2250)\n console.log(\" \")\n return { useDir }\n}\n","import readline from \"readline\"\n\nexport function question(text: string): Promise<string> {\n return new Promise((resolve) => {\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout\n })\n rl.question(text, (anwer) => {\n resolve(anwer)\n rl.close()\n })\n })\n}\n","import { downloadFile, getDownloaded } from \"../main/file-downloader\"\nimport waittime from \"../helper/waittime\"\n\nexport default async function cssDownload(useVer: string, useDir: string, fontlist: string[]): Promise<string[]> {\n console.log(\"--------\")\n console.log(`🕗 Downloading All Stylesheets`)\n await waittime(1000)\n\n const dir = `${useDir}/css`\n\n for (let i = 0; i < fontlist.length; i++) {\n const url = fontlist[i]\n const progress = `[${i + 1}/${fontlist.length}]`\n await downloadFile(url, dir, progress)\n }\n console.log(\"✅ Stylesheets Downloaded\")\n await waittime(1000)\n return getDownloaded()\n}\n","import { Downloader } from \"nodejs-file-downloader\"\nimport { addDir } from \"./dir-checker\"\n\nlet filesDownloaded: string[] = []\n\nexport async function downloadFile(fileurl: string, filedir: string, progress: string | null = null): Promise<void> {\n await addDir(`${filedir}`)\n const downloader = new Downloader({\n url: fileurl,\n directory: `./${filedir}`,\n cloneFiles: false\n })\n try {\n await downloader.download()\n const fileorigin = fileurl.split(\"/\")\n const filename = fileorigin[fileorigin.length - 1]\n console.log(`🚀 ${progress ? progress + \" \" : \"\"}${filename}`)\n filesDownloaded.push(filename)\n } catch (_error) {\n throw new Error(\"The version you wanted to download is not available. Please use other release version.\")\n }\n}\nexport function getDownloaded(): string[] {\n const files: string[] = [...filesDownloaded]\n filesDownloaded = []\n return files\n}\n","import fs from \"fs\"\nimport waittime from \"../helper/waittime\"\n\nexport async function addDir(dirpath: string): Promise<void> {\n let curpath = \".\"\n const dirs: string[] = dirpath.split(\"/\")\n\n for (const dir of dirs) {\n curpath += `/${dir}`\n if (!fs.existsSync(curpath)) {\n fs.mkdirSync(curpath)\n await waittime(100)\n }\n }\n}\n","import { addDir } from \"../main/dir-checker\"\nimport waittime from \"../helper/waittime\"\nimport { extractFont, getFonts } from \"../main/font-extractor\"\nimport { downloadFile } from \"../main/file-downloader\"\n\nexport async function readFonts(sheets: string[], useDir: string): Promise<string[]> {\n console.log(\"--------\")\n console.log(\"🕗 Reading Available Webfonts\")\n const dir = `${useDir}/css`\n for (const sheet of sheets) {\n await extractFont(sheet, dir)\n }\n const fonts = getFonts()\n console.log(\"✅ Found \" + fonts.length.toString() + \" Webfonts\")\n await waittime(1000)\n return fonts\n}\nexport async function downloadFonts(fonts: string[], filedir: string, baseUrl: string): Promise<void> {\n const dir = `${filedir}/webfonts`\n await addDir(dir)\n const fonturl = baseUrl\n console.log(\"--------\")\n console.log(\"🕗 Downloading All Webfonts\")\n await waittime(1000)\n for (let i = 0; i < fonts.length; i++) {\n const font = fonts[i].replace(\"..\", \"\")\n const url = `${fonturl}${font}`\n const progress = `[${i + 1}/${fonts.length}]`\n await downloadFile(url, dir, progress)\n }\n console.log(\"✅ Webfonts Downloaded\")\n}\n","import fs from \"fs\"\nimport postcss from \"postcss\"\nimport safeParser from \"postcss-safe-parser\"\n\nlet fontUrls: string[] = []\n\nexport async function extractFont(filename: string, filedir: string): Promise<void> {\n const css = fs.readFileSync(`./${filedir}/${filename}`, \"utf8\")\n postcss()\n .process(css, { parser: safeParser, from: undefined })\n .then((result) => {\n result.root.walkAtRules(\"font-face\", (rule) => {\n rule.walkDecls(\"src\", (decl) => {\n const matches = decl.value.match(/url\\(([^)]+)\\)/g)\n if (matches) {\n matches.forEach((url) => {\n const cleanUrl = url.replace(/url\\([\"']?/, \"\").replace(/[\"']?\\)/, \"\")\n fontUrls.push(cleanUrl)\n })\n }\n })\n })\n })\n}\n\nexport function getFonts(): string[] {\n const fixedFonts: string[] = [...fontUrls]\n fontUrls = []\n return fixedFonts\n}\n","import { Ver } from \"./fa.types\"\nimport defVer from \"../json/fonts.json\"\nimport waittime from \"../helper/waittime\"\n\nasync function getVersion(): Promise<Ver> {\n const url = `https://raw.githubusercontent.com/devanka761/webfont-awesome-pro/refs/heads/master/src/json/fonts.json?ts=${Date.now().toString(36)}`\n\n return await fetch(url, {\n method: \"GET\"\n })\n .then((res) => res.json())\n .then((res) => {\n console.log(`✅ Found: v${res.version}`)\n return res\n })\n .catch(() => {\n console.log(`⛔ Error getting the latest version!`)\n console.log(`⛔ Forced Using v${defVer.version}`)\n return defVer\n })\n}\n\nexport default async function checkVersion(): Promise<{ fontlist: string[]; useVer: string; baseUrl: string }> {\n console.log(\"--------\")\n console.log(\"🕗 Checking Latest Version\")\n await waittime(1000)\n const curFonts = await getVersion()\n await waittime(100)\n console.log(\"--------\")\n await waittime(1000)\n console.log(\" \")\n console.log(`Downloading Version ${curFonts.version} of Font Awesome ${curFonts.version.split(\".\")[0]} Pro Plus`)\n await waittime(1000)\n console.log(\" \")\n console.log(\"--------\")\n await waittime(100)\n console.log(\"🕗 Reading Available Stylesheets\")\n await waittime(500)\n const fontlist = curFonts.css.map((file) => `${curFonts.root}/css/${file}`)\n console.log(\"✅ Found \" + fontlist.length.toString() + \" Sytlesheets\")\n await waittime(1000)\n return { fontlist, useVer: curFonts.version, baseUrl: curFonts.root }\n}\n","{\n \"version\": \"7.2.0\",\n \"root\": \"https://site-assets.fontawesome.com/releases/v7.2.0\",\n \"css\": [\n \"fontawesome.css\",\n \"brands.css\",\n \"chisel-regular.css\",\n \"duotone-light.css\",\n \"duotone-regular.css\",\n \"duotone-thin.css\",\n \"duotone.css\",\n \"etch-solid.css\",\n \"graphite-thin.css\",\n \"jelly-duo-regular.css\",\n \"jelly-fill-regular.css\",\n \"jelly-regular.css\",\n \"light.css\",\n \"notdog-duo-solid.css\",\n \"notdog-solid.css\",\n \"regular.css\",\n \"sharp-duotone-light.css\",\n \"sharp-duotone-regular.css\",\n \"sharp-duotone-solid.css\",\n \"sharp-duotone-thin.css\",\n \"sharp-light.css\",\n \"sharp-regular.css\",\n \"sharp-solid.css\",\n \"sharp-thin.css\",\n \"slab-press-regular.css\",\n \"slab-regular.css\",\n \"solid.css\",\n \"thin.css\",\n \"thumbprint-light.css\",\n \"utility-duo-semibold.css\",\n \"utility-fill-semibold.css\",\n \"utility-semibold.css\",\n \"whiteboard-semibold.css\"\n ]\n}","import waittime from \"../helper/waittime\"\nimport { question } from \"../main/question\"\n\nexport default async function unofficialNotice(): Promise<{ isOk: boolean }> {\n console.log(\"Font Awesome Pro Plus Downloader | Devanka761\")\n await waittime(500)\n console.log(\"\")\n console.log(\"--------\")\n console.log(`Font Awesome Pro Plus Downloader was made for educational purposes only!`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(`This downloader provides Paid (Pro Plus) Version for the latest Official Package. It is intended for experimental and personal use only. It is licensed for commercial use.`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(`DO NOT use this downloader if you are not a Creator or you have never buy the official product from the official website.`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(`To unlock commercial use for your own projects, and get an official product license, please consider to go to the Font Awesome webiste: https://fontawesome.com/plans`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(500)\n let agree = await question(`Continue to download? (Y/n) `)\n agree = agree ? agree.toLowerCase() : \"y\"\n const notAgrees = [\"no\", \"n\", \"nope\"]\n const isOk = notAgrees.find((textNo) => textNo === agree) ? false : true\n console.log(isOk ? \"y\" : \"n\")\n if (!isOk) {\n console.log(\"--------\")\n await waittime(1000)\n console.log(\"⛔ Font Awesome Pro Plus Downloader Canceled\")\n await waittime(1000)\n console.log(\"DONE\")\n }\n\n return { isOk }\n}\n"],"names":[],"version":3,"file":"index.cjs.map","sourceRoot":"../"}
|
|
1
|
+
{"mappings":"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","sources":["src/index.ts","src/helper/waittime.ts","src/pages/askQuestions.ts","src/main/question.ts","src/pages/cssDownload.ts","src/main/file-downloader.ts","src/main/dir-checker.ts","src/pages/fontsDownload.ts","src/main/font-extractor.ts","src/pages/versionCheck.ts","src/json/fonts.json","src/pages/noticeOfficial.ts"],"sourcesContent":["import waittime from \"./helper/waittime\"\nimport askQuestion from \"./pages/askQuestions\"\nimport cssDownload from \"./pages/cssDownload\"\nimport { downloadFonts, readFonts } from \"./pages/fontsDownload\"\nimport checkVersion from \"./pages/versionCheck\"\nimport unofficialNotice from \"./pages/noticeOfficial\"\n\nasync function startDownloader(): Promise<void> {\n await waittime(100)\n console.clear()\n const { isOk } = await unofficialNotice()\n if (!isOk) return\n const { useDir } = await askQuestion()\n const { fontlist, useVer, baseUrl } = await checkVersion()\n const cssUrls: string[] = await cssDownload(useVer, useDir, fontlist)\n const fontUrls: string[] = await readFonts(cssUrls, useDir)\n await downloadFonts(fontUrls, useDir, baseUrl)\n await waittime(1000)\n console.log(\"--------\")\n await waittime(1000)\n console.log(`✅ Font Awesome ${useVer.split(\".\")[0]} Pro Plus v${useVer} Downloaded Successfully!`)\n await waittime(1000)\n console.log(\"DONE\")\n await waittime(1000)\n}\nexport function getFontAwesomePro(): void {\n startDownloader()\n}\nexport function getFapro(): void {\n startDownloader()\n}\n","export default function waittime(ms: number = 500, n: number = 5): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms - n))\n}\n","import { question } from \"../main/question\"\nimport waittime from \"../helper/waittime\"\n\nexport default async function askQuestion(): Promise<{ useDir: string }> {\n console.log(\"--------\")\n await waittime(1000)\n console.log(\" \")\n await waittime(100)\n console.log(`Set the Download Path!`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(\"Download path can be \" + \"`path/to/your/public/folder`\" + \" or \" + \"`anything`\" + \".\")\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(\"if the path does not exist, it will be created automatically.\")\n await waittime(500)\n console.log(\"--------\")\n const dir = await question(`Enter download path: (fapro) `)\n const useDir = dir ? dir : \"fapro\"\n console.log(`${useDir}${dir ? \"\" : \" (default)\"}`)\n console.log(\"--------\")\n await waittime(750)\n console.log(\" \")\n console.log(\"Preparing Downloader\")\n await waittime(2250)\n console.log(\" \")\n return { useDir }\n}\n","import readline from \"readline\"\n\nexport function question(text: string): Promise<string> {\n return new Promise((resolve) => {\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout\n })\n rl.question(text, (anwer) => {\n resolve(anwer)\n rl.close()\n })\n })\n}\n","import { downloadFile, getDownloaded } from \"../main/file-downloader\"\nimport waittime from \"../helper/waittime\"\n\nexport default async function cssDownload(useVer: string, useDir: string, fontlist: string[]): Promise<string[]> {\n console.log(\"--------\")\n console.log(`🕗 Downloading All Stylesheets`)\n await waittime(1000)\n\n const dir = `${useDir}/css`\n\n for (let i = 0; i < fontlist.length; i++) {\n const url = fontlist[i]\n const progress = `[${i + 1}/${fontlist.length}]`\n await downloadFile(url, dir, progress)\n }\n console.log(\"✅ Stylesheets Downloaded\")\n await waittime(1000)\n return getDownloaded()\n}\n","import { Downloader } from \"nodejs-file-downloader\"\nimport { addDir } from \"./dir-checker\"\n\nlet filesDownloaded: string[] = []\n\nexport async function downloadFile(fileurl: string, filedir: string, progress: string | null = null): Promise<void> {\n await addDir(`${filedir}`)\n const downloader = new Downloader({\n url: fileurl,\n directory: `./${filedir}`,\n cloneFiles: false,\n headers: {\n // manipulate downloader ariving\n \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36\",\n\n // manipulate extension (for strict cdn)\n Accept: \"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8\",\n\n // anti-bot bypass\n \"Accept-Language\": \"en-US,en;q=0.9,id;q=0.8\",\n\n // anti-bot bypass\n Connection: \"keep-alive\",\n\n // anti-bot bypass\n \"Upgrade-Insecure-Requests\": \"1\",\n\n // same site bypass\n Referer: \"https://site-assets.fontawesome.com/\",\n Origin: \"https://site-assets.fontawesome.com\",\n\n // same site bypass\n \"Sec-Fetch-Dest\": \"document\",\n \"Sec-Fetch-Mode\": \"navigate\",\n \"Sec-Fetch-Site\": \"same-origin\",\n \"Sec-Fetch-User\": \"?1\",\n\n // anti-bot bypass\n \"sec-ch-ua\": '\"Chromium\";v=\"122\", \"Not(A:Brand\";v=\"24\", \"Google Chrome\";v=\"122\"',\n \"sec-ch-ua-mobile\": \"?0\",\n \"sec-ch-ua-platform\": '\"Windows\"'\n }\n })\n try {\n await downloader.download()\n const fileorigin = fileurl.split(\"/\")\n const filename = fileorigin[fileorigin.length - 1]\n console.log(`🚀 ${progress ? progress + \" \" : \"\"}${filename}`)\n filesDownloaded.push(filename)\n } catch (_error) {\n console.error(\"The version you wanted to download is not available. Please use other release version.\")\n }\n}\nexport function getDownloaded(): string[] {\n const files: string[] = [...filesDownloaded]\n filesDownloaded = []\n return files\n}\n","import fs from \"fs\"\nimport waittime from \"../helper/waittime\"\n\nexport async function addDir(dirpath: string): Promise<void> {\n let curpath = \".\"\n const dirs: string[] = dirpath.split(\"/\")\n\n for (const dir of dirs) {\n curpath += `/${dir}`\n if (!fs.existsSync(curpath)) {\n fs.mkdirSync(curpath)\n await waittime(100)\n }\n }\n}\n","import { addDir } from \"../main/dir-checker\"\nimport waittime from \"../helper/waittime\"\nimport { extractFont, getFonts } from \"../main/font-extractor\"\nimport { downloadFile } from \"../main/file-downloader\"\n\nexport async function readFonts(sheets: string[], useDir: string): Promise<string[]> {\n console.log(\"--------\")\n console.log(\"🕗 Reading Available Webfonts\")\n const dir = `${useDir}/css`\n for (const sheet of sheets) {\n await extractFont(sheet, dir)\n }\n const fonts = getFonts()\n console.log(\"✅ Found \" + fonts.length.toString() + \" Webfonts\")\n await waittime(1000)\n return fonts\n}\nexport async function downloadFonts(fonts: string[], filedir: string, baseUrl: string): Promise<void> {\n const dir = `${filedir}/webfonts`\n await addDir(dir)\n const fonturl = baseUrl\n console.log(\"--------\")\n console.log(\"🕗 Downloading All Webfonts\")\n await waittime(1000)\n for (let i = 0; i < fonts.length; i++) {\n const font = fonts[i].replace(\"..\", \"\")\n const url = `${fonturl}${font}`\n const progress = `[${i + 1}/${fonts.length}]`\n await downloadFile(url, dir, progress)\n }\n console.log(\"✅ Webfonts Downloaded\")\n}\n","import fs from \"fs\"\nimport postcss from \"postcss\"\nimport safeParser from \"postcss-safe-parser\"\n\nlet fontUrls: string[] = []\n\nexport async function extractFont(filename: string, filedir: string): Promise<void> {\n const css = fs.readFileSync(`./${filedir}/${filename}`, \"utf8\")\n postcss()\n .process(css, { parser: safeParser, from: undefined })\n .then((result) => {\n result.root.walkAtRules(\"font-face\", (rule) => {\n rule.walkDecls(\"src\", (decl) => {\n const matches = decl.value.match(/url\\(([^)]+)\\)/g)\n if (matches) {\n matches.forEach((url) => {\n const cleanUrl = url.replace(/url\\([\"']?/, \"\").replace(/[\"']?\\)/, \"\")\n fontUrls.push(cleanUrl)\n })\n }\n })\n })\n })\n}\n\nexport function getFonts(): string[] {\n const fixedFonts: string[] = [...fontUrls]\n fontUrls = []\n return fixedFonts\n}\n","import { Ver } from \"./fa.types\"\nimport defVer from \"../json/fonts.json\"\nimport waittime from \"../helper/waittime\"\n\nasync function getVersion(): Promise<Ver> {\n const url = `https://raw.githubusercontent.com/devanka761/webfont-awesome-pro/refs/heads/master/src/json/fonts.json?ts=${Date.now().toString(36)}`\n\n return await fetch(url, {\n method: \"GET\"\n })\n .then((res) => res.json())\n .then((res) => {\n console.log(`✅ Found: v${res.version}`)\n return res\n })\n .catch(() => {\n console.log(`⛔ Error getting the latest version!`)\n console.log(`⛔ Forced Using v${defVer.version}`)\n return defVer\n })\n}\n\nexport default async function checkVersion(): Promise<{ fontlist: string[]; useVer: string; baseUrl: string }> {\n console.log(\"--------\")\n console.log(\"🕗 Checking Latest Version\")\n await waittime(1000)\n const curFonts = await getVersion()\n await waittime(100)\n console.log(\"--------\")\n await waittime(1000)\n console.log(\" \")\n console.log(`Downloading Version ${curFonts.version} of Font Awesome ${curFonts.version.split(\".\")[0]} Pro Plus`)\n await waittime(1000)\n console.log(\" \")\n console.log(\"--------\")\n await waittime(100)\n console.log(\"🕗 Reading Available Stylesheets\")\n await waittime(500)\n const fontlist = curFonts.css.map((file) => `${curFonts.root}/css/${file}`)\n console.log(\"✅ Found \" + fontlist.length.toString() + \" Sytlesheets\")\n await waittime(1000)\n return { fontlist, useVer: curFonts.version, baseUrl: curFonts.root }\n}\n","{\n \"version\": \"7.3.0\",\n \"root\": \"https://site-assets.fontawesome.com/releases/v7.3.0\",\n \"css\": [\n \"fontawesome.css\",\n \"jelly-duo-regular.css\",\n \"sharp-duotone-regular.css\",\n \"graphite-thin.css\",\n \"whiteboard-semibold.css\",\n \"jelly-fill-regular.css\",\n \"slab-duo-regular.css\",\n \"duotone-light.css\",\n \"sharp-duotone-light.css\",\n \"notdog-duo-solid.css\",\n \"slab-regular.css\",\n \"sharp-thin.css\",\n \"utility-fill-semibold.css\",\n \"light.css\",\n \"duotone.css\",\n \"pixel-regular.css\",\n \"thin.css\",\n \"utility-semibold.css\",\n \"solid.css\",\n \"vellum-solid.css\",\n \"sharp-solid.css\",\n \"sharp-duotone-thin.css\",\n \"sharp-duotone-solid.css\",\n \"thumbprint-light.css\",\n \"utility-duo-semibold.css\",\n \"etch-solid.css\",\n \"duotone-regular.css\",\n \"jelly-regular.css\",\n \"sharp-light.css\",\n \"brands.css\",\n \"chisel-regular.css\",\n \"regular.css\",\n \"sharp-regular.css\",\n \"mosaic-solid.css\",\n \"duotone-thin.css\",\n \"notdog-solid.css\",\n \"slab-press-duo-regular.css\",\n \"slab-press-regular.css\"\n ]\n}","import waittime from \"../helper/waittime\"\nimport { question } from \"../main/question\"\n\nexport default async function unofficialNotice(): Promise<{ isOk: boolean }> {\n console.log(\"Font Awesome Pro Plus Downloader | Devanka761\")\n await waittime(500)\n console.log(\"\")\n console.log(\"--------\")\n console.log(`Font Awesome Pro Plus Downloader was made for educational purposes only!`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(`This downloader provides Paid (Pro Plus) Version for the latest Official Package. It is intended for experimental and personal use only. It is licensed for commercial use.`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(`DO NOT use this downloader if you are not a Creator or you have never buy the official product from the official website.`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(`To unlock commercial use for your own projects, and get an official product license, please consider to go to the Font Awesome webiste: https://fontawesome.com/plans`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(500)\n let agree = await question(`Continue to download? (Y/n) `)\n agree = agree ? agree.toLowerCase() : \"y\"\n const notAgrees = [\"no\", \"n\", \"nope\"]\n const isOk = notAgrees.find((textNo) => textNo === agree) ? false : true\n console.log(isOk ? \"y\" : \"n\")\n if (!isOk) {\n console.log(\"--------\")\n await waittime(1000)\n console.log(\"⛔ Font Awesome Pro Plus Downloader Canceled\")\n await waittime(1000)\n console.log(\"DONE\")\n }\n\n return { isOk }\n}\n"],"names":[],"version":3,"file":"index.cjs.map","sourceRoot":"../"}
|
package/dist/module.mjs
CHANGED
|
@@ -82,7 +82,31 @@ async function $79f93e09d37d22af$export$bb3b75778e3e272(fileurl, filedir, progre
|
|
|
82
82
|
const downloader = new (0, $hSjDC$Downloader)({
|
|
83
83
|
url: fileurl,
|
|
84
84
|
directory: `./${filedir}`,
|
|
85
|
-
cloneFiles: false
|
|
85
|
+
cloneFiles: false,
|
|
86
|
+
headers: {
|
|
87
|
+
// manipulate downloader ariving
|
|
88
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
|
|
89
|
+
// manipulate extension (for strict cdn)
|
|
90
|
+
Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8",
|
|
91
|
+
// anti-bot bypass
|
|
92
|
+
"Accept-Language": "en-US,en;q=0.9,id;q=0.8",
|
|
93
|
+
// anti-bot bypass
|
|
94
|
+
Connection: "keep-alive",
|
|
95
|
+
// anti-bot bypass
|
|
96
|
+
"Upgrade-Insecure-Requests": "1",
|
|
97
|
+
// same site bypass
|
|
98
|
+
Referer: "https://site-assets.fontawesome.com/",
|
|
99
|
+
Origin: "https://site-assets.fontawesome.com",
|
|
100
|
+
// same site bypass
|
|
101
|
+
"Sec-Fetch-Dest": "document",
|
|
102
|
+
"Sec-Fetch-Mode": "navigate",
|
|
103
|
+
"Sec-Fetch-Site": "same-origin",
|
|
104
|
+
"Sec-Fetch-User": "?1",
|
|
105
|
+
// anti-bot bypass
|
|
106
|
+
"sec-ch-ua": '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
|
|
107
|
+
"sec-ch-ua-mobile": "?0",
|
|
108
|
+
"sec-ch-ua-platform": '"Windows"'
|
|
109
|
+
}
|
|
86
110
|
});
|
|
87
111
|
try {
|
|
88
112
|
await downloader.download();
|
|
@@ -91,7 +115,7 @@ async function $79f93e09d37d22af$export$bb3b75778e3e272(fileurl, filedir, progre
|
|
|
91
115
|
console.log(`\u{1F680} ${progress ? progress + " " : ""}${filename}`);
|
|
92
116
|
$79f93e09d37d22af$var$filesDownloaded.push(filename);
|
|
93
117
|
} catch (_error) {
|
|
94
|
-
|
|
118
|
+
console.error("The version you wanted to download is not available. Please use other release version.");
|
|
95
119
|
}
|
|
96
120
|
}
|
|
97
121
|
function $79f93e09d37d22af$export$8de8b92fd301c83e() {
|
|
@@ -181,7 +205,7 @@ async function $9ff909d4a69662c1$export$6c18a7d4cf131851(fonts, filedir, baseUrl
|
|
|
181
205
|
|
|
182
206
|
|
|
183
207
|
var $2fec5fa9afe64cbe$exports = {};
|
|
184
|
-
$2fec5fa9afe64cbe$exports = JSON.parse("{\"version\":\"7.
|
|
208
|
+
$2fec5fa9afe64cbe$exports = JSON.parse("{\"version\":\"7.3.0\",\"root\":\"https://site-assets.fontawesome.com/releases/v7.3.0\",\"css\":[\"fontawesome.css\",\"jelly-duo-regular.css\",\"sharp-duotone-regular.css\",\"graphite-thin.css\",\"whiteboard-semibold.css\",\"jelly-fill-regular.css\",\"slab-duo-regular.css\",\"duotone-light.css\",\"sharp-duotone-light.css\",\"notdog-duo-solid.css\",\"slab-regular.css\",\"sharp-thin.css\",\"utility-fill-semibold.css\",\"light.css\",\"duotone.css\",\"pixel-regular.css\",\"thin.css\",\"utility-semibold.css\",\"solid.css\",\"vellum-solid.css\",\"sharp-solid.css\",\"sharp-duotone-thin.css\",\"sharp-duotone-solid.css\",\"thumbprint-light.css\",\"utility-duo-semibold.css\",\"etch-solid.css\",\"duotone-regular.css\",\"jelly-regular.css\",\"sharp-light.css\",\"brands.css\",\"chisel-regular.css\",\"regular.css\",\"sharp-regular.css\",\"mosaic-solid.css\",\"duotone-thin.css\",\"notdog-solid.css\",\"slab-press-duo-regular.css\",\"slab-press-regular.css\"]}");
|
|
185
209
|
|
|
186
210
|
|
|
187
211
|
|
package/dist/module.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["src/index.ts","src/helper/waittime.ts","src/pages/askQuestions.ts","src/main/question.ts","src/pages/cssDownload.ts","src/main/file-downloader.ts","src/main/dir-checker.ts","src/pages/fontsDownload.ts","src/main/font-extractor.ts","src/pages/versionCheck.ts","src/json/fonts.json","src/pages/noticeOfficial.ts"],"sourcesContent":["import waittime from \"./helper/waittime\"\nimport askQuestion from \"./pages/askQuestions\"\nimport cssDownload from \"./pages/cssDownload\"\nimport { downloadFonts, readFonts } from \"./pages/fontsDownload\"\nimport checkVersion from \"./pages/versionCheck\"\nimport unofficialNotice from \"./pages/noticeOfficial\"\n\nasync function startDownloader(): Promise<void> {\n await waittime(100)\n console.clear()\n const { isOk } = await unofficialNotice()\n if (!isOk) return\n const { useDir } = await askQuestion()\n const { fontlist, useVer, baseUrl } = await checkVersion()\n const cssUrls: string[] = await cssDownload(useVer, useDir, fontlist)\n const fontUrls: string[] = await readFonts(cssUrls, useDir)\n await downloadFonts(fontUrls, useDir, baseUrl)\n await waittime(1000)\n console.log(\"--------\")\n await waittime(1000)\n console.log(`✅ Font Awesome ${useVer.split(\".\")[0]} Pro Plus v${useVer} Downloaded Successfully!`)\n await waittime(1000)\n console.log(\"DONE\")\n await waittime(1000)\n}\nexport function getFontAwesomePro(): void {\n startDownloader()\n}\nexport function getFapro(): void {\n startDownloader()\n}\n","export default function waittime(ms: number = 500, n: number = 5): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms - n))\n}\n","import { question } from \"../main/question\"\nimport waittime from \"../helper/waittime\"\n\nexport default async function askQuestion(): Promise<{ useDir: string }> {\n console.log(\"--------\")\n await waittime(1000)\n console.log(\" \")\n await waittime(100)\n console.log(`Set the Download Path!`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(\"Download path can be \" + \"`path/to/your/public/folder`\" + \" or \" + \"`anything`\" + \".\")\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(\"if the path does not exist, it will be created automatically.\")\n await waittime(500)\n console.log(\"--------\")\n const dir = await question(`Enter download path: (fapro) `)\n const useDir = dir ? dir : \"fapro\"\n console.log(`${useDir}${dir ? \"\" : \" (default)\"}`)\n console.log(\"--------\")\n await waittime(750)\n console.log(\" \")\n console.log(\"Preparing Downloader\")\n await waittime(2250)\n console.log(\" \")\n return { useDir }\n}\n","import readline from \"readline\"\n\nexport function question(text: string): Promise<string> {\n return new Promise((resolve) => {\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout\n })\n rl.question(text, (anwer) => {\n resolve(anwer)\n rl.close()\n })\n })\n}\n","import { downloadFile, getDownloaded } from \"../main/file-downloader\"\nimport waittime from \"../helper/waittime\"\n\nexport default async function cssDownload(useVer: string, useDir: string, fontlist: string[]): Promise<string[]> {\n console.log(\"--------\")\n console.log(`🕗 Downloading All Stylesheets`)\n await waittime(1000)\n\n const dir = `${useDir}/css`\n\n for (let i = 0; i < fontlist.length; i++) {\n const url = fontlist[i]\n const progress = `[${i + 1}/${fontlist.length}]`\n await downloadFile(url, dir, progress)\n }\n console.log(\"✅ Stylesheets Downloaded\")\n await waittime(1000)\n return getDownloaded()\n}\n","import { Downloader } from \"nodejs-file-downloader\"\nimport { addDir } from \"./dir-checker\"\n\nlet filesDownloaded: string[] = []\n\nexport async function downloadFile(fileurl: string, filedir: string, progress: string | null = null): Promise<void> {\n await addDir(`${filedir}`)\n const downloader = new Downloader({\n url: fileurl,\n directory: `./${filedir}`,\n cloneFiles: false\n })\n try {\n await downloader.download()\n const fileorigin = fileurl.split(\"/\")\n const filename = fileorigin[fileorigin.length - 1]\n console.log(`🚀 ${progress ? progress + \" \" : \"\"}${filename}`)\n filesDownloaded.push(filename)\n } catch (_error) {\n throw new Error(\"The version you wanted to download is not available. Please use other release version.\")\n }\n}\nexport function getDownloaded(): string[] {\n const files: string[] = [...filesDownloaded]\n filesDownloaded = []\n return files\n}\n","import fs from \"fs\"\nimport waittime from \"../helper/waittime\"\n\nexport async function addDir(dirpath: string): Promise<void> {\n let curpath = \".\"\n const dirs: string[] = dirpath.split(\"/\")\n\n for (const dir of dirs) {\n curpath += `/${dir}`\n if (!fs.existsSync(curpath)) {\n fs.mkdirSync(curpath)\n await waittime(100)\n }\n }\n}\n","import { addDir } from \"../main/dir-checker\"\nimport waittime from \"../helper/waittime\"\nimport { extractFont, getFonts } from \"../main/font-extractor\"\nimport { downloadFile } from \"../main/file-downloader\"\n\nexport async function readFonts(sheets: string[], useDir: string): Promise<string[]> {\n console.log(\"--------\")\n console.log(\"🕗 Reading Available Webfonts\")\n const dir = `${useDir}/css`\n for (const sheet of sheets) {\n await extractFont(sheet, dir)\n }\n const fonts = getFonts()\n console.log(\"✅ Found \" + fonts.length.toString() + \" Webfonts\")\n await waittime(1000)\n return fonts\n}\nexport async function downloadFonts(fonts: string[], filedir: string, baseUrl: string): Promise<void> {\n const dir = `${filedir}/webfonts`\n await addDir(dir)\n const fonturl = baseUrl\n console.log(\"--------\")\n console.log(\"🕗 Downloading All Webfonts\")\n await waittime(1000)\n for (let i = 0; i < fonts.length; i++) {\n const font = fonts[i].replace(\"..\", \"\")\n const url = `${fonturl}${font}`\n const progress = `[${i + 1}/${fonts.length}]`\n await downloadFile(url, dir, progress)\n }\n console.log(\"✅ Webfonts Downloaded\")\n}\n","import fs from \"fs\"\nimport postcss from \"postcss\"\nimport safeParser from \"postcss-safe-parser\"\n\nlet fontUrls: string[] = []\n\nexport async function extractFont(filename: string, filedir: string): Promise<void> {\n const css = fs.readFileSync(`./${filedir}/${filename}`, \"utf8\")\n postcss()\n .process(css, { parser: safeParser, from: undefined })\n .then((result) => {\n result.root.walkAtRules(\"font-face\", (rule) => {\n rule.walkDecls(\"src\", (decl) => {\n const matches = decl.value.match(/url\\(([^)]+)\\)/g)\n if (matches) {\n matches.forEach((url) => {\n const cleanUrl = url.replace(/url\\([\"']?/, \"\").replace(/[\"']?\\)/, \"\")\n fontUrls.push(cleanUrl)\n })\n }\n })\n })\n })\n}\n\nexport function getFonts(): string[] {\n const fixedFonts: string[] = [...fontUrls]\n fontUrls = []\n return fixedFonts\n}\n","import { Ver } from \"./fa.types\"\nimport defVer from \"../json/fonts.json\"\nimport waittime from \"../helper/waittime\"\n\nasync function getVersion(): Promise<Ver> {\n const url = `https://raw.githubusercontent.com/devanka761/webfont-awesome-pro/refs/heads/master/src/json/fonts.json?ts=${Date.now().toString(36)}`\n\n return await fetch(url, {\n method: \"GET\"\n })\n .then((res) => res.json())\n .then((res) => {\n console.log(`✅ Found: v${res.version}`)\n return res\n })\n .catch(() => {\n console.log(`⛔ Error getting the latest version!`)\n console.log(`⛔ Forced Using v${defVer.version}`)\n return defVer\n })\n}\n\nexport default async function checkVersion(): Promise<{ fontlist: string[]; useVer: string; baseUrl: string }> {\n console.log(\"--------\")\n console.log(\"🕗 Checking Latest Version\")\n await waittime(1000)\n const curFonts = await getVersion()\n await waittime(100)\n console.log(\"--------\")\n await waittime(1000)\n console.log(\" \")\n console.log(`Downloading Version ${curFonts.version} of Font Awesome ${curFonts.version.split(\".\")[0]} Pro Plus`)\n await waittime(1000)\n console.log(\" \")\n console.log(\"--------\")\n await waittime(100)\n console.log(\"🕗 Reading Available Stylesheets\")\n await waittime(500)\n const fontlist = curFonts.css.map((file) => `${curFonts.root}/css/${file}`)\n console.log(\"✅ Found \" + fontlist.length.toString() + \" Sytlesheets\")\n await waittime(1000)\n return { fontlist, useVer: curFonts.version, baseUrl: curFonts.root }\n}\n","{\n \"version\": \"7.2.0\",\n \"root\": \"https://site-assets.fontawesome.com/releases/v7.2.0\",\n \"css\": [\n \"fontawesome.css\",\n \"brands.css\",\n \"chisel-regular.css\",\n \"duotone-light.css\",\n \"duotone-regular.css\",\n \"duotone-thin.css\",\n \"duotone.css\",\n \"etch-solid.css\",\n \"graphite-thin.css\",\n \"jelly-duo-regular.css\",\n \"jelly-fill-regular.css\",\n \"jelly-regular.css\",\n \"light.css\",\n \"notdog-duo-solid.css\",\n \"notdog-solid.css\",\n \"regular.css\",\n \"sharp-duotone-light.css\",\n \"sharp-duotone-regular.css\",\n \"sharp-duotone-solid.css\",\n \"sharp-duotone-thin.css\",\n \"sharp-light.css\",\n \"sharp-regular.css\",\n \"sharp-solid.css\",\n \"sharp-thin.css\",\n \"slab-press-regular.css\",\n \"slab-regular.css\",\n \"solid.css\",\n \"thin.css\",\n \"thumbprint-light.css\",\n \"utility-duo-semibold.css\",\n \"utility-fill-semibold.css\",\n \"utility-semibold.css\",\n \"whiteboard-semibold.css\"\n ]\n}","import waittime from \"../helper/waittime\"\nimport { question } from \"../main/question\"\n\nexport default async function unofficialNotice(): Promise<{ isOk: boolean }> {\n console.log(\"Font Awesome Pro Plus Downloader | Devanka761\")\n await waittime(500)\n console.log(\"\")\n console.log(\"--------\")\n console.log(`Font Awesome Pro Plus Downloader was made for educational purposes only!`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(`This downloader provides Paid (Pro Plus) Version for the latest Official Package. It is intended for experimental and personal use only. It is licensed for commercial use.`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(`DO NOT use this downloader if you are not a Creator or you have never buy the official product from the official website.`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(`To unlock commercial use for your own projects, and get an official product license, please consider to go to the Font Awesome webiste: https://fontawesome.com/plans`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(500)\n let agree = await question(`Continue to download? (Y/n) `)\n agree = agree ? agree.toLowerCase() : \"y\"\n const notAgrees = [\"no\", \"n\", \"nope\"]\n const isOk = notAgrees.find((textNo) => textNo === agree) ? false : true\n console.log(isOk ? \"y\" : \"n\")\n if (!isOk) {\n console.log(\"--------\")\n await waittime(1000)\n console.log(\"⛔ Font Awesome Pro Plus Downloader Canceled\")\n await waittime(1000)\n console.log(\"DONE\")\n }\n\n return { isOk }\n}\n"],"names":[],"version":3,"file":"module.mjs.map","sourceRoot":"../"}
|
|
1
|
+
{"mappings":"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","sources":["src/index.ts","src/helper/waittime.ts","src/pages/askQuestions.ts","src/main/question.ts","src/pages/cssDownload.ts","src/main/file-downloader.ts","src/main/dir-checker.ts","src/pages/fontsDownload.ts","src/main/font-extractor.ts","src/pages/versionCheck.ts","src/json/fonts.json","src/pages/noticeOfficial.ts"],"sourcesContent":["import waittime from \"./helper/waittime\"\nimport askQuestion from \"./pages/askQuestions\"\nimport cssDownload from \"./pages/cssDownload\"\nimport { downloadFonts, readFonts } from \"./pages/fontsDownload\"\nimport checkVersion from \"./pages/versionCheck\"\nimport unofficialNotice from \"./pages/noticeOfficial\"\n\nasync function startDownloader(): Promise<void> {\n await waittime(100)\n console.clear()\n const { isOk } = await unofficialNotice()\n if (!isOk) return\n const { useDir } = await askQuestion()\n const { fontlist, useVer, baseUrl } = await checkVersion()\n const cssUrls: string[] = await cssDownload(useVer, useDir, fontlist)\n const fontUrls: string[] = await readFonts(cssUrls, useDir)\n await downloadFonts(fontUrls, useDir, baseUrl)\n await waittime(1000)\n console.log(\"--------\")\n await waittime(1000)\n console.log(`✅ Font Awesome ${useVer.split(\".\")[0]} Pro Plus v${useVer} Downloaded Successfully!`)\n await waittime(1000)\n console.log(\"DONE\")\n await waittime(1000)\n}\nexport function getFontAwesomePro(): void {\n startDownloader()\n}\nexport function getFapro(): void {\n startDownloader()\n}\n","export default function waittime(ms: number = 500, n: number = 5): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms - n))\n}\n","import { question } from \"../main/question\"\nimport waittime from \"../helper/waittime\"\n\nexport default async function askQuestion(): Promise<{ useDir: string }> {\n console.log(\"--------\")\n await waittime(1000)\n console.log(\" \")\n await waittime(100)\n console.log(`Set the Download Path!`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(\"Download path can be \" + \"`path/to/your/public/folder`\" + \" or \" + \"`anything`\" + \".\")\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(\"if the path does not exist, it will be created automatically.\")\n await waittime(500)\n console.log(\"--------\")\n const dir = await question(`Enter download path: (fapro) `)\n const useDir = dir ? dir : \"fapro\"\n console.log(`${useDir}${dir ? \"\" : \" (default)\"}`)\n console.log(\"--------\")\n await waittime(750)\n console.log(\" \")\n console.log(\"Preparing Downloader\")\n await waittime(2250)\n console.log(\" \")\n return { useDir }\n}\n","import readline from \"readline\"\n\nexport function question(text: string): Promise<string> {\n return new Promise((resolve) => {\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout\n })\n rl.question(text, (anwer) => {\n resolve(anwer)\n rl.close()\n })\n })\n}\n","import { downloadFile, getDownloaded } from \"../main/file-downloader\"\nimport waittime from \"../helper/waittime\"\n\nexport default async function cssDownload(useVer: string, useDir: string, fontlist: string[]): Promise<string[]> {\n console.log(\"--------\")\n console.log(`🕗 Downloading All Stylesheets`)\n await waittime(1000)\n\n const dir = `${useDir}/css`\n\n for (let i = 0; i < fontlist.length; i++) {\n const url = fontlist[i]\n const progress = `[${i + 1}/${fontlist.length}]`\n await downloadFile(url, dir, progress)\n }\n console.log(\"✅ Stylesheets Downloaded\")\n await waittime(1000)\n return getDownloaded()\n}\n","import { Downloader } from \"nodejs-file-downloader\"\nimport { addDir } from \"./dir-checker\"\n\nlet filesDownloaded: string[] = []\n\nexport async function downloadFile(fileurl: string, filedir: string, progress: string | null = null): Promise<void> {\n await addDir(`${filedir}`)\n const downloader = new Downloader({\n url: fileurl,\n directory: `./${filedir}`,\n cloneFiles: false,\n headers: {\n // manipulate downloader ariving\n \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36\",\n\n // manipulate extension (for strict cdn)\n Accept: \"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8\",\n\n // anti-bot bypass\n \"Accept-Language\": \"en-US,en;q=0.9,id;q=0.8\",\n\n // anti-bot bypass\n Connection: \"keep-alive\",\n\n // anti-bot bypass\n \"Upgrade-Insecure-Requests\": \"1\",\n\n // same site bypass\n Referer: \"https://site-assets.fontawesome.com/\",\n Origin: \"https://site-assets.fontawesome.com\",\n\n // same site bypass\n \"Sec-Fetch-Dest\": \"document\",\n \"Sec-Fetch-Mode\": \"navigate\",\n \"Sec-Fetch-Site\": \"same-origin\",\n \"Sec-Fetch-User\": \"?1\",\n\n // anti-bot bypass\n \"sec-ch-ua\": '\"Chromium\";v=\"122\", \"Not(A:Brand\";v=\"24\", \"Google Chrome\";v=\"122\"',\n \"sec-ch-ua-mobile\": \"?0\",\n \"sec-ch-ua-platform\": '\"Windows\"'\n }\n })\n try {\n await downloader.download()\n const fileorigin = fileurl.split(\"/\")\n const filename = fileorigin[fileorigin.length - 1]\n console.log(`🚀 ${progress ? progress + \" \" : \"\"}${filename}`)\n filesDownloaded.push(filename)\n } catch (_error) {\n console.error(\"The version you wanted to download is not available. Please use other release version.\")\n }\n}\nexport function getDownloaded(): string[] {\n const files: string[] = [...filesDownloaded]\n filesDownloaded = []\n return files\n}\n","import fs from \"fs\"\nimport waittime from \"../helper/waittime\"\n\nexport async function addDir(dirpath: string): Promise<void> {\n let curpath = \".\"\n const dirs: string[] = dirpath.split(\"/\")\n\n for (const dir of dirs) {\n curpath += `/${dir}`\n if (!fs.existsSync(curpath)) {\n fs.mkdirSync(curpath)\n await waittime(100)\n }\n }\n}\n","import { addDir } from \"../main/dir-checker\"\nimport waittime from \"../helper/waittime\"\nimport { extractFont, getFonts } from \"../main/font-extractor\"\nimport { downloadFile } from \"../main/file-downloader\"\n\nexport async function readFonts(sheets: string[], useDir: string): Promise<string[]> {\n console.log(\"--------\")\n console.log(\"🕗 Reading Available Webfonts\")\n const dir = `${useDir}/css`\n for (const sheet of sheets) {\n await extractFont(sheet, dir)\n }\n const fonts = getFonts()\n console.log(\"✅ Found \" + fonts.length.toString() + \" Webfonts\")\n await waittime(1000)\n return fonts\n}\nexport async function downloadFonts(fonts: string[], filedir: string, baseUrl: string): Promise<void> {\n const dir = `${filedir}/webfonts`\n await addDir(dir)\n const fonturl = baseUrl\n console.log(\"--------\")\n console.log(\"🕗 Downloading All Webfonts\")\n await waittime(1000)\n for (let i = 0; i < fonts.length; i++) {\n const font = fonts[i].replace(\"..\", \"\")\n const url = `${fonturl}${font}`\n const progress = `[${i + 1}/${fonts.length}]`\n await downloadFile(url, dir, progress)\n }\n console.log(\"✅ Webfonts Downloaded\")\n}\n","import fs from \"fs\"\nimport postcss from \"postcss\"\nimport safeParser from \"postcss-safe-parser\"\n\nlet fontUrls: string[] = []\n\nexport async function extractFont(filename: string, filedir: string): Promise<void> {\n const css = fs.readFileSync(`./${filedir}/${filename}`, \"utf8\")\n postcss()\n .process(css, { parser: safeParser, from: undefined })\n .then((result) => {\n result.root.walkAtRules(\"font-face\", (rule) => {\n rule.walkDecls(\"src\", (decl) => {\n const matches = decl.value.match(/url\\(([^)]+)\\)/g)\n if (matches) {\n matches.forEach((url) => {\n const cleanUrl = url.replace(/url\\([\"']?/, \"\").replace(/[\"']?\\)/, \"\")\n fontUrls.push(cleanUrl)\n })\n }\n })\n })\n })\n}\n\nexport function getFonts(): string[] {\n const fixedFonts: string[] = [...fontUrls]\n fontUrls = []\n return fixedFonts\n}\n","import { Ver } from \"./fa.types\"\nimport defVer from \"../json/fonts.json\"\nimport waittime from \"../helper/waittime\"\n\nasync function getVersion(): Promise<Ver> {\n const url = `https://raw.githubusercontent.com/devanka761/webfont-awesome-pro/refs/heads/master/src/json/fonts.json?ts=${Date.now().toString(36)}`\n\n return await fetch(url, {\n method: \"GET\"\n })\n .then((res) => res.json())\n .then((res) => {\n console.log(`✅ Found: v${res.version}`)\n return res\n })\n .catch(() => {\n console.log(`⛔ Error getting the latest version!`)\n console.log(`⛔ Forced Using v${defVer.version}`)\n return defVer\n })\n}\n\nexport default async function checkVersion(): Promise<{ fontlist: string[]; useVer: string; baseUrl: string }> {\n console.log(\"--------\")\n console.log(\"🕗 Checking Latest Version\")\n await waittime(1000)\n const curFonts = await getVersion()\n await waittime(100)\n console.log(\"--------\")\n await waittime(1000)\n console.log(\" \")\n console.log(`Downloading Version ${curFonts.version} of Font Awesome ${curFonts.version.split(\".\")[0]} Pro Plus`)\n await waittime(1000)\n console.log(\" \")\n console.log(\"--------\")\n await waittime(100)\n console.log(\"🕗 Reading Available Stylesheets\")\n await waittime(500)\n const fontlist = curFonts.css.map((file) => `${curFonts.root}/css/${file}`)\n console.log(\"✅ Found \" + fontlist.length.toString() + \" Sytlesheets\")\n await waittime(1000)\n return { fontlist, useVer: curFonts.version, baseUrl: curFonts.root }\n}\n","{\n \"version\": \"7.3.0\",\n \"root\": \"https://site-assets.fontawesome.com/releases/v7.3.0\",\n \"css\": [\n \"fontawesome.css\",\n \"jelly-duo-regular.css\",\n \"sharp-duotone-regular.css\",\n \"graphite-thin.css\",\n \"whiteboard-semibold.css\",\n \"jelly-fill-regular.css\",\n \"slab-duo-regular.css\",\n \"duotone-light.css\",\n \"sharp-duotone-light.css\",\n \"notdog-duo-solid.css\",\n \"slab-regular.css\",\n \"sharp-thin.css\",\n \"utility-fill-semibold.css\",\n \"light.css\",\n \"duotone.css\",\n \"pixel-regular.css\",\n \"thin.css\",\n \"utility-semibold.css\",\n \"solid.css\",\n \"vellum-solid.css\",\n \"sharp-solid.css\",\n \"sharp-duotone-thin.css\",\n \"sharp-duotone-solid.css\",\n \"thumbprint-light.css\",\n \"utility-duo-semibold.css\",\n \"etch-solid.css\",\n \"duotone-regular.css\",\n \"jelly-regular.css\",\n \"sharp-light.css\",\n \"brands.css\",\n \"chisel-regular.css\",\n \"regular.css\",\n \"sharp-regular.css\",\n \"mosaic-solid.css\",\n \"duotone-thin.css\",\n \"notdog-solid.css\",\n \"slab-press-duo-regular.css\",\n \"slab-press-regular.css\"\n ]\n}","import waittime from \"../helper/waittime\"\nimport { question } from \"../main/question\"\n\nexport default async function unofficialNotice(): Promise<{ isOk: boolean }> {\n console.log(\"Font Awesome Pro Plus Downloader | Devanka761\")\n await waittime(500)\n console.log(\"\")\n console.log(\"--------\")\n console.log(`Font Awesome Pro Plus Downloader was made for educational purposes only!`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(`This downloader provides Paid (Pro Plus) Version for the latest Official Package. It is intended for experimental and personal use only. It is licensed for commercial use.`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(`DO NOT use this downloader if you are not a Creator or you have never buy the official product from the official website.`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(100)\n console.log(`To unlock commercial use for your own projects, and get an official product license, please consider to go to the Font Awesome webiste: https://fontawesome.com/plans`)\n await waittime(100)\n console.log(\"--------\")\n await waittime(500)\n let agree = await question(`Continue to download? (Y/n) `)\n agree = agree ? agree.toLowerCase() : \"y\"\n const notAgrees = [\"no\", \"n\", \"nope\"]\n const isOk = notAgrees.find((textNo) => textNo === agree) ? false : true\n console.log(isOk ? \"y\" : \"n\")\n if (!isOk) {\n console.log(\"--------\")\n await waittime(1000)\n console.log(\"⛔ Font Awesome Pro Plus Downloader Canceled\")\n await waittime(1000)\n console.log(\"DONE\")\n }\n\n return { isOk }\n}\n"],"names":[],"version":3,"file":"module.mjs.map","sourceRoot":"../"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@use "webfont-awesome-pro/css/mosaic-solid.css";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@use "webfont-awesome-pro/css/pixel-regular.css";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@use "webfont-awesome-pro/css/slab-duo-regular.css";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@use "webfont-awesome-pro/css/slab-press-duo-regular.css";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@use "webfont-awesome-pro/css/vellum-solid.css";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function createRelease(useDir: string, cssUrls: string[]): Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|