Ma77Ball commented on code in PR #5849:
URL: https://github.com/apache/texera/pull/5849#discussion_r3480281458


##########
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:
   An env var won't work: the browser fetches `version.json` at runtime to read 
the *deployed* version, and it can't read a server-side env var. Both generated 
files are gitignored and rewritten in place every build, so there's nothing to 
clean up.



-- 
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