npm.d.ts 1.0 KB

123456789101112131415161718192021222324252627
  1. import { PackageJson } from '@ionic/cli-framework';
  2. import { NpmClient } from '../../definitions';
  3. export declare type PkgManagerCommand = 'dedupe' | 'rebuild' | 'install' | 'uninstall' | 'run' | 'info';
  4. export interface PkgManagerOptions {
  5. command: PkgManagerCommand;
  6. pkg?: string | string[];
  7. script?: string;
  8. scriptArgs?: string[];
  9. global?: boolean;
  10. save?: boolean;
  11. saveDev?: boolean;
  12. saveExact?: boolean;
  13. json?: boolean;
  14. lockFileOnly?: boolean;
  15. }
  16. /**
  17. * Resolves pkg manager intent with command args.
  18. *
  19. * TODO: this is a weird function and should be split up
  20. *
  21. * @return Promise<args> If the args is an empty array, it means the pkg manager doesn't have that command.
  22. */
  23. export declare function pkgManagerArgs(npmClient: NpmClient, options: PkgManagerOptions): Promise<string[]>;
  24. /**
  25. * @return Promise<package.json on registry or `undefined`>
  26. */
  27. export declare function pkgFromRegistry(npmClient: NpmClient, options: Partial<PkgManagerOptions>): Promise<PackageJson | undefined>;