Недавно я прочитал статья о создании журнала изменений и хотел интегрировать его в скрипт package.json.
Я немного изменил скрипт из статьи с правильным названием проекта и экспортом вывода в CHANGELOG.md
"scripts": {
"generateChangelog": "git log --pretty=format:'<li> <a href=\"http://git.egt-interactive.com/frontend-games/temporary-test-project/commit/%H\">view commit •</a> %s</li> ' --reverse > CHANGELOG.md"
},
Но когда я запускаю его, я получаю следующую ошибку:
< was unexpected at this time. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] generateChangelog: `git log --pretty=format:'<li> <a href = "http://git.egt-interactive.com/frontend-games/temporary-test-project/commit/%H">view commit •</a> %s</li> ' --reverse > CHANGELOG.md` npm ERR! Exit status 1
Я думаю, что это что-то с побегом, но я не могу его найти.
Был бы рад помощи. заранее спасибо
РЕДАКТИРОВАТЬ
Я работаю над Windows и по умолчанию использую Powershell, но я также пытался запустить скрипт npm run generateChangelog с помощью cmd (оба не удались)
Однако, если я запускаю ту же команду git log... непосредственно в оболочке, она работает:
git log --pretty=format:'<li> <a href=\"http://git.egt-interactive.com/frontend-games/temporary-test-project/commit/%H\">view commit •</a> %s</li> ' --reverse > CHANGELOG.md`
@GillesHeinesch впервые копирует его, но я не думаю, что это действительно правильный JSON, или, по крайней мере, мой редактор выделил его красным вот так
Вы пытались использовать мой код из моего комментария?
@GillesHeinesch да, но выдает другое исключение npm ERR! код EJSONPARSE npm ОШИБКА! JSON.parse Не удалось разобрать json



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


I think it's something with the escaping, but I can't find it.
Да, вы правы, это проблема побега.
Измените свой скрипт с именем generateChangelog в разделе scripts вашего пакет.json на следующее:
"scripts": {
"generateChangelog": "git log --pretty=format:\"<li> <a href=\\\"http://git.egt-interactive.com/frontend-games/temporary-test-project/commit/%H\\\">view commit •</a> %s</li> \" --reverse > CHANGELOG.md"
},
Обратите внимание на изменения:
Одинарные кавычки (') были заменены двойными экранированными кавычками JSON (\").
Экранированные двойные кавычки JSON (\") заменены на (\\\")
git log --pretty=format:\"<li> <a href=\\\"http://git.egt-interactive.com/frontend-games/temporary-test-project/commit/%H\\\">view commit •</a> %s</li>\" --reverse > CHANGELOG.md
^^ ^^^^ ^^^^ ^^
Запуск $ npm run generateChangelog теперь должен успешно выполняться через:
Вы пытались использовать это так?
git log --pretty=format:'<li> <a href = "http://git.egt-interactive.com/frontend-games/temporary-test-project/commit/%H">view commit •</a> %s</li> ' --reverse > CHANGELOG.md