Allow registry to be configured in lerna.json
This commit is contained in:
@@ -9,5 +9,6 @@
|
||||
}
|
||||
},
|
||||
"npmClient": "yarn",
|
||||
"useWorkspaces": true
|
||||
"useWorkspaces": true,
|
||||
"registry": "http://localhost:4873"
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user