Browse Source

Fix PROGRAMS env regex (#44)

* Fix programs env regex

* Add changeset

* Fix lint

* Improve env variable parsing
Fernando Otero 1 year ago
parent
commit
312fb9993c
2 changed files with 17 additions and 3 deletions
  1. 5 0
      .changeset/blue-fishes-grow.md
  2. 12 3
      template/base/scripts/utils.mjs

+ 5 - 0
.changeset/blue-fishes-grow.md

@@ -0,0 +1,5 @@
+---
+"create-solana-program": patch
+---
+
+Fix program env variable regex

+ 12 - 3
template/base/scripts/utils.mjs

@@ -28,9 +28,18 @@ export function getExternalProgramAddresses() {
 
 
 let didWarnAboutMissingPrograms = false;
 let didWarnAboutMissingPrograms = false;
 export function getProgramFolders() {
 export function getProgramFolders() {
-  const programs = process.env.PROGRAMS
-    ? process.env.PROGRAMS.split(/\s+/)
-    : getAllProgramFolders();
+  let programs;
+
+  if (process.env.PROGRAMS) {
+    try {
+      programs = JSON.parse(process.env.PROGRAMS);
+    } catch (error) {
+      programs = process.env.PROGRAMS.split(/\s+/);
+    }
+  } else {
+    programs = getAllProgramFolders();
+  }
+
   const filteredPrograms = programs.filter((program) =>
   const filteredPrograms = programs.filter((program) =>
     fs.existsSync(path.join(workingDirectory, program))
     fs.existsSync(path.join(workingDirectory, program))
   );
   );