mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-31 11:07:32 +08:00
Add registry-auth-token (#27285)
* Add registry-auth-token * Fix: type definitions header * Fix: Change Typescript version: 2.8 * Fix: Clean-up test cases
This commit is contained in:
70
types/registry-auth-token/index.d.ts
vendored
Normal file
70
types/registry-auth-token/index.d.ts
vendored
Normal file
@@ -0,0 +1,70 @@
|
||||
// Type definitions for Registry Auth Token 3.3
|
||||
// Project: https://github.com/rexxars/registry-auth-token
|
||||
// Definitions by: Maurice de Beijer <https://github.com/mauricedb>
|
||||
// James Liang <https://github.com/LiangZugeng>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.8
|
||||
|
||||
/**
|
||||
* Simple namespace describing the inputs and outputs for `registry-auth-token`
|
||||
*/
|
||||
declare namespace auth {
|
||||
/**
|
||||
* The options for passing into `registry-auth-token`
|
||||
*/
|
||||
interface AuthOptions {
|
||||
/**
|
||||
* Wether or not url's path parts are recursively trimmed from the registry
|
||||
* url when searching for tokens
|
||||
*/
|
||||
recursive?: boolean;
|
||||
/**
|
||||
* An npmrc configuration object used when searching for tokens. If no object is provided,
|
||||
* the `.npmrc` file at the base of the project is used.
|
||||
*/
|
||||
npmrc?: {
|
||||
/**
|
||||
* A registry url used for matching
|
||||
*/
|
||||
registry?: string;
|
||||
/**
|
||||
* Registry url's with token information
|
||||
*/
|
||||
[registryUrls: string]: string;
|
||||
};
|
||||
}
|
||||
/**
|
||||
* The generated authentication information
|
||||
*/
|
||||
interface NpmCredentials {
|
||||
/**
|
||||
* The token representing the users credentials
|
||||
*/
|
||||
token: string;
|
||||
/**
|
||||
* The type of token
|
||||
*/
|
||||
type: 'Basic'|'Bearer';
|
||||
/**
|
||||
* The username used in `Basic`
|
||||
*/
|
||||
username?: string;
|
||||
/**
|
||||
* The password used in `Basic`
|
||||
*/
|
||||
password?: string;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param registryUrl - Either the registry url used
|
||||
* for matching or a configuration object describing the contents of the .npmrc file
|
||||
* @param [options] - a configuration object describing the
|
||||
* contents of the .npmrc file. If an `npmrc` config object was passed in as the
|
||||
* first parameter, this parameter is ignored.
|
||||
* @returns The `NpmCredentials` object or undefined if no match found.
|
||||
*/
|
||||
declare function auth(registryUrl: string | auth.AuthOptions, options?: auth.AuthOptions): auth.NpmCredentials;
|
||||
|
||||
export = auth;
|
||||
15
types/registry-auth-token/registry-auth-token-tests.ts
Normal file
15
types/registry-auth-token/registry-auth-token-tests.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import * as authToken from 'registry-auth-token';
|
||||
|
||||
// $ExpectType NpmCredentials
|
||||
authToken('url');
|
||||
// $ExpectType NpmCredentials
|
||||
authToken({ recursive: true });
|
||||
// $ExpectType NpmCredentials
|
||||
authToken({ npmrc: { url: 'value' } });
|
||||
// $ExpectType NpmCredentials
|
||||
authToken({ npmrc: { registry: 'url' } });
|
||||
// $ExpectType NpmCredentials
|
||||
authToken('url', { npmrc: { url: 'value' } });
|
||||
|
||||
// $ExpectError
|
||||
authToken();
|
||||
23
types/registry-auth-token/tsconfig.json
Normal file
23
types/registry-auth-token/tsconfig.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"strictFunctionTypes": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"registry-auth-token-tests.ts"
|
||||
]
|
||||
}
|
||||
3
types/registry-auth-token/tslint.json
Normal file
3
types/registry-auth-token/tslint.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "dtslint/dt.json"
|
||||
}
|
||||
Reference in New Issue
Block a user