MCPcopy Create free account
hub / github.com/freeCodeCamp/freeCodeCamp / deleteTask

Function deleteTask

tools/challenge-helper-scripts/delete-task.ts:13–47  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

11import { getMetaData } from './helpers/project-metadata.js';
12
13const deleteTask = async () => {
14 const path = getProjectPath();
15 const challenges = getMetaData().challengeOrder;
16
17 const challengeToDeleteId = await select<string>({
18 message: 'Which challenge should be deleted?',
19 choices: challenges.map(({ id, title }) => ({
20 name: title,
21 value: id
22 }))
23 });
24
25 const indexToDelete = challenges.findIndex(
26 ({ id }) => id === challengeToDeleteId
27 );
28
29 const fileToDelete = await getFileName(challengeToDeleteId);
30 if (!fileToDelete) {
31 throw new Error(`File not found for challenge ${challengeToDeleteId}`);
32 }
33
34 await unlink(`${path}${fileToDelete}`);
35 console.log(`Finished deleting file: '${fileToDelete}'.`);
36
37 await deleteChallengeFromMeta(indexToDelete);
38 console.log(`Finished removing challenge from 'meta.json'.`);
39
40 if (isTaskChallenge(challenges[indexToDelete].title)) {
41 await updateTaskMeta();
42 console.log("Finished updating tasks in 'meta.json'.");
43
44 updateTaskMarkdownFiles();
45 console.log(`Finished updating task markdown files.`);
46 }
47};
48
49void deleteTask();

Callers 1

delete-task.tsFile · 0.85

Calls 7

getProjectPathFunction · 0.85
getMetaDataFunction · 0.85
getFileNameFunction · 0.85
deleteChallengeFromMetaFunction · 0.85
isTaskChallengeFunction · 0.85
updateTaskMetaFunction · 0.85
updateTaskMarkdownFilesFunction · 0.85

Tested by

no test coverage detected