Подтвердить что ты не робот

Могу ли я сделать установку npm после определенного формата package.json?

Когда вы устанавливаете пакет npm и используете параметры --save, --save-dev или --save-optional для записи пакета в ваш файл package.json в соответствующем свойстве зависимостей, весь файл, как представляется, перезаписывается с помощью 2- отступы в пространстве:

$ cat package.json
{
    "name": "my-package"
}

$ npm install --save another-package && cat package.json
{
  "name": "my-package",
  "dependencies": {
    "another-package": "~0.1.5"
  }
}

Есть ли способ сделать npm в соответствии с существующим форматом или указать собственный формат (например, 4-пространственный отступ) для файла package.json?

Я не могу найти что-либо в документации параметров npm.

4b9b3361

Ответ 1

После того, как вы выкапываете источник npm, он, к сожалению, кажется, что ответ на мой вопрос определенно "нет". Когда npm install выполняется с одной из опций "сохранить", происходит :

fs.readFile(saveTarget, function (er, data) {
  try {
    data = JSON.parse(data.toString("utf8"))
  } catch (ex) {
    er = ex
  }
  // ...
  data = JSON.stringify(data, null, 2) + "\n"
  fs.writeFile(saveTarget, data, function (er) {
    cb(er, installed, tree, pretty)
  })
})

Важной линией является вызов JSON.stringify. При вызове stringify с третьим аргументом возвращаемый отступ строки форматируется с указанным количеством пробелов.

Поскольку нет способа настроить значение, используемое npm внутри, это поведение в настоящее время не настраивается.