MCPcopy Create free account
hub / github.com/solana-program/system / getProgramFolders

Function getProgramFolders

scripts/utils.mjs:35–65  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

33
34let didWarnAboutMissingPrograms = false;
35export function getProgramFolders() {
36 let programs;
37
38 if (process.env.PROGRAMS) {
39 try {
40 programs = JSON.parse(process.env.PROGRAMS);
41 } catch (error) {
42 programs = process.env.PROGRAMS.split(/\s+/);
43 }
44 } else {
45 programs = getAllProgramFolders();
46 }
47
48 const filteredPrograms = programs.filter((program) =>
49 fs.existsSync(path.join(workingDirectory, program))
50 );
51
52 if (
53 filteredPrograms.length !== programs.length &&
54 !didWarnAboutMissingPrograms
55 ) {
56 didWarnAboutMissingPrograms = true;
57 programs
58 .filter((program) => !filteredPrograms.includes(program))
59 .forEach((program) => {
60 echo(chalk.yellow(`Program not found: ${workingDirectory}/${program}`));
61 });
62 }
63
64 return filteredPrograms;
65}
66
67export function getAllProgramFolders() {
68 return getCargo().workspace.members.filter((member) =>

Callers 3

getProgramsFunction · 0.90

Calls 1

getAllProgramFoldersFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…