关于npm:如何在运行yarn add之后在package.json文件中保留注释

How can you preserve comments in a package.json file after running yarn add

我使用npm和yarn来管理项目的依赖项。 正如这个问题所示:如何为package.json添加注释以进行npm install? 我使用以下格式来在pacakge.json中包含注释。 这是一个示例:

1
2
3
4
5
6
7
8
9
10
"scripts": {
 "////":"LIVE BROWSER RELOAD",
 "serve:patternlab":"BUILD_TO='patternlab' browser-sync start --config browsersync.config.js",
 "serve:site":"browser-sync start --config browsersync.config.js",

 "////":"LINTING COMMANDS",
 "lint:js":"eslint $npm_package_config_src_js --ignore-pattern **/vendor/**/*.js || true",
 "lint:css":"sass-lint $npm_package_config_src_css**/*.scss -v -q || true",
 "lint":"npm-run-all -p lint:js lint:css",
}

这种格式使您可以轻松查看每组脚本的功能。 但是,每当我运行yarn add添加一个新包时,它会删除除最后一个(除了移动到scripts对象顶部)之外的所有注释,并删除换行符。 有什么办法可以避免这种情况发生吗?


这是我能够接近我想要实现的目标。 运行yarn add后会保留以下内容,并为每组脚本添加一些分隔:

1
2
3
4
5
6
7
8
9
10
"scripts": {
   "//LIVE BROWSER RELOAD":"--------------------------------------------------------------------------",
   "serve:patternlab":"BUILD_TO='patternlab' browser-sync start --config browsersync.config.js",
   "serve:site":"browser-sync start --config browsersync.config.js"
    ,
   "//LINTING COMMANDS":"-----------------------------------------------------------------------------",
   "lint:js":"eslint $npm_package_config_src_js --ignore-pattern **/vendor/**/*.js || true",
   "lint:css":"sass-lint $npm_package_config_src_css/**/*.scss -v -q || true",
   "lint":"npm-run-all -p lint:js lint:css"
}