typle
Version:
📦 Scan and install missing Typescript type definitions for your dependencies.
48 lines (42 loc) • 1.66 kB
text/typescript
import { PackageManager } from '@antfu/install-pkg';
import { Argv } from 'ofi';
declare interface Options {
/** Run install silently */
readonly silent: boolean;
/** Whether to install all packages or only update `package.json` */
readonly install: boolean;
/**
* Which package manager to use.\
* Allowed: `npm`, `yarn`, `pnpm` or `bun`.
*/
pkgManager?: PackageManager;
/** List of packages to ignore. */
readonly ignorePackages: string[];
/**
* List of certain dependency fields to ignore.\
* For example to ignore `devDependencies` use `--ignore-deps devDependencies` or `--ignore-deps dev` for shorthand.
*/
readonly ignoreDeps: string[];
/** Paths or globs where `package.json` files will be scanned. */
readonly patterns: string | string[];
/** Additional arguments for package install. */
readonly additionalArgs: string[];
/** If specified, it won't make any changes in `package.json` or install any packages. */
readonly dryRun: boolean;
}
/** Run typle. */
declare function run(options_?: Partial<Options>): Promise<void>;
/**
* Install packages with `@types` definitions.
* @param {string[]} libs libraries to install
* @param {Argv} args parsed arguments
* @param {Pick<Options, 'pkgManager'>} [options] options
*/
declare function install(libs: string[], args: Argv, options?: Pick<Options, 'pkgManager'>): Promise<void>;
/**
* Define typle config.
* @param {Partial<Options>} options
* @returns {Partial<Options>} options
*/
declare function defineConfig(options: Partial<Options>): Partial<Options>;
export { defineConfig, install, run };