freeCodeCamp/tools/scripts/redirect-gen.ts

37 lines
1.1 KiB
TypeScript
Raw Normal View History

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();