在package-lock.json file出现时使用npm更新中间依赖关系的正确方法是什么?
例如:
npm update grunt-eslint --dev --depth 1
npm update eslint --dev
package-lock.json通过在4.9.0保持eslint(一个中间依赖,在本例中为grunt-eslint)来完成它的工作。我如何更新到eslint@4.10?
我尝试了以下命令,但是npm没有做任何事情:
using (var connection = new TReportEntitiesConnection())
{
var header = connection.THeaders.Include("TReports").SingleOrDefault(f => f.ID == model.ID);
if (header != null)
{
header.THeaderTitle = model.THeaderTitle; //update parent
}
foreach (var existingChild in header.TReports.ToList())
{
if (!model.TReports.Any(c => c.ID == existingChild.ID))
connection.TReport.Remove(existingChild);
}
foreach (var url in model.TReports)
{
var existingChild = header.TReports
.Where(c => c.ID == url.ID)
.SingleOrDefault();
if (existingChild != null)
{ //update child
connection.Entry(existingChild).CurrentValues.SetValues(url);
}
else
{
var newChild = new TReport
{
TReportName = url.name,
URL = url.url,
};
header.TReports.Add(newChild);
}
}
connection.SaveChanges();
}
如果我将eslint添加为顶级依赖项,它会起作用,但我认为这不是正确的方法。
答案 0 :(得分:2)
这显然是一个hacky解决方法,但它的目的是:
npm install eslint --save-dev && npm uninstall eslint --save-dev
如果有更好的方法,我会很乐意接受另一个答案。