UNPKG

@neodx/vfs

Version:

Simple virtual file system - working dir context, lazy changes, different modes, integrations and moreover

49 lines (46 loc) 1.85 kB
import { JsonUpdate } from './json.js'; import * as _neodx_fs from '@neodx/fs'; import * as jsonc_parser from 'jsonc-parser'; import { m as VfsPlugin, B as BaseVfs } from '../_internal/types-Bu8eLcj4.js'; import { PackageJsonDependencies } from '@neodx/pkg-misc'; import { PackageJson } from 'pkg-types'; interface PackageJsonPluginApi { packageJson(path?: string): PackageJsonApi; } type PackageJsonApi = ReturnType<typeof createVfsPackageJsonFileApi>; declare function packageJson(): VfsPlugin<PackageJsonPluginApi>; declare function createVfsPackageJsonFileApi( vfs: BaseVfs, path: string ): { hasDependency(name: string): Promise<boolean>; addDependencies(deps: string | string[] | PackageJsonDependencies): Promise<boolean>; removeDependencies(deps: string | string[] | Record<string, string>): Promise<boolean>; tryRead<T extends PackageJson = PackageJson>( options?: jsonc_parser.ParseOptions | undefined ): Promise<T | null>; read<T_1 extends PackageJson = PackageJson>( options?: jsonc_parser.ParseOptions | undefined ): Promise<T_1>; write<T_2 extends PackageJson = PackageJson>( json: T_2, options?: _neodx_fs.SerializeJsonParams | undefined ): Promise<void>; update<T_3 extends PackageJson = PackageJson>( updater: JsonUpdate<T_3>, options?: (jsonc_parser.ParseOptions & _neodx_fs.SerializeJsonParams) | undefined ): Promise<void>; experimental_toResource( defaultValue: PackageJson, options?: (jsonc_parser.ParseOptions & _neodx_fs.SerializeJsonParams) | undefined ): Promise< { data: PackageJson; } & AsyncDisposable >; path: string; rename: (...args: string[]) => Promise<void>; exists: () => Promise<boolean>; delete: () => Promise<void>; }; export { type PackageJsonApi, type PackageJsonPluginApi, createVfsPackageJsonFileApi, packageJson };