Files
pnpm/test/utils/testDefaults.ts
Zoltan Kochan bb7aff4af6 refactor: use own options
BREAKING CHANGE:

storeController is not an optional parameter anymore
2018-01-07 22:34:31 +02:00

42 lines
1017 B
TypeScript

import {InstallOptions} from 'supi'
import path = require('path')
import createStore, {resolveStore} from 'package-store'
import createFetcher from '@pnpm/default-fetcher'
import createResolver from '@pnpm/default-resolver'
const registry = 'http://localhost:4873/'
export default async function testDefaults (
opts?: any,
resolveOpts?: any,
fetchOpts?: any,
): Promise<InstallOptions> {
let store = opts && opts.store || path.resolve('..', '.store')
store = await resolveStore(store, opts && opts.prefix || process.cwd())
const rawNpmConfig = {registry}
const storeController = await createStore(
createResolver({
metaCache: new Map(),
rawNpmConfig,
store,
strictSsl: true,
...resolveOpts,
}),
createFetcher({
alwaysAuth: true,
registry,
rawNpmConfig,
...fetchOpts,
}) as {},
{
store,
locks: path.join(store, '_locks'),
}
)
return Object.assign({
store,
storeController,
registry,
}, opts)
}