68 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			68 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | import * as typeFest from 'type-fest'; | ||
|  | import normalize = require('normalize-package-data'); | ||
|  | 
 | ||
|  | declare namespace readPkg { | ||
|  | 	interface Options { | ||
|  | 		/** | ||
|  | 		[Normalize](https://github.com/npm/normalize-package-data#what-normalization-currently-entails) the package data.
 | ||
|  | 
 | ||
|  | 		@default true | ||
|  | 		*/ | ||
|  | 		readonly normalize?: boolean; | ||
|  | 
 | ||
|  | 		/** | ||
|  | 		Current working directory. | ||
|  | 
 | ||
|  | 		@default process.cwd() | ||
|  | 		*/ | ||
|  | 		readonly cwd?: string; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	interface NormalizeOptions extends Options { | ||
|  | 		readonly normalize?: true; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	type NormalizedPackageJson = PackageJson & normalize.Package; | ||
|  | 	type PackageJson = typeFest.PackageJson; | ||
|  | } | ||
|  | 
 | ||
|  | declare const readPkg: { | ||
|  | 	/** | ||
|  | 	@returns The parsed JSON. | ||
|  | 
 | ||
|  | 	@example | ||
|  | 	```
 | ||
|  | 	import readPkg = require('read-pkg'); | ||
|  | 
 | ||
|  | 	(async () => { | ||
|  | 		console.log(await readPkg()); | ||
|  | 		//=> {name: 'read-pkg', …}
 | ||
|  | 
 | ||
|  | 		console.log(await readPkg({cwd: 'some-other-directory'}); | ||
|  | 		//=> {name: 'unicorn', …}
 | ||
|  | 	})(); | ||
|  | 	```
 | ||
|  | 	*/ | ||
|  | 	(options?: readPkg.NormalizeOptions): Promise<readPkg.NormalizedPackageJson>; | ||
|  | 	(options: readPkg.Options): Promise<readPkg.PackageJson>; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	@returns The parsed JSON. | ||
|  | 
 | ||
|  | 	@example | ||
|  | 	```
 | ||
|  | 	import readPkg = require('read-pkg'); | ||
|  | 
 | ||
|  | 	console.log(readPkg.sync()); | ||
|  | 	//=> {name: 'read-pkg', …}
 | ||
|  | 
 | ||
|  | 	console.log(readPkg.sync({cwd: 'some-other-directory'}); | ||
|  | 	//=> {name: 'unicorn', …}
 | ||
|  | 	```
 | ||
|  | 	*/ | ||
|  | 	sync(options?: readPkg.NormalizeOptions): readPkg.NormalizedPackageJson; | ||
|  | 	sync(options: readPkg.Options): readPkg.PackageJson; | ||
|  | }; | ||
|  | 
 | ||
|  | export = readPkg; |