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

Function buildSourceMap

packages/challenge-builder/src/build.ts:62–81  ·  view source on GitHub ↗
(challengeFiles: ChallengeFile[])

Source from the content-addressed store, hash-verified

60const joinWithFileBoundaries = (contents: string[]) => contents.join('\n');
61
62function buildSourceMap(challengeFiles: ChallengeFile[]): Source | undefined {
63 // TODO: rename sources.index to sources.contents.
64 const index = joinWithFileBoundaries(
65 challengeFiles.map(challengeFile => challengeFile.source ?? '')
66 );
67 const editableContents = joinWithFileBoundaries(
68 challengeFiles.map(challengeFile => challengeFile.editableContents ?? '')
69 );
70 const source: Source | undefined = challengeFiles.length
71 ? {
72 index,
73 contents: index,
74 editableContents
75 }
76 : {
77 index,
78 editableContents
79 };
80 return source;
81}
82
83const buildFunctions = {
84 [challengeTypes.js]: buildJSChallenge,

Callers 3

buildDOMChallengeFunction · 0.85
buildJSChallengeFunction · 0.85
buildPythonChallengeFunction · 0.85

Calls 1

joinWithFileBoundariesFunction · 0.85

Tested by

no test coverage detected