code: File findNodeModulesNearestMatch(File requiringFile, String requireText) throws IOException {
          if ( requiringFile == null )
              return null;
          if ( !requireText.startsWith(".") ) {
              File f = new File(requiringFile, "node_modules/" + requireText);
              if (f.exists())
                  return new File(TimeStampedFileCache.getCanonicalPath(f));
              f = new File(requiringFile, "node_modules/" + requireText + ".js");
              if (f.exists())
                  return new File(TimeStampedFileCache.getCanonicalPath(f));
              return findNodeModulesNearestMatch(requiringFile.getParentFile(), requireText);
          } else {
              File f = new File(requiringFile.getParentFile(),requireText);
              if ( ! f.exists() )
                  f =  new File(requiringFile.getParentFile(),requireText+".js");
              if ( f.exists() )
                  return new File(TimeStampedFileCache.getCanonicalPath(f));
          }
          return null;
      }
docs: return first subdirectory of nearest node path. e.. ../node_modules/react for ../node_modules/dist/lib/index.js
  @param requiringFile
  @param requireText
  @return
  @throws IOException