MCPcopy Create free account
hub / github.com/MathMan05/Fermi / build

Function build

build.ts:173–232  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

171 return obj;
172}
173async 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));

Callers 1

build.tsFile · 0.85

Calls 6

moveFilesFunction · 0.85
bundleFilesFunction · 0.85
crawlDirFunction · 0.85
toStringMethod · 0.80
joinMethod · 0.45
parseMethod · 0.45

Tested by

no test coverage detected