Files
Stirling-PDF/frontend/scripts/build-provisioner.mjs
T
James BruntonandGitHub 8ab060a4be Prettier 2: Electric Boogaloo (#6113)
# Description of Changes
When I added Prettier formatting in #6052, my aim was to use just the
default settings in Prettier. Turns out, Prettier looks _really hard_
for any config files if it's not explicitly given one, which means that
if a developer has some sort of Prettier config file lying around on
their system, Prettier might find it and use it. Also, Prettier changes
its defaults based on stuff in `.editorconfig` without any good way of
disabling that behaviour explicitly in its config file.

To solve both of these issues, I've introduced a `.prettierrc` file
which sets Prettier's defaults explicitly, and then reformatted all our
code _again_ in Prettier's actual default settings. This should achieve
the aim of #6052 and remove the possibility for it breaking on different
dev computers.
2026-04-17 09:50:16 +00:00

57 lines
1.4 KiB
JavaScript

import { execFileSync } from "node:child_process";
import { existsSync, mkdirSync, copyFileSync } from "node:fs";
import { join, resolve } from "node:path";
if (process.platform !== "win32") {
process.exit(0);
}
const frontendDir = process.cwd();
const tauriDir = resolve(frontendDir, "src-tauri");
const provisionerManifest = join(tauriDir, "provisioner", "Cargo.toml");
execFileSync(
"cargo",
["build", "--release", "--manifest-path", provisionerManifest],
{ stdio: "inherit" },
);
const provisionerExe = join(
tauriDir,
"provisioner",
"target",
"release",
"stirling-provisioner.exe",
);
if (!existsSync(provisionerExe)) {
throw new Error(`Provisioner binary not found at ${provisionerExe}`);
}
const wixDir = join(tauriDir, "windows", "wix");
mkdirSync(wixDir, { recursive: true });
const destExe = join(wixDir, "stirling-provision.exe");
copyFileSync(provisionerExe, destExe);
// --- Thumbnail handler DLL ---
const thumbManifest = join(tauriDir, "thumbnail-handler", "Cargo.toml");
execFileSync(
"cargo",
["build", "--release", "--manifest-path", thumbManifest],
{ stdio: "inherit" },
);
const thumbDll = join(
tauriDir,
"thumbnail-handler",
"target",
"release",
"stirling_thumbnail_handler.dll",
);
if (!existsSync(thumbDll)) {
throw new Error(`Thumbnail handler DLL not found at ${thumbDll}`);
}
copyFileSync(thumbDll, join(wixDir, "stirling_thumbnail_handler.dll"));