| 171 | return obj; |
| 172 | } |
| 173 | async function build() { |
| 174 | entryPoints = []; |
| 175 | console.time("build"); |
| 176 | |
| 177 | console.time("Cleaning dir"); |
| 178 | try { |
| 179 | await fs.rm(path.join(__dirname, "dist"), {recursive: true}); |
| 180 | } catch {} |
| 181 | await fs.mkdir(path.join(__dirname, "dist")); |
| 182 | console.timeEnd("Cleaning dir"); |
| 183 | |
| 184 | console.time("Moving files"); |
| 185 | await moveFiles(path.join(__dirname, "src"), path.join(__dirname, "dist")); |
| 186 | console.timeEnd("Moving files"); |
| 187 | |
| 188 | console.time("Bundling TS"); |
| 189 | await bundleFiles(); |
| 190 | console.timeEnd("Bundling TS"); |
| 191 | |
| 192 | console.time("Moving translations"); |
| 193 | try { |
| 194 | await fs.mkdir(path.join(__dirname, "dist", "webpage", "translations")); |
| 195 | } catch {} |
| 196 | let langs = await fs.readdir(path.join(__dirname, "translations")); |
| 197 | langs = langs.filter((e) => e !== "qqq.json"); |
| 198 | const langobj = {}; |
| 199 | for (const lang of langs) { |
| 200 | const str = (await fs.readFile(path.join(__dirname, "translations", lang))).toString(); |
| 201 | const json = JSON.parse(str); |
| 202 | langobj[lang] = json.readableName; |
| 203 | fs.writeFile(path.join(__dirname, "dist", "webpage", "translations", lang), str); |
| 204 | } |
| 205 | await fs.writeFile( |
| 206 | path.join(__dirname, "dist", "webpage", "translations", "langs.js"), |
| 207 | `const langs=${JSON.stringify(langobj)};export{langs}`, |
| 208 | ); |
| 209 | console.timeEnd("Moving translations"); |
| 210 | |
| 211 | let revision = process.env.VER; |
| 212 | if (!revision) { |
| 213 | console.time("Getting git tag"); |
| 214 | revision = child_process.execSync("git tag --points-at HEAD").toString().trim(); |
| 215 | |
| 216 | console.timeEnd("Getting git tag"); |
| 217 | } |
| 218 | if (!revision) { |
| 219 | console.time("Getting git commit hash"); |
| 220 | revision = child_process.execSync("git rev-parse HEAD").toString().trim(); |
| 221 | console.timeEnd("Getting git commit hash"); |
| 222 | } |
| 223 | console.time("Writing version"); |
| 224 | await fs.writeFile(path.join(__dirname, "dist", "webpage", "getupdates"), revision); |
| 225 | console.timeEnd("Writing version"); |
| 226 | |
| 227 | console.time("Building Service File"); |
| 228 | const dir = await crawlDir(path.join(__dirname, "dist", "webpage")); |
| 229 | dir["files.json"] = "files.json"; |
| 230 | await fs.writeFile(path.join(__dirname, "dist", "webpage", "files.json"), JSON.stringify(dir)); |