lerna-update-wizard
Advanced tools
Comparing version 0.3.0 to 0.4.0
@@ -6,3 +6,3 @@ { | ||
}, | ||
"version": "0.3.0", | ||
"version": "0.4.0", | ||
"main": "index.js", | ||
@@ -9,0 +9,0 @@ "license": "MIT", |
@@ -22,3 +22,3 @@ const path = require("path"); | ||
if (!await fileExists(projectPackagePath)) { | ||
if (!(await fileExists(projectPackagePath))) { | ||
ui.log.write( | ||
@@ -30,3 +30,3 @@ chalk.red.bold("No 'package.json' found in specified directory") | ||
if (!await fileExists(packagesDir)) { | ||
if (!(await fileExists(packagesDir))) { | ||
ui.log.write( | ||
@@ -41,2 +41,14 @@ chalk.red.bold("No 'packages/' directory found. Is this a lerna project?") | ||
const setSourceForDeps = (deps = [], source = "dependencies") => | ||
Object.keys(deps).reduce( | ||
(prev, name) => ({ | ||
...prev, | ||
[name]: { | ||
version: deps[name], | ||
source | ||
} | ||
}), | ||
{} | ||
); | ||
const dependencies = packages.reduce((prev, pack) => { | ||
@@ -51,3 +63,6 @@ const { dependencies, devDependencies } = require(resolve( | ||
...prev, | ||
[pack]: { ...dependencies, ...devDependencies } | ||
[pack]: { | ||
...setSourceForDeps(dependencies), | ||
...setSourceForDeps(devDependencies, "devDependencies") | ||
} | ||
}; | ||
@@ -61,3 +76,3 @@ }, {}); | ||
...Object.keys(packDeps).reduce((prev, dep) => { | ||
const version = packDeps[dep]; | ||
const { version, source } = packDeps[dep]; | ||
const prevDep = prev[dep] || { packs: {}, versions: [] }; | ||
@@ -77,3 +92,3 @@ const versions = uniq([...prevDep.versions, version]); | ||
name: dep, | ||
packs: { ...prevDep.packs, [pack]: version }, | ||
packs: { ...prevDep.packs, [pack]: { version, source } }, | ||
versions, | ||
@@ -80,0 +95,0 @@ color |
@@ -67,8 +67,14 @@ const inquirer = require("inquirer"); | ||
pageSize: 15, | ||
choices: packages.map(pack => { | ||
const installedVersion = dependencyMap[targetDependency].packs[pack]; | ||
choices: packages.map(depName => { | ||
const { version, source } = | ||
dependencyMap[targetDependency].packs[depName] || {}; | ||
const versionBit = version ? ` (${version})` : ""; | ||
const sourceBit = | ||
source === "devDependencies" ? chalk.white(" (dev)") : ""; | ||
return { | ||
name: `${pack} ${installedVersion ? `(${installedVersion})` : ""}`, | ||
value: pack, | ||
checked: !!installedVersion | ||
name: `${depName}${versionBit}${sourceBit}`, | ||
value: depName, | ||
checked: !!version | ||
}; | ||
@@ -123,7 +129,10 @@ }) | ||
for (let pack of targetPackages) { | ||
if (dependencyMap[targetDependency].packs[pack] === targetVersion) { | ||
for (let depName of targetPackages) { | ||
const { version, source } = | ||
dependencyMap[targetDependency].packs[depName] || {}; | ||
if (version === targetVersion) { | ||
ui.log.write(""); | ||
ui.log.write(`Already installed (${targetVersion})`); | ||
ui.log.write(chalk.green(`${pack} ✓`)); | ||
ui.log.write(chalk.green(`${depName} ✓`)); | ||
ui.log.write(""); | ||
@@ -133,11 +142,29 @@ continue; | ||
const packDir = resolve(packagesDir, pack); | ||
const packDir = resolve(packagesDir, depName); | ||
const installCmd = (await fileExists(resolve(projectDir, "yarn.lock"))) | ||
? `yarn add ${targetDependency}@${targetVersion}` | ||
: `npm install --save ${targetDependency}@${targetVersion}`; | ||
const dependencyManager = (await fileExists( | ||
resolve(projectDir, "yarn.lock") | ||
)) | ||
? "yarn" | ||
: "npm"; | ||
const sourceParam = { | ||
yarn: { | ||
dependencies: "", | ||
devDependencies: "--dev" | ||
}, | ||
npm: { | ||
dependencies: "--save", | ||
devDependencies: "--save-dev" | ||
} | ||
}[dependencyManager][source || "dependencies"]; | ||
const installCmd = | ||
dependencyManager === "yarn" | ||
? `yarn add ${sourceParam} ${targetDependency}@${targetVersion}` | ||
: `npm install ${sourceParam} ${targetDependency}@${targetVersion}`; | ||
await runCommand(`cd ${packDir} && ${installCmd}`, { | ||
startMessage: `${chalk.white.bold(pack)}: ${installCmd}`, | ||
endMessage: chalk.green(`${pack} ✓`) | ||
startMessage: `${chalk.white.bold(depName)}: ${installCmd}`, | ||
endMessage: chalk.green(`${depName} ✓`) | ||
}); | ||
@@ -196,4 +223,6 @@ } | ||
const subMessage = targetPackages | ||
.reduce((prev, pack) => { | ||
const fromVersion = dependencyMap[targetDependency].packs[pack]; | ||
.reduce((prev, depName) => { | ||
const { version: fromVersion } = dependencyMap[targetDependency].packs[ | ||
depName | ||
]; | ||
@@ -203,4 +232,4 @@ if (fromVersion === targetVersion) return prev; | ||
return fromVersion | ||
? [...prev, `* ${pack}: ${fromVersion} → ${targetVersion}`] | ||
: [...prev, `* ${pack}: ${targetVersion}`]; | ||
? [...prev, `* ${depName}: ${fromVersion} → ${targetVersion}`] | ||
: [...prev, `* ${depName}: ${targetVersion}`]; | ||
}, []) | ||
@@ -207,0 +236,0 @@ .join("\n"); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
186970
351