diff --git a/docusaurus-utils/scrapper/file.mjs b/docusaurus-utils/scrapper/file.mjs index 3f11b6433..03cad0032 100644 --- a/docusaurus-utils/scrapper/file.mjs +++ b/docusaurus-utils/scrapper/file.mjs @@ -36,7 +36,7 @@ export async function writeLargeFile(path, data) { export function removeDirectory(path) { return new Promise((resolve, reject) => { - fs.rmdir(path, {recursive: true}, err => { + fs.rm(path, {recursive: true}, err => { if (err) { reject(err) } @@ -46,6 +46,20 @@ export function removeDirectory(path) { }) } +export function directoryExists(path) { + return new Promise((resolve, _) => { + const accessBitwiseOperator = fs.constants.F_OK | fs.constants.R_OK; + + fs.access(path, accessBitwiseOperator, err => { + if (err) { + resolve(false) + } else { + resolve(true) + } + }) + }) +} + export async function createDirectory(path) { try { /* diff --git a/docusaurus-utils/scrapper/main.mjs b/docusaurus-utils/scrapper/main.mjs index 580e00a3f..57aac7c7e 100644 --- a/docusaurus-utils/scrapper/main.mjs +++ b/docusaurus-utils/scrapper/main.mjs @@ -1,4 +1,6 @@ import { fetchDirectoryContents } from './fetch-content.mjs' +import path from 'path' +import { directoryExists, removeDirectory } from './file.mjs' const directoriesToSync = ['codex', 'nomos', 'status', 'vac', 'waku'] @@ -10,6 +12,13 @@ async function main() { const baseSavePath = `./${dirName}/` const prefixToRemove = dirName + '/' + const directoryPath = path.join(process.cwd(), dirName); + + const shouldRemoveOldContent = await directoryExists(directoryPath); + if (shouldRemoveOldContent) { + await removeDirectory(directoryPath) + console.log(`Removed old ${dirName}`) + } await fetchDirectoryContents(baseUrl, baseSavePath, prefixToRemove) console.log(`Synced ${dirName}`)