class FrontendTools {

    public List<String> getPnpmExecutable() {
        Supplier<List<String>> result = doEnsurePnpm();
        List<String> pnpmCommand = result.get();
        if (!pnpmCommand.isEmpty()) {
            pnpmCommand.add("--shamefully-hoist=true");
        }
        return pnpmCommand;
    }

    public  FrontendTools(String baseDir,
            Supplier<String> alternativeDirGetter);
    public  FrontendTools(String baseDir,
                         Supplier<String> alternativeDirGetter,
                         String nodeVersion,
                         URI nodeDownloadRoot);
      FrontendTools(String baseDir, Supplier<String> alternativeDirGetter,
            String nodeVersion, URI nodeDownloadRoot,
            boolean ignoreVersionChecks);

}