@stryker-mutator/core
Version:
The extendable JavaScript mutation testing framework
36 lines • 1.5 kB
JavaScript
import { RestClient } from 'typed-rest-client';
import * as initializerTokens from './initializer-tokens.js';
import { coreTokens } from '../di/index.js';
import { errorToString } from '@stryker-mutator/util';
import { commonTokens } from '@stryker-mutator/api/plugin';
const DEFAULT_NPM_REGISTRY = 'https://registry.npmjs.com';
function getRegistry(logger, execaSync) {
if (process.env.npm_config_registry) {
return process.env.npm_config_registry;
}
else if (process.env.npm_command) {
// if running inside npm and not having the registry than it's the default one
return DEFAULT_NPM_REGISTRY;
}
else {
// Using global as when trying to get the registry inside npm workspace it would fail
try {
const registry = execaSync('npm config get --global registry', {
stdout: 'pipe',
timeout: 20000,
});
return registry.stdout.trim();
}
catch (e) {
logger.warn('Could not run `npm config get --global registry` falling back to default npm registry.', errorToString(e));
return DEFAULT_NPM_REGISTRY;
}
}
}
getRegistry.inject = [commonTokens.logger, coreTokens.execaSync];
function createNpmRegistryClient(npmRegistry) {
return new RestClient('npm', npmRegistry);
}
createNpmRegistryClient.inject = [initializerTokens.npmRegistry];
export { createNpmRegistryClient, getRegistry };
//# sourceMappingURL=npm-registry.js.map