qrframe/updatePresets.js

38 wiersze
1.1 KiB
JavaScript
Czysty Zwykły widok Historia

2024-08-13 06:44:46 +00:00
import { promises as fs } from "fs";
import path from "path";
2024-07-31 23:56:43 +00:00
2024-08-13 06:44:46 +00:00
async function convertTsToJs(inputDir, outputDir) {
2024-07-31 23:56:43 +00:00
try {
2024-08-13 06:44:46 +00:00
// Ensure output directory exists
await fs.mkdir(outputDir, { recursive: true });
2024-07-31 23:56:43 +00:00
2024-08-13 06:44:46 +00:00
const files = await fs.readdir(inputDir);
2024-08-17 03:44:53 +00:00
const jsFiles = files.filter((file) => file.endsWith(".js"));
2024-07-31 23:56:43 +00:00
2024-08-17 03:44:53 +00:00
for (const file of jsFiles) {
2024-08-13 06:44:46 +00:00
const inputPath = path.join(inputDir, file);
2024-08-17 03:44:53 +00:00
const outputPath = path.join(outputDir, file.slice(0, -3) + ".ts");
2024-07-31 23:56:43 +00:00
2024-08-17 03:44:53 +00:00
let code = await fs.readFile(inputPath, "utf-8");
2024-07-31 23:56:43 +00:00
2024-08-17 03:44:53 +00:00
code = code.replaceAll("`", "\\`");
code = code.replaceAll("${", "\\${");
2024-08-13 06:44:46 +00:00
await fs.writeFile(
outputPath,
2024-08-17 03:44:53 +00:00
`export const ${file.slice(0, -3)} = \`${code.slice(0, -1)}\n\`\n`,
2024-08-13 06:44:46 +00:00
"utf-8"
2024-07-31 23:56:43 +00:00
);
2024-08-13 06:44:46 +00:00
console.log(`Converted and formatted: ${inputPath} -> ${outputPath}`);
2024-07-31 23:56:43 +00:00
}
2024-08-13 06:44:46 +00:00
console.log("Conversion and formatting completed successfully.");
} catch (error) {
console.error("An error occurred:", error);
2024-07-31 23:56:43 +00:00
}
}
2024-08-13 06:44:46 +00:00
const inputDir = "./presets";
const outputDir = "./src/lib/presets";
convertTsToJs(inputDir, outputDir);