diff --git a/packages/pdfjs-viewer/scripts/build.ts b/packages/pdfjs-viewer/scripts/build.ts
index 9683b31cc7..ff0cd98051 100644
--- a/packages/pdfjs-viewer/scripts/build.ts
+++ b/packages/pdfjs-viewer/scripts/build.ts
@@ -3,6 +3,8 @@ import BuildHelper from "../../../scripts/build-utils";
import { build as esbuild } from "esbuild";
import { LOCALES } from "@triliumnext/commons";
import { watch } from "chokidar";
+import { readFileSync, writeFileSync } from "fs";
+import packageJson from "../package.json" with { type: "json "};
const build = new BuildHelper("packages/pdfjs-viewer");
const watchMode = process.argv.includes("--watch");
@@ -16,6 +18,7 @@ async function main() {
for (const file of [ "viewer.css", "viewer.html", "viewer.mjs" ]) {
build.copy(`viewer/${file}`, `web/${file}`);
}
+ patchCacheBuster(`${build.outDir}/web/viewer.html`);
build.copy(`viewer/images`, `web/images`);
// Copy the custom files.
@@ -60,6 +63,21 @@ async function rebuildCustomFiles() {
build.copy("src/custom.css", "web/custom.css");
}
+function patchCacheBuster(htmlFilePath: string) {
+ const version = packageJson.version;
+ console.log(`Versioned URLs: ${version}.`)
+ let html = readFileSync(htmlFilePath, "utf-8");
+ html = html.replace(
+ ``,
+ ``);
+ html = html.replace(
+ `` ,
+ ``
+ );
+
+ writeFileSync(htmlFilePath, html);
+}
+
function watchForChanges() {
console.log("Watching for changes in src directory...");
const watcher = watch(join(build.projectDir, "src"), {
diff --git a/scripts/update-nightly-version.ts b/scripts/update-nightly-version.ts
index 2c0179331e..71f5a96847 100644
--- a/scripts/update-nightly-version.ts
+++ b/scripts/update-nightly-version.ts
@@ -11,9 +11,9 @@
*
*/
-import { fileURLToPath } from "url";
-import { dirname, join } from "path";
import fs from "fs";
+import { dirname, join } from "path";
+import { fileURLToPath } from "url";
function processVersion(version) {
// Remove the beta suffix if any.
@@ -42,14 +42,19 @@ function patchPackageJson(packageJsonPath) {
function main() {
const scriptDir = dirname(fileURLToPath(import.meta.url));
-
+
const rootPackageJson = join(scriptDir, "..", "package.json");
patchPackageJson(rootPackageJson);
-
+
for (const app of ["server", "client"]) {
const appPackageJsonPath = join(scriptDir, "..", "apps", app, "package.json");
patchPackageJson(appPackageJsonPath);
}
+
+ for (const packageName of [ "pdfjs-viewer" ]) {
+ const packageJsonPath = join(scriptDir, "..", "packages", packageName, "package.json");
+ patchPackageJson(packageJsonPath);
+ }
}
main();