Yicong-Huang commented on code in PR #5849:
URL: https://github.com/apache/texera/pull/5849#discussion_r3486942913


##########
frontend/build-version.js:
##########
@@ -23,19 +23,32 @@
 // Dev builds (`yarn start`) keep the static "dev" string in version.ts.
 
 const { generate } = require("build-number-generator");
-const { version } = require("./package.json");
 const { resolve } = require("path");
 const { writeFileSync } = require("fs");
 
-const buildNumber = generate(version);
-const out = resolve(__dirname, "src", "environments", "version.prod.ts");
-writeFileSync(
-  out,
-  `// AUTO-GENERATED by build-version.js — do not edit or commit.
+// Returns the contents of version.prod.ts and version.json for a version.
+function renderVersionArtifacts(version, buildNumber = generate(version)) {
+  const prodTs = `// AUTO-GENERATED by build-version.js — do not edit or 
commit.
 export const Version = {
   buildNumber: ${JSON.stringify(buildNumber)},
   version: ${JSON.stringify(version)},
 };
-`,
-);
-console.log(`build-version: ${buildNumber}`);
+`;
+  const manifestJson = JSON.stringify({ buildNumber, version }) + "\n";
+  return { buildNumber, prodTs, manifestJson };
+}
+
+function main() {
+  const { version } = require("./package.json");
+  const { buildNumber, prodTs, manifestJson } = 
renderVersionArtifacts(version);
+  writeFileSync(resolve(__dirname, "src", "environments", "version.prod.ts"), 
prodTs);
+  writeFileSync(resolve(__dirname, "src", "assets", "version.json"), 
manifestJson);
+  console.log(`build-version: ${buildNumber}`);
+}

Review Comment:
   they are replaced but they are never removed. it is not that clean of a 
solution. 
   
   can this be stored in the memory instead? It can be written once at service 
deployment. the frontend/browser go ahead fetches it whenever connects. And we 
don't have to leave file behind on disk, and we won't need to deal with  its 
life cycle (removal, git ignore, etc).



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to