| 1234567891011121314151617181920212223242526272829303132333435 |
- import type { Config } from "@react-router/dev/config";
- /**
- * This script is used to unpack the client directory from the frontend build directory.
- * Remix SPA mode builds the client directory into the build directory. This function
- * moves the contents of the client directory to the build directory and then removes the
- * client directory.
- *
- * This script is used in the buildEnd function of the Vite config.
- */
- const unpackClientDirectory = async () => {
- const fs = await import("fs");
- const path = await import("path");
- const buildDir = path.resolve(__dirname, "build");
- const clientDir = path.resolve(buildDir, "client");
- const files = await fs.promises.readdir(clientDir);
- await Promise.all(
- files.map((file) =>
- fs.promises.rename(
- path.resolve(clientDir, file),
- path.resolve(buildDir, file),
- ),
- ),
- );
- await fs.promises.rmdir(clientDir);
- };
- export default {
- appDirectory: "src",
- buildEnd: unpackClientDirectory,
- ssr: false,
- } satisfies Config;
|