Allow registry to be configured in lerna.json

This commit is contained in:
Fabio Berger 2018-07-23 19:09:24 +02:00
parent a05b14e4d9
commit bddcebfbb1
4 changed files with 8 additions and 6 deletions

View File

@ -9,5 +9,6 @@
}
},
"npmClient": "yarn",
"useWorkspaces": true
"useWorkspaces": true,
"registry": "http://localhost:4873"
}

View File

@ -50,7 +50,7 @@ async function checkGitTagsForNextVersionAndDeleteIfExistAsync(updatedPublicPack
async function checkCurrentVersionMatchesLatestPublishedNPMPackageAsync(
updatedPublicPackages: Package[],
): Promise<void> {
utils.log('Check package versions against npmjs.org...');
utils.log('Check package versions against npm registry...');
const versionMismatches = [];
for (const pkg of updatedPublicPackages) {
const packageName = pkg.packageJson.name;

View File

@ -172,8 +172,7 @@ async function updateChangeLogsAsync(updatedPublicPackages: Package[]): Promise<
async function lernaPublishAsync(packageToVersionChange: { [name: string]: string }): Promise<void> {
// HACK: Lerna publish does not provide a way to specify multiple package versions via
// flags so instead we need to interact with their interactive prompt interface.
const PACKAGE_REGISTRY = 'https://registry.npmjs.org/';
const child = spawn('lerna', ['publish', `--registry=${PACKAGE_REGISTRY}`], {
const child = spawn('lerna', ['publish'], {
cwd: constants.monorepoRootPath,
});
let shouldPrintOutput = false;

View File

@ -1,9 +1,11 @@
import * as fs from 'fs';
import 'isomorphic-fetch';
import * as _ from 'lodash';
import { PackageRegistryJson } from '../types';
const NPM_REGISTRY_BASE_URL = 'https://registry.npmjs.org';
const lernaJson = JSON.parse(fs.readFileSync('lerna.json').toString());
const NPM_REGISTRY_BASE_URL = lernaJson.registry;
const SUCCESS_STATUS = 200;
const NOT_FOUND_STATUS = 404;
@ -15,7 +17,7 @@ export const npmUtils = {
if (response.status === NOT_FOUND_STATUS) {
return undefined;
} else if (response.status !== SUCCESS_STATUS) {
throw new Error(`Request to ${url} failed. Check your internet connection and that npmjs.org is up.`);
throw new Error(`Request to ${url} failed. Check your internet connection and that npm registry is up.`);
}
const packageRegistryJson = await response.json();
return packageRegistryJson;