import type { CommandArgs } from '../util'; export declare class InstallCommand { args: InstallCommandArgs; constructor(args: InstallCommandArgs); private hostPackageJson?; logger: import("@rokucommunity/logger").Logger; private moduleManager; private get hostRootDir(); private get cwd(); run(runNpmInstall?: boolean): Promise; /** * Deletes every roku_modules folder found in the hostRootDir */ private deleteAllRokuModulesFolders; /** * A "host" is the project we are currently operating upon. This method * finds the package.json file for the current host */ private loadHostPackageJson; private updateLogLevel; private npmInstall; /** * Copy all modules to roku_modules */ private processModules; /** * Get the list of prod dependencies from npm. * This is run sync because it should run as fast as possible * and won't be run in ~parallel. */ getProdDependencies(): string[]; /** * Flatten dependencies from `npm ls --json --long` to match the parseable output * @param packageJson the result from `npm ls --json --long` * @returns list of dependency paths */ private flattenPackage; /** * Finds the current package in the dependency tree * * Important for workspace projects, where the root project * is included in the dependency tree and needs to be removed * @param packageJson root depenendency json * @param name cwd project name * @returns package entry in dependency json */ private findDependencyByName; } export interface InstallCommandArgs extends CommandArgs { /** * The list of packages that should be installed */ packages?: string[]; /** * Dependencies installation location. * By default the setting from package.json is imported out-of-the-box, but if rootDir is passed here, * it will override the value from package.json. */ rootDir?: string; }