aboutsummaryrefslogtreecommitdiff
path: root/node_modules/package-json/index.d.ts
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-06-04 08:51:01 +0200
committerMinteck <contact@minteck.org>2022-06-04 08:51:01 +0200
commit383285ecd5292bf9a825e05904955b937de84cc9 (patch)
tree0a53b6f02c1604b078044567c03dc1b6c944c8c2 /node_modules/package-json/index.d.ts
downloadequestriadb-383285ecd5292bf9a825e05904955b937de84cc9.tar.gz
equestriadb-383285ecd5292bf9a825e05904955b937de84cc9.tar.bz2
equestriadb-383285ecd5292bf9a825e05904955b937de84cc9.zip
Initial commit
Diffstat (limited to 'node_modules/package-json/index.d.ts')
-rw-r--r--node_modules/package-json/index.d.ts199
1 files changed, 199 insertions, 0 deletions
diff --git a/node_modules/package-json/index.d.ts b/node_modules/package-json/index.d.ts
new file mode 100644
index 0000000..d55fc57
--- /dev/null
+++ b/node_modules/package-json/index.d.ts
@@ -0,0 +1,199 @@
+/// <reference types="node"/>
+import {Agent as HttpAgent} from 'http';
+import {Agent as HttpsAgent} from 'https';
+
+declare class VersionNotFoundErrorClass extends Error {
+ readonly name: 'VersionNotFoundError';
+
+ constructor(packageName: string, version: string);
+}
+
+declare class PackageNotFoundErrorClass extends Error {
+ readonly name: 'PackageNotFoundError';
+
+ constructor(packageName: string);
+}
+
+declare namespace packageJson {
+ interface Agents {
+ http?: HttpAgent;
+ https?: HttpsAgent;
+ }
+
+ interface Options {
+ /**
+ Package version such as `1.0.0` or a [dist tag](https://docs.npmjs.com/cli/dist-tag) such as `latest`.
+
+ The version can also be in any format supported by the [semver](https://github.com/npm/node-semver) module. For example:
+ - `1` - Get the latest `1.x.x`
+ - `1.2` - Get the latest `1.2.x`
+ - `^1.2.3` - Get the latest `1.x.x` but at least `1.2.3`
+ - `~1.2.3` - Get the latest `1.2.x` but at least `1.2.3`
+
+ @default 'latest'
+ */
+ readonly version?: string;
+
+ /**
+ By default, only an abbreviated metadata object is returned for performance reasons. [Read more.](https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md)
+
+ @default false
+ */
+ readonly fullMetadata?: boolean;
+
+ /**
+ Return the [main entry](https://registry.npmjs.org/ava) containing all versions.
+
+ @default false
+ */
+ readonly allVersions?: boolean;
+
+ /**
+ The registry URL is by default inferred from the npm defaults and `.npmrc`. This is beneficial as `package-json` and any project using it will work just like npm. This option is*only** intended for internal tools. You should*not** use this option in reusable packages. Prefer just using `.npmrc` whenever possible.
+ */
+ readonly registryUrl?: string;
+
+ /**
+ Overwrite the `agent` option that is passed down to [`got`](https://github.com/sindresorhus/got#agent). This might be useful to add [proxy support](https://github.com/sindresorhus/got#proxies).
+ */
+ readonly agent?: HttpAgent | HttpsAgent | Agents | false;
+ }
+
+ interface FullMetadataOptions extends Options {
+ /**
+ By default, only an abbreviated metadata object is returned for performance reasons. [Read more.](https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md)
+
+ @default false
+ */
+ readonly fullMetadata: true;
+ }
+
+ interface DistTags {
+ readonly latest: string;
+ readonly [tagName: string]: string;
+ }
+
+ interface AbbreviatedMetadata {
+ readonly 'dist-tags': DistTags;
+ readonly modified: string;
+ readonly name: string;
+ readonly versions: {readonly [version: string]: AbbreviatedVersion};
+ readonly [key: string]: unknown;
+ }
+
+ interface AbbreviatedVersion {
+ readonly name: string;
+ readonly version: string;
+ readonly dist: {
+ readonly shasum: string;
+ readonly tarball: string;
+ readonly integrity?: string;
+ };
+ readonly deprecated?: string;
+ readonly dependencies?: {readonly [name: string]: string};
+ readonly optionalDependencies?: {readonly [name: string]: string};
+ readonly devDependencies?: {readonly [name: string]: string};
+ readonly bundleDependencies?: {readonly [name: string]: string};
+ readonly peerDependencies?: {readonly [name: string]: string};
+ readonly bin?: {readonly [key: string]: string};
+ readonly directories?: readonly string[];
+ readonly engines?: {readonly [type: string]: string};
+ readonly _hasShrinkwrap?: boolean;
+ readonly [key: string]: unknown;
+ }
+
+ interface Person {
+ readonly name?: string;
+ readonly email?: string;
+ readonly url?: string;
+ }
+
+ interface HoistedData {
+ readonly author?: Person;
+ readonly bugs?:
+ | {readonly url: string; readonly email?: string}
+ | {readonly url?: string; readonly email: string};
+ readonly contributors?: readonly Person[];
+ readonly description?: string;
+ readonly homepage?: string;
+ readonly keywords?: readonly string[];
+ readonly license?: string;
+ readonly maintainers?: readonly Person[];
+ readonly readme?: string;
+ readonly readmeFilename?: string;
+ readonly repository?: {readonly type: string; readonly url: string};
+ }
+
+ interface FullMetadata extends AbbreviatedMetadata, HoistedData {
+ readonly _id: string;
+ readonly _rev: string;
+ readonly time: {
+ readonly created: string;
+ readonly modified: string;
+ readonly [version: string]: string;
+ };
+ readonly users?: {readonly [user: string]: boolean};
+ readonly versions: {readonly [version: string]: FullVersion};
+ readonly [key: string]: unknown;
+ }
+
+ interface FullVersion extends AbbreviatedVersion, HoistedData {
+ readonly _id: string;
+ readonly _nodeVersion: string;
+ readonly _npmUser: string;
+ readonly _npmVersion: string;
+ readonly main?: string;
+ readonly files?: readonly string[];
+ readonly man?: readonly string[];
+ readonly scripts?: {readonly [scriptName: string]: string};
+ readonly gitHead?: string;
+ readonly types?: string;
+ readonly typings?: string;
+ readonly [key: string]: unknown;
+ }
+
+ type VersionNotFoundError = VersionNotFoundErrorClass;
+ type PackageNotFoundError = PackageNotFoundErrorClass;
+}
+
+declare const packageJson: {
+ /**
+ Get metadata of a package from the npm registry.
+
+ @param packageName - Name of the package.
+
+ @example
+ ```
+ import packageJson = require('package-json');
+
+ (async () => {
+ console.log(await packageJson('ava'));
+ //=> {name: 'ava', ...}
+
+ // Also works with scoped packages
+ console.log(await packageJson('@sindresorhus/df'));
+ })();
+ ```
+ */
+ (packageName: string, options: packageJson.FullMetadataOptions): Promise<
+ packageJson.FullMetadata
+ >;
+ (packageName: string, options?: packageJson.Options): Promise<
+ packageJson.AbbreviatedMetadata
+ >;
+
+ /**
+ The error thrown when the given package version cannot be found.
+ */
+ VersionNotFoundError: typeof VersionNotFoundErrorClass;
+
+ /**
+ The error thrown when the given package name cannot be found.
+ */
+ PackageNotFoundError: typeof PackageNotFoundErrorClass;
+
+ // TODO: remove this in the next major version
+ default: typeof packageJson;
+};
+
+export = packageJson;