mirror of
https://github.com/pnpm/pnpm.git
synced 2026-03-23 17:41:50 -04:00
* feat(config): add support for token helper Use the new interface in `pnpm/credentials-by-uri` for supporting token helpers. A token helper is an executable, set in the user's `.npmrc` which outputs an auth token. This can be used in situations where the `authToken` is not a constant value, but is something that refreshes regularly, where a script or other tool can use an existing refresh token to obtain a new access token. The configuration for the path to the helper must be an absolute path, with no arguments. In order to be secure, it is _only_ permitted to set this value in the user `.npmrc`, otherwise a project could place a value in a project local `.npmrc` and run arbitrary executables. A similar feature is available in many similar tools. The implementation in `credentials-by-uri` is modelled after the `vault` (vaultproject.io) implementation - https://github.com/hashicorp/vault/blob/main/command/token/helper_external.go * test: fix * docs: add changesets Co-authored-by: Zoltan Kochan <z@kochan.io>
52 lines
1.1 KiB
TypeScript
52 lines
1.1 KiB
TypeScript
import { REGISTRY_MOCK_PORT } from '@pnpm/registry-mock'
|
|
|
|
const REGISTRY = `http://localhost:${REGISTRY_MOCK_PORT}`
|
|
|
|
export const DEFAULT_OPTS = {
|
|
alwaysAuth: false,
|
|
argv: {
|
|
original: [],
|
|
},
|
|
bail: false,
|
|
bin: 'node_modules/.bin',
|
|
ca: undefined,
|
|
cacheDir: '../cache',
|
|
cert: undefined,
|
|
cliOptions: {},
|
|
fetchRetries: 2,
|
|
fetchRetryFactor: 90,
|
|
fetchRetryMaxtimeout: 90,
|
|
fetchRetryMintimeout: 10,
|
|
filter: [] as string[],
|
|
global: false,
|
|
httpsProxy: undefined,
|
|
include: {
|
|
dependencies: true,
|
|
devDependencies: true,
|
|
optionalDependencies: true,
|
|
},
|
|
key: undefined,
|
|
linkWorkspacePackages: true,
|
|
localAddress: undefined,
|
|
lock: false,
|
|
lockStaleDuration: 90,
|
|
networkConcurrency: 16,
|
|
offline: false,
|
|
pending: false,
|
|
pnpmfile: './.pnpmfile.cjs',
|
|
proxy: undefined,
|
|
rawConfig: { registry: REGISTRY },
|
|
rawLocalConfig: {},
|
|
registries: { default: REGISTRY },
|
|
registry: REGISTRY,
|
|
sort: true,
|
|
storeDir: '../store',
|
|
strictSsl: false,
|
|
tag: 'latest',
|
|
userAgent: 'pnpm',
|
|
userConfig: {},
|
|
useRunningStoreServer: false,
|
|
useStoreServer: false,
|
|
workspaceConcurrency: 4,
|
|
}
|