Socket
Socket
Sign inDemoInstall

lerna-update-wizard

Package Overview
Dependencies
Maintainers
1
Versions
49
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lerna-update-wizard - npm Package Compare versions

Comparing version 0.9.0 to 0.9.1

test/dedupe.flag.spec.js

2

package.json

@@ -6,3 +6,3 @@ {

},
"version": "0.9.0",
"version": "0.9.1",
"main": "index.js",

@@ -9,0 +9,0 @@ "license": "MIT",

@@ -36,2 +36,10 @@ const path = require("path");

ui.log.write(
`\n${chalk.bold("Lerna Update Wizard")}\n${chalk.grey(
"v" + require("../package.json").version
)}\n\n`
);
ui.logBottom("Collecting packages...");
const packagesRead = await globby(

@@ -54,2 +62,4 @@ (lernaConfig.packages || ["packages/*"]).map(glob =>

ui.logBottom("");
const setSourceForDeps = (deps = [], source = "dependencies") =>

@@ -56,0 +66,0 @@ Object.keys(deps).reduce(

@@ -28,2 +28,4 @@ const { default: runProgram } = require("./utils/runProgram");

? Select a dependency to upgrade: (Use arrow keys or type to search)
❯ lodash (1 version)
treediff (1 version)

@@ -30,0 +32,0 @@ >>> input tree

@@ -7,3 +7,3 @@ const fs = require("fs-extra");

const generateProject = async options => {
const generateProject = async (options, log) => {
const { name, packages, dependencies, prefixPath, lernaJson } = options;

@@ -13,3 +13,3 @@

console.info(chalk.bold("Creating project", p));
console.info(log);

@@ -49,6 +49,9 @@ await fs.outputFile(

for (let pOptions of packages) {
await generateProject({
...pOptions,
prefixPath: path.resolve(p, pOptions.moduleDirName || "packages"),
});
await generateProject(
{
...pOptions,
prefixPath: path.resolve(p, pOptions.moduleDirName || "packages"),
},
`└──${pOptions.name}`
);
}

@@ -62,5 +65,8 @@ }

await generateProject({ ...options, prefixPath });
await generateProject(
{ ...options, prefixPath },
`${chalk.bold.white("Creating project:")} ${options.name}`
);
return path.resolve(prefixPath, options.name);
};

@@ -7,2 +7,4 @@ const chalk = require("chalk");

const { scan: liveScan } = require("./liveScan");
// From https://www.novell.com/documentation/extend5/Docs/help/Composer/books/TelnetAppendixB.html

@@ -20,7 +22,7 @@ const keys = {

let latestBuffer = "";
const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
const run = (proc, { type, value, maxWait = 10 }, onStdOut) =>
let scanner;
const run = (proc, { type, value, maxWait = 5 }, onStdOut) =>
new Promise(async (resolve, reject) => {

@@ -33,4 +35,4 @@ if (!proc) return resolve();

const data = bufferData.toString();
latestBuffer += data;
onStdOut && onStdOut(data);
scanner && scanner.feed(data);
});

@@ -42,36 +44,33 @@

case "find":
let timeoutId = setTimeout(() => {
reject(new Error(`Did not find "${value}" within ${maxWait} sec.`));
}, maxWait * 1000);
const lastBuffer = scanner && scanner.getBuffer();
const resolveIfFound = bufferOrString => {
const data = bufferOrString.toString();
const isFound = Array.isArray(value)
? value.every(line => data.includes(line))
: data.includes(value);
scanner = liveScan({
timeout: maxWait * 1000,
target: value,
onFind: ({ matchContext, matchTarget }) => {
console.info(
[
chalk.green.dim(matchContext),
chalk.green.bold(matchTarget),
].join("\n")
);
if (isFound) {
clearTimeout(timeoutId);
resolve(proc);
},
onTimeout: ({ targetBlob, bufferBlob }) => {
console.info(
[
chalk.bold.red("Did not find:"),
chalk.yellow(targetBlob),
chalk.bold.red("\nInstead found:"),
chalk.yellow(bufferBlob),
chalk.bold.red(`\n\n(After waiting ${maxWait} seconds)`),
].join("\n")
);
reject(new Error("Timeout error"));
},
});
const output = Array.isArray(value)
? latestBuffer
.toString()
.split("\n")
.filter(l => value.some(lf => l.includes(lf)))
.join("\n")
: `"${value}"`;
lastBuffer && scanner.feed(lastBuffer);
console.info(chalk.green(`Found:\n${output}\n`));
delay(500).then(() => resolve(proc));
}
return isFound;
};
const foundInBuffer = resolveIfFound(latestBuffer);
if (!foundInBuffer) {
proc.stdout.on("data", resolveIfFound);
}
break;

@@ -82,3 +81,3 @@ case "input":

streamWrite(proc.stdin, keys[data] || data);
await delay(200); // Prevent clogging
await delay(250); // Simulate natural user input
};

@@ -88,4 +87,2 @@

for (const input of inputs) {
latestBuffer = "";
await sendInput(input);

@@ -111,3 +108,3 @@ }

inputSequence,
{ log = !!process.env.CI } = {}
{ log = !!process.env.CI || !!process.env.DEBUG } = {}
) => {

@@ -126,3 +123,2 @@ const program =

console.info(chalk.white.bold(`Running program: ${cmd}`));
const logFilePath = `./tmp/test-log.txt`;

@@ -132,4 +128,8 @@

console.info("Track log output:");
console.info(chalk.bold.white(`tail -f ${logFilePath} | sed 's/\\n/\\n/g'`));
console.info(`${chalk.white.bold(
"Running command:"
)} ${cmd}\n${chalk.bold.white(
"Log output:"
)} ${`tail -f ${logFilePath} | sed 's/\\n/\\n/g'`}
`);

@@ -136,0 +136,0 @@ const onStdOut = content => {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc