import fs from 'fs'; import path from 'path'; /* This can be used to create NGINX maps for redirects. After running this script with `npx ts-node redirect-gen`, the map should appear in the current directory. */ function createRedirectMap(): void { const basePath = '../../../curriculum/challenges/english/18-project-euler'; const directories = fs.readdirSync(path.resolve(__dirname, basePath)); let mapObject = ''; for (let i = 0; i < directories.length; i++) { const files = fs.readdirSync( path.resolve(__dirname, `${basePath}/${directories[i]}`) ); for (let j = 0; j < files.length; j++) { const fileName = path.parse(files[j]).name; mapObject += `~^/learn/coding-interview-prep/project-euler/${fileName}/?$ /learn/project-euler/${directories[i]}/${fileName}; \n`; } } fs.writeFile('redirectMap.map', mapObject, 'utf8', function (err) { if (err) { console.log('An error occurred while writing MAP redirect file', err); return console.log(err); } console.log('Map file has been saved.'); }); } createRedirectMap();