fix(build): create random hash for cache invalidation #209

This commit is contained in:
Bastian Ike
2022-09-13 13:49:32 +02:00
committed by Bastian
parent 5e0158c2ff
commit af9d7c8706
3 changed files with 16 additions and 6 deletions

View File

@@ -36,6 +36,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
var child_process_1 = require("child_process"); var child_process_1 = require("child_process");
var crypto_1 = require("crypto");
var fs = __importStar(require("fs-extra")); var fs = __importStar(require("fs-extra"));
var paths = __importStar(require("./paths")); var paths = __importStar(require("./paths"));
// Do this as the first thing so that any code reading it knows the right env. // Do this as the first thing so that any code reading it knows the right env.
@@ -54,7 +55,7 @@ var runCommand = function (command) {
var executedCommand = (0, child_process_1.spawn)(command, { var executedCommand = (0, child_process_1.spawn)(command, {
stdio: "inherit", stdio: "inherit",
shell: true, shell: true,
env: __assign({ REACT_APP_RADAR_NAME: "AOE Technology Radar" }, process.env), env: __assign({ REACT_APP_RADAR_NAME: "AOE Technology Radar", REACT_APP_BUILDHASH: (0, crypto_1.randomBytes)(10).toString("hex") }, process.env),
}); });
executedCommand.on("error", function (error) { executedCommand.on("error", function (error) {
reject(error); reject(error);

View File

@@ -1,5 +1,6 @@
#!/usr/bin/env node #!/usr/bin/env node
import { spawn } from "child_process"; import { spawn } from "child_process";
import { randomBytes } from "crypto";
import * as fs from "fs-extra"; import * as fs from "fs-extra";
import * as paths from "./paths"; import * as paths from "./paths";
@@ -23,7 +24,11 @@ const runCommand = (command: string) =>
const executedCommand = spawn(command, { const executedCommand = spawn(command, {
stdio: "inherit", stdio: "inherit",
shell: true, shell: true,
env: { REACT_APP_RADAR_NAME: "AOE Technology Radar", ...process.env }, env: {
REACT_APP_RADAR_NAME: "AOE Technology Radar",
REACT_APP_BUILDHASH: randomBytes(10).toString("hex"),
...process.env,
},
}); });
executedCommand.on("error", (error) => { executedCommand.on("error", (error) => {

View File

@@ -80,11 +80,15 @@ interface Data {
} }
export default function App() { export default function App() {
const data = useFetch<Data>(`${process.env.PUBLIC_URL}/rd.json`); const data = useFetch<Data>(
const messages = useFetch<Messages>( `${process.env.PUBLIC_URL}/rd.json?${process.env.REACT_APP_BUILDHASH}`
`${process.env.PUBLIC_URL}/messages.json` );
const messages = useFetch<Messages>(
`${process.env.PUBLIC_URL}/messages.json?${process.env.REACT_APP_BUILDHASH}`
);
const config = useFetch<ConfigData>(
`${process.env.PUBLIC_URL}/config.json?${process.env.REACT_APP_BUILDHASH}`
); );
const config = useFetch<ConfigData>(`${process.env.PUBLIC_URL}/config.json`);
if (data && config) { if (data && config) {
const { items, releases } = data; const { items, releases } = data;