|
1 | 1 | const fs = require("fs"); |
| 2 | +const https = require("https"); |
2 | 3 | const path = require("path"); |
3 | 4 |
|
4 | 5 | // Define basePath |
@@ -155,3 +156,39 @@ if (unusedFiles.length > 0) { |
155 | 156 | } |
156 | 157 |
|
157 | 158 | console.log("\nFont installation complete!"); |
| 159 | + |
| 160 | +// Fetch and save text-balancer.js, which we don't commit to the repo so we're not version controlling dependency code |
| 161 | +const textBalancerUrl = "https://static.graphite.rs/text-balancer/text-balancer.js"; |
| 162 | +const textBalancerDest = path.join(basePath, "static", "text-balancer.js"); |
| 163 | +console.log("\nDownloading text-balancer.js..."); |
| 164 | +https |
| 165 | + .get(textBalancerUrl, (res) => { |
| 166 | + if (res.statusCode !== 200) { |
| 167 | + console.error(`Failed to download text-balancer.js. Status code: ${res.statusCode}`); |
| 168 | + res.resume(); |
| 169 | + return; |
| 170 | + } |
| 171 | + |
| 172 | + let data = ""; |
| 173 | + res.on("data", (chunk) => { |
| 174 | + data += chunk; |
| 175 | + }); |
| 176 | + |
| 177 | + res.on("end", () => { |
| 178 | + try { |
| 179 | + // Ensure destination directory exists |
| 180 | + const destDir = path.dirname(textBalancerDest); |
| 181 | + if (!fs.existsSync(destDir)) { |
| 182 | + fs.mkdirSync(destDir, { recursive: true }); |
| 183 | + console.log(`Created directory: ${destDir}`); |
| 184 | + } |
| 185 | + fs.writeFileSync(textBalancerDest, data, "utf8"); |
| 186 | + console.log(`Downloaded and saved: ${textBalancerDest}`); |
| 187 | + } catch (error) { |
| 188 | + console.error(`Error saving text-balancer.js:`, error); |
| 189 | + } |
| 190 | + }); |
| 191 | + }) |
| 192 | + .on("error", (err) => { |
| 193 | + console.error(`Error downloading text-balancer.js:`, err); |
| 194 | + }); |
0 commit comments